You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2022/05/04 20:55:41 UTC

[ranger] branch ranger-2.3 updated: RANGER-3744: updated Produces annotation in REST APIs to use consistent ordering

This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.3
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.3 by this push:
     new 9f2c94f97 RANGER-3744: updated Produces annotation in REST APIs to use consistent ordering
9f2c94f97 is described below

commit 9f2c94f97a01a90ecfd97e08dced7565cca97392
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Wed May 4 08:51:00 2022 -0700

    RANGER-3744: updated Produces annotation in REST APIs to use consistent ordering
    
    (cherry picked from commit bc65e780f403aa4a2e45fc4937b04ad15f638db4)
---
 .../java/org/apache/ranger/rest/AssetREST.java     |  48 +++---
 .../main/java/org/apache/ranger/rest/UserREST.java |  22 +--
 .../java/org/apache/ranger/rest/XAuditREST.java    |  14 +-
 .../main/java/org/apache/ranger/rest/XKeyREST.java |  10 +-
 .../java/org/apache/ranger/rest/XUserREST.java     | 174 ++++++++++-----------
 5 files changed, 134 insertions(+), 134 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 93e38c28a..d39fb45d1 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -129,7 +129,7 @@ public class AssetREST {
 	
 	@GET
 	@Path("/assets/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_ASSET + "\")")
 	public VXAsset getXAsset(@PathParam("id") Long id) {
 		if(logger.isDebugEnabled()) {
@@ -149,7 +149,7 @@ public class AssetREST {
 
 	@POST
 	@Path("/assets")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_ASSET + "\")")
 	public VXAsset createXAsset(VXAsset vXAsset) {
 		if(logger.isDebugEnabled()) {
@@ -171,7 +171,7 @@ public class AssetREST {
 
 	@PUT
 	@Path("/assets/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_ASSET + "\")")
 	public VXAsset updateXAsset(VXAsset vXAsset) {
 		if(logger.isDebugEnabled()) {
@@ -210,7 +210,7 @@ public class AssetREST {
 
 	@POST
 	@Path("/assets/testConfig")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.TEST_CONFIG + "\")")
 	public VXResponse configTest(VXAsset vXAsset) {
 		if(logger.isDebugEnabled()) {
@@ -230,7 +230,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/assets")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_ASSETS + "\")")
 	public VXAssetList searchXAssets(@Context HttpServletRequest request) {
 		if(logger.isDebugEnabled()) {
@@ -266,7 +266,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/assets/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_ASSETS + "\")")
 	public VXLong countXAssets(@Context HttpServletRequest request) {
 		if(logger.isDebugEnabled()) {
@@ -286,7 +286,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/resources/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXResource getXResource(@PathParam("id") Long id) {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> AssetREST.getXResource(" + id + ")");
@@ -312,7 +312,7 @@ public class AssetREST {
 
 	@POST
 	@Path("/resources")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXResource createXResource(VXResource vXResource) {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> AssetREST.createXResource(" + vXResource + ")");
@@ -334,7 +334,7 @@ public class AssetREST {
 	
 	@PUT
 	@Path("/resources/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXResource updateXResource(VXResource vXResource) {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> AssetREST.updateXResource(" + vXResource + ")");
@@ -373,7 +373,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/resources")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXResourceList searchXResources(@Context HttpServletRequest request) {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> AssetREST.searchXResources()");
@@ -410,7 +410,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/resources/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXLong countXResources(@Context HttpServletRequest request) {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> AssetREST.countXResources()");
@@ -429,14 +429,14 @@ public class AssetREST {
 
 	@GET
 	@Path("/credstores/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXCredentialStore getXCredentialStore(@PathParam("id") Long id) {
 		return assetMgr.getXCredentialStore(id);
 	}
 
 	@POST
 	@Path("/credstores")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXCredentialStore createXCredentialStore(
 			VXCredentialStore vXCredentialStore) {
 		return assetMgr.createXCredentialStore(vXCredentialStore);
@@ -444,7 +444,7 @@ public class AssetREST {
 
 	@PUT
 	@Path("/credstores")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXCredentialStore updateXCredentialStore(
 			VXCredentialStore vXCredentialStore) {
 		return assetMgr.updateXCredentialStore(vXCredentialStore);
@@ -462,7 +462,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/credstores")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXCredentialStoreList searchXCredentialStores(
 			@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -472,7 +472,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/credstores/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXLong countXCredentialStores(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
 				request, xCredentialStoreService.sortFields);
@@ -551,7 +551,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/exportAudit")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_POLICY_EXPORT_AUDITS + "\")")
 	public VXPolicyExportAuditList searchXPolicyExportAudits(
 			@Context HttpServletRequest request) {
@@ -582,7 +582,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/report")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_REPORT_LOGS + "\")")
 	public VXTrxLogList getReportLogs(@Context HttpServletRequest request){
 
@@ -604,7 +604,7 @@ public class AssetREST {
 	
 	@GET
 	@Path("/report/{transactionId}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_TRANSACTION_REPORT + "\")")
 	public VXTrxLogList getTransactionReport(@Context HttpServletRequest request,
 			@PathParam("transactionId") String transactionId){
@@ -613,7 +613,7 @@ public class AssetREST {
 	
 	@GET
 	@Path("/accessAudit")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_ACCESS_LOGS + "\")")
 	public VXAccessAuditList getAccessLogs(@Context HttpServletRequest request){
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -674,7 +674,7 @@ public class AssetREST {
 	
 	@POST
 	@Path("/resources/grant")
-	@Produces({ "application/xml", "application/json" })	
+	@Produces({ "application/json", "application/xml" })
 	public VXPolicy grantPermission(@Context HttpServletRequest request,VXPolicy vXPolicy) {
 		
 		RESTResponse ret = null;
@@ -709,7 +709,7 @@ public class AssetREST {
 	
 	@POST
 	@Path("/resources/revoke")
-	@Produces({ "application/xml", "application/json" })	
+	@Produces({ "application/json", "application/xml" })
 	public VXPolicy revokePermission(@Context HttpServletRequest request,VXPolicy vXPolicy) {
 		
 		RESTResponse ret = null;
@@ -742,7 +742,7 @@ public class AssetREST {
 
 	@GET
 	@Path("/ugsyncAudits")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_UGSYNC_AUDITS + "\")")
 	public VXUgsyncAuditInfoList getUgsyncAudits(@Context HttpServletRequest request){
 
@@ -769,7 +769,7 @@ public class AssetREST {
 	@GET
 	@Path("/ugsyncAudits/{syncSource}")
 	@Encoded
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_UGSYNC_AUDITS_BY_SYNCSOURCE + "\")")
 	public VXUgsyncAuditInfoList getUgsyncAuditsBySyncSource(@PathParam("syncSource") String syncSource){
 		VXUgsyncAuditInfoList vxUgsyncAuditInfoList = new VXUgsyncAuditInfoList();
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
index 5deb85da2..50afd1f39 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
@@ -115,7 +115,7 @@ public class UserREST {
 	 * @return
 	 */
 	@GET
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_USERS + "\")")
 	public VXPortalUserList searchUsers(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -162,7 +162,7 @@ public class UserREST {
 	 */
 	@GET
 	@Path("{userId}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_USER_PROFILE_FOR_USER + "\")")
 	public VXPortalUser getUserProfileForUser(@PathParam("userId") Long userId) {
 		try {
@@ -184,7 +184,7 @@ public class UserREST {
 
 	@POST
 	@Consumes({ "application/json", "application/xml" })
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE + "\")")
 	public VXPortalUser create(VXPortalUser userProfile,
 			@Context HttpServletRequest servletRequest) {
@@ -197,7 +197,7 @@ public class UserREST {
 	@POST
 	@Path("/default")
 	@Consumes({ "application/json", "application/xml" })
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_DEFAULT_ACCOUNT_USER + "\")")
 	public VXPortalUser createDefaultAccountUser(VXPortalUser userProfile,
 			@Context HttpServletRequest servletRequest) {
@@ -213,7 +213,7 @@ public class UserREST {
 
 	@PUT
 	@Consumes({ "application/json", "application/xml" })
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@RangerAnnotationRestAPI(updates_classes = "VUserProfile")
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE + "\")")
 	public VXPortalUser update(VXPortalUser userProfile,
@@ -236,7 +236,7 @@ public class UserREST {
 
 	@PUT
 	@Path("/{userId}/roles")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SET_USER_ROLES + "\")")
 	public VXResponse setUserRoles(@PathParam("userId") Long userId,
 			VXStringList roleList) {
@@ -255,7 +255,7 @@ public class UserREST {
 	 */
 	@POST
 	@Path("{userId}/deactivate")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.DEACTIVATE_USER + "\")")
 	@RangerAnnotationClassName(class_name = VXPortalUser.class)
 	public VXPortalUser deactivateUser(@PathParam("userId") Long userId) {
@@ -276,7 +276,7 @@ public class UserREST {
 	 */
 	@GET
 	@Path("/profile")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXPortalUser getUserProfile(@Context HttpServletRequest request) {
 		try {
 			logger.debug("getUserProfile(). httpSessionId="
@@ -297,7 +297,7 @@ public class UserREST {
 
 	@GET
 	@Path("/firstnames")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public String suggestUserFirstName(@QueryParam("letters") String letters,
 			@Context HttpServletRequest req) {
 		return null;
@@ -310,7 +310,7 @@ public class UserREST {
 	 */
 	@POST
 	@Path("{userId}/passwordchange")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXResponse changePassword(@PathParam("userId") Long userId,
 			VXPasswordChange changePassword) {
 		if(changePassword==null || stringUtil.isEmpty(changePassword.getLoginId())){
@@ -338,7 +338,7 @@ public class UserREST {
 	 */
 	@POST
 	@Path("{userId}/emailchange")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXPortalUser changeEmailAddress(@PathParam("userId") Long userId,
 			VXPasswordChange changeEmail) {
 		if(changeEmail==null || stringUtil.isEmpty(changeEmail.getLoginId())){
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/XAuditREST.java b/security-admin/src/main/java/org/apache/ranger/rest/XAuditREST.java
index c4630a1bc..f8dfef029 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/XAuditREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/XAuditREST.java
@@ -69,7 +69,7 @@ public class XAuditREST {
 	// Handle XTrxLog
 	@GET
 	@Path("/trx_log/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_TRX_LOG + "\")")
 	public VXTrxLog getXTrxLog(
 			@PathParam("id") Long id) {
@@ -78,7 +78,7 @@ public class XAuditREST {
 
 	@POST
 	@Path("/trx_log")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_TRX_LOG + "\")")
 	public VXTrxLog createXTrxLog(VXTrxLog vXTrxLog) {
 		 return xAuditMgr.createXTrxLog(vXTrxLog);
@@ -86,7 +86,7 @@ public class XAuditREST {
 
 	@PUT
 	@Path("/trx_log")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_TRX_LOG + "\")")
 	public VXTrxLog updateXTrxLog(VXTrxLog vXTrxLog) {
 		 return xAuditMgr.updateXTrxLog(vXTrxLog);
@@ -110,7 +110,7 @@ public class XAuditREST {
 	 */
 	@GET
 	@Path("/trx_log")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_TRX_LOG + "\")")
 	public VXTrxLogList searchXTrxLogs(@Context HttpServletRequest request) {
 		 SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -120,7 +120,7 @@ public class XAuditREST {
 
 	@GET
 	@Path("/trx_log/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_TRX_LOGS + "\")")
 	public VXLong countXTrxLogs(@Context HttpServletRequest request) {
 		 SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -138,7 +138,7 @@ public class XAuditREST {
 	 */
 	@GET
 	@Path("/access_audit")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_ACCESS_AUDITS + "\")")
 	public VXAccessAuditList searchXAccessAudits(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(request, xAccessAuditService.sortFields);
@@ -147,7 +147,7 @@ public class XAuditREST {
 
 	@GET
 	@Path("/access_audit/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_ACCESS_AUDITS + "\")")
 	public VXLong countXAccessAudits(@Context HttpServletRequest request) {
 		 SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/XKeyREST.java b/security-admin/src/main/java/org/apache/ranger/rest/XKeyREST.java
index 0b77164bb..ad3e21e95 100755
--- a/security-admin/src/main/java/org/apache/ranger/rest/XKeyREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/XKeyREST.java
@@ -78,7 +78,7 @@ public class XKeyREST {
 	 */
 	@GET
 	@Path("/keys")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_KEYS + "\")")
 	public VXKmsKeyList searchKeys(@Context HttpServletRequest request, @QueryParam("provider") String provider) {
 		VXKmsKeyList vxKmsKeyList = new VXKmsKeyList();
@@ -97,7 +97,7 @@ public class XKeyREST {
 	 */
 	@PUT
 	@Path("/key")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.ROLLOVER_KEYS + "\")")
 	public VXKmsKey rolloverKey(@QueryParam("provider") String provider, VXKmsKey vXKey) {
 		VXKmsKey vxKmsKey = new VXKmsKey();
@@ -124,7 +124,7 @@ public class XKeyREST {
 	 */
 	@DELETE
 	@Path("/key/{alias}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.DELETE_KEY + "\")")
 	public void deleteKey(@PathParam("alias") String name, @QueryParam("provider") String provider, @Context HttpServletRequest request) {
 		try{
@@ -145,7 +145,7 @@ public class XKeyREST {
 	 */
 	@POST
 	@Path("/key")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_KEY + "\")")
 	public VXKmsKey createKey(@QueryParam("provider") String provider, VXKmsKey vXKey) {
 		VXKmsKey vxKmsKey = new VXKmsKey();
@@ -173,7 +173,7 @@ public class XKeyREST {
 	 */
 	@GET
 	@Path("/key/{alias}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_KEY + "\")")
 	public VXKmsKey getKey(@PathParam("alias") String name,@QueryParam("provider") String provider){
 		VXKmsKey vxKmsKey = new VXKmsKey();
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
index 7765e047c..efb74ce1c 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
@@ -167,7 +167,7 @@ public class XUserREST {
 	// Handle XGroup
 	@GET
 	@Path("/groups/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP + "\")")
 	public VXGroup getXGroup(@PathParam("id") Long id) {
 		return xUserMgr.getXGroup(id);
@@ -175,7 +175,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/secure/groups/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SECURE_GET_X_GROUP + "\")")
 	public VXGroup secureGetXGroup(@PathParam("id") Long id) {
 		return xUserMgr.getXGroup(id);
@@ -183,7 +183,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXGroup createXGroup(VXGroup vXGroup) {
 		return xUserMgr.createXGroupWithoutLogin(vXGroup);
@@ -191,7 +191,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/groups/groupinfo")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXGroupUserInfo createXGroupUserFromMap(VXGroupUserInfo vXGroupUserInfo) {
 		return  xUserMgr.createXGroupUserFromMap(vXGroupUserInfo);
@@ -199,7 +199,7 @@ public class XUserREST {
 	
 	@POST
 	@Path("/secure/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXGroup secureCreateXGroup(VXGroup vXGroup) {
 		return xUserMgr.createXGroup(vXGroup);
@@ -207,21 +207,21 @@ public class XUserREST {
 
 	@PUT
 	@Path("/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXGroup updateXGroup(VXGroup vXGroup) {
 		return xUserMgr.updateXGroup(vXGroup);
 	}
 
 	@PUT
 	@Path("/secure/groups/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXGroup secureUpdateXGroup(VXGroup vXGroup) {
 		return xUserMgr.updateXGroup(vXGroup);
 	}
 
 	@PUT
 	@Path("/secure/groups/visibility")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.MODIFY_GROUPS_VISIBILITY + "\")")
 	public void modifyGroupsVisibility(HashMap<Long, Integer> groupVisibilityMap){
 		 xUserMgr.modifyGroupsVisibility(groupVisibilityMap);
@@ -249,7 +249,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_GROUPS + "\")")
 	public VXGroupList searchXGroups(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -263,7 +263,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/groups/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_GROUPS + "\")")
 	public VXLong countXGroups(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -275,7 +275,7 @@ public class XUserREST {
 	// Handle XUser
 	@GET
 	@Path("/users/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_USER + "\")")
 	public VXUser getXUser(@PathParam("id") Long id) {
 		return xUserMgr.getXUser(id);
@@ -283,7 +283,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/secure/users/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SECURE_GET_X_USER + "\")")
 	public VXUser secureGetXUser(@PathParam("id") Long id) {
 		return xUserMgr.getXUser(id);
@@ -291,7 +291,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXUser createXUser(VXUser vXUser) {
 		return xUserMgr.createXUserWithOutLogin(vXUser);
@@ -299,7 +299,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/users/external")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXUser createExternalUser(VXUser vXUser) {
 		return xUserMgr.createExternalUser(vXUser.getName());
@@ -307,7 +307,7 @@ public class XUserREST {
 	
 	@POST
 	@Path("/users/userinfo")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXUserGroupInfo createXUserGroupFromMap(VXUserGroupInfo vXUserGroupInfo) {
 		return  xUserMgr.createXUserGroupFromMap(vXUserGroupInfo);
@@ -315,7 +315,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/secure/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXUser secureCreateXUser(VXUser vXUser) {
 
@@ -325,7 +325,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXUser updateXUser(VXUser vXUser) {
                 bizUtil.checkUserAccessible(vXUser);
 		return xUserMgr.updateXUser(vXUser);
@@ -333,7 +333,7 @@ public class XUserREST {
 	
 	@PUT
 	@Path("/secure/users/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXUser secureUpdateXUser(VXUser vXUser) {
 
 		bizUtil.checkUserAccessible(vXUser);
@@ -342,7 +342,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/secure/users/visibility")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.MODIFY_USER_VISIBILITY + "\")")
 	public void modifyUserVisibility(HashMap<Long, Integer> visibilityMap){
 		 xUserMgr.modifyUserVisibility(visibilityMap);
@@ -370,7 +370,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_USERS + "\")")
 	public VXUserList searchXUsers(@Context HttpServletRequest request) {
 		String UserRoleParamName = RangerConstants.ROLE_USER;
@@ -427,7 +427,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/lookup/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_USERS_LOOKUP + "\")")
 	public VXStringList getUsersLookup(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -458,7 +458,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/lookup/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_GROUPS_LOOKUP + "\")")
 	public VXStringList getGroupsLookup(@Context HttpServletRequest request) {
 		VXStringList ret = new VXStringList();
@@ -488,7 +488,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/users/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_USERS + "\")")
 	public VXLong countXUsers(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -500,7 +500,7 @@ public class XUserREST {
 	// Handle XGroupUser
 	@GET
 	@Path("/groupusers/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_USER + "\")")
 	public VXGroupUser getXGroupUser(@PathParam("id") Long id) {
 		return xUserMgr.getXGroupUser(id);
@@ -508,7 +508,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/groupusers")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXGroupUser createXGroupUser(VXGroupUser vXGroupUser) {
 		return xUserMgr.createXGroupUser(vXGroupUser);
@@ -516,7 +516,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/groupusers")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXGroupUser updateXGroupUser(VXGroupUser vXGroupUser) {
 		return xUserMgr.updateXGroupUser(vXGroupUser);
 	}
@@ -539,7 +539,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/groupusers")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_GROUP_USERS + "\")")
 	public VXGroupUserList searchXGroupUsers(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -555,7 +555,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/groupusers/groupName/{groupName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_USERS_BY_GROUP_NAME + "\")")
 	public VXGroupUserInfo getXGroupUsersByGroupName(@Context HttpServletRequest request,
 			@PathParam("groupName") String groupName) {
@@ -564,7 +564,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/groupusers/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_GROUP_USERS + "\")")
 	public VXLong countXGroupUsers(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -576,7 +576,7 @@ public class XUserREST {
 	// Handle XGroupGroup
 	@GET
 	@Path("/groupgroups/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_GROUP + "\")")
 	public VXGroupGroup getXGroupGroup(@PathParam("id") Long id) {
 		return xUserMgr.getXGroupGroup(id);
@@ -584,14 +584,14 @@ public class XUserREST {
 
 	@POST
 	@Path("/groupgroups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXGroupGroup createXGroupGroup(VXGroupGroup vXGroupGroup) {
 		return xUserMgr.createXGroupGroup(vXGroupGroup);
 	}
 
 	@PUT
 	@Path("/groupgroups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public VXGroupGroup updateXGroupGroup(VXGroupGroup vXGroupGroup) {
 		return xUserMgr.updateXGroupGroup(vXGroupGroup);
 	}
@@ -614,7 +614,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/groupgroups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_GROUP_GROUPS + "\")")
 	public VXGroupGroupList searchXGroupGroups(
 			@Context HttpServletRequest request) {
@@ -625,7 +625,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/groupgroups/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_GROUP_GROUPS + "\")")
 	public VXLong countXGroupGroups(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -637,7 +637,7 @@ public class XUserREST {
 	// Handle XPermMap
 	@GET
 	@Path("/permmaps/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_PERM_MAP + "\")")
 	public VXPermMap getXPermMap(@PathParam("id") Long id) {
 		VXPermMap permMap = xUserMgr.getXPermMap(id);
@@ -653,7 +653,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/permmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_PERM_MAP + "\")")
 	public VXPermMap createXPermMap(VXPermMap vXPermMap) {
 
@@ -668,7 +668,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/permmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_PERM_MAP + "\")")
 	public VXPermMap updateXPermMap(VXPermMap vXPermMap) {
 		VXPermMap vXPermMapRet = null;
@@ -702,7 +702,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/permmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_PERM_MAPS + "\")")
 	public VXPermMapList searchXPermMaps(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -712,7 +712,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permmaps/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_PERM_MAPS + "\")")
 	public VXLong countXPermMaps(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -724,7 +724,7 @@ public class XUserREST {
 	// Handle XAuditMap
 	@GET
 	@Path("/auditmaps/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_AUDIT_MAP + "\")")
 	public VXAuditMap getXAuditMap(@PathParam("id") Long id) {
 		VXAuditMap vXAuditMap = xUserMgr.getXAuditMap(id);
@@ -740,7 +740,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/auditmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_AUDIT_MAP + "\")")
 	public VXAuditMap createXAuditMap(VXAuditMap vXAuditMap) {
 
@@ -755,7 +755,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/auditmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_AUDIT_MAP + "\")")
 	public VXAuditMap updateXAuditMap(VXAuditMap vXAuditMap) {
 		VXAuditMap vXAuditMapRet = null;
@@ -789,7 +789,7 @@ public class XUserREST {
 	 */
 	@GET
 	@Path("/auditmaps")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_AUDIT_MAPS + "\")")
 	public VXAuditMapList searchXAuditMaps(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -799,7 +799,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/auditmaps/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_AUDIT_MAPS + "\")")
 	public VXLong countXAuditMaps(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -811,7 +811,7 @@ public class XUserREST {
 	// Handle XUser
 	@GET
 	@Path("/users/userName/{userName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_USER_BY_USER_NAME + "\")")
 	public VXUser getXUserByUserName(@Context HttpServletRequest request,
 			@PathParam("userName") String userName) {
@@ -820,7 +820,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/groups/groupName/{groupName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_BY_GROUP_NAME + "\")")
 	public VXGroup getXGroupByGroupName(@Context HttpServletRequest request,
 			@PathParam("groupName") String groupName) {
@@ -867,7 +867,7 @@ public class XUserREST {
 	
 	@GET
 	@Path("/{userId}/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_USER_GROUPS + "\")")
 	public VXGroupList getXUserGroups(@Context HttpServletRequest request,
 			@PathParam("userId") Long id){
@@ -876,7 +876,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/{groupId}/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_USERS + "\")")
 	public VXUserList getXGroupUsers(@Context HttpServletRequest request,
 			@PathParam("groupId") Long id){
@@ -888,7 +888,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/authSessions")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_AUTH_SESSIONS + "\")")
 	public VXAuthSessionList getAuthSessions(@Context HttpServletRequest request){
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -910,7 +910,7 @@ public class XUserREST {
 	
 	@GET
 	@Path("/authSessions/info")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_AUTH_SESSION + "\")")
 	public VXAuthSession getAuthSession(@Context HttpServletRequest request){
 		String authSessionId = request.getParameter("extSessionId");
@@ -920,7 +920,7 @@ public class XUserREST {
 	// Handle module permissions
 	@POST
 	@Path("/permission")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_MODULE_DEF_PERMISSION + "\")")
 	public VXModuleDef createXModuleDefPermission(VXModuleDef vXModuleDef) {
 		xUserMgr.checkAdminAccess();
@@ -930,7 +930,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_MODULE_DEF_PERMISSION + "\")")
 	public VXModuleDef getXModuleDefPermission(@PathParam("id") Long id) {
 		return xUserMgr.getXModuleDefPermission(id);
@@ -938,7 +938,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/permission/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_MODULE_DEF_PERMISSION + "\")")
 	public VXModuleDef updateXModuleDefPermission(VXModuleDef vXModuleDef) {
 		xUserMgr.checkAdminAccess();
@@ -959,7 +959,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_MODULE_DEF + "\")")
 	public VXModuleDefList searchXModuleDef(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -980,7 +980,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permissionlist")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_MODULE_DEF + "\")")
 	public VXModulePermissionList searchXModuleDefList(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -1001,7 +1001,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_MODULE_DEF + "\")")
 	public VXLong countXModuleDef(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -1012,7 +1012,7 @@ public class XUserREST {
 	// Handle user permissions
 	@POST
 	@Path("/permission/user")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_USER_PERMISSION + "\")")
 	public VXUserPermission createXUserPermission(
 			VXUserPermission vXUserPermission) {
@@ -1023,7 +1023,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/user/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_USER_PERMISSION + "\")")
 	public VXUserPermission getXUserPermission(@PathParam("id") Long id) {
 		return xUserMgr.getXUserPermission(id);
@@ -1031,7 +1031,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/permission/user/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_USER_PERMISSION + "\")")
 	public VXUserPermission updateXUserPermission(
 			VXUserPermission vXUserPermission) {
@@ -1052,7 +1052,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/user")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_USER_PERMISSION + "\")")
 	public VXUserPermissionList searchXUserPermission(
 			@Context HttpServletRequest request) {
@@ -1068,7 +1068,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/user/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_USER_PERMISSION + "\")")
 	public VXLong countXUserPermission(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -1079,7 +1079,7 @@ public class XUserREST {
 	// Handle group permissions
 	@POST
 	@Path("/permission/group")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.CREATE_X_GROUP_PERMISSION + "\")")
 	public VXGroupPermission createXGroupPermission(
 			VXGroupPermission vXGroupPermission) {
@@ -1090,7 +1090,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/group/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_X_GROUP_PERMISSION + "\")")
 	public VXGroupPermission getXGroupPermission(@PathParam("id") Long id) {
 		return xUserMgr.getXGroupPermission(id);
@@ -1098,7 +1098,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/permission/group/{id}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.UPDATE_X_GROUP_PERMISSION + "\")")
 	public VXGroupPermission updateXGroupPermission(
 			VXGroupPermission vXGroupPermission) {
@@ -1120,7 +1120,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/group")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_X_GROUP_PERMISSION + "\")")
 	public VXGroupPermissionList searchXGroupPermission(
 			@Context HttpServletRequest request) {
@@ -1135,7 +1135,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/permission/group/count")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.COUNT_X_GROUP_PERMISSION + "\")")
 	public VXLong countXGroupPermission(@Context HttpServletRequest request) {
 		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
@@ -1145,7 +1145,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/secure/users/activestatus")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.MODIFY_USER_ACTIVE_STATUS + "\")")
 	public void modifyUserActiveStatus(HashMap<Long, Integer> statusMap){
 		 xUserMgr.modifyUserActiveStatus(statusMap);
@@ -1153,7 +1153,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/secure/users/roles/{userId}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SET_USER_ROLES_BY_ID + "\")")
 	public VXStringList setUserRolesByExternalID(@PathParam("userId") Long userId,
 			VXStringList roleList) {
@@ -1162,7 +1162,7 @@ public class XUserREST {
 
 	@PUT
 	@Path("/secure/users/roles/userName/{userName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SET_USER_ROLES_BY_NAME + "\")")
 	public VXStringList setUserRolesByName(@PathParam("userName") String userName,
 			VXStringList roleList) {
@@ -1171,7 +1171,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/secure/users/external/{userId}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_USER_ROLES_BY_ID + "\")")
 	public VXStringList getUserRolesByExternalID(@PathParam("userId") Long userId) {
 		VXStringList vXStringList=new VXStringList();
@@ -1181,7 +1181,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/secure/users/roles/userName/{userName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_USER_ROLES_BY_NAME + "\")")
 	public VXStringList getUserRolesByName(@PathParam("userName") String userName) {
 		VXStringList vXStringList=new VXStringList();
@@ -1192,7 +1192,7 @@ public class XUserREST {
 
 	@DELETE
 	@Path("/secure/users/delete")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public void deleteUsersByUserName(@Context HttpServletRequest request,VXStringList userList){
 		String forceDeleteStr = request.getParameter("forceDelete");
@@ -1213,7 +1213,7 @@ public class XUserREST {
 
 	@DELETE
 	@Path("/secure/groups/delete")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public void deleteGroupsByGroupName(
 			@Context HttpServletRequest request,VXStringList groupList) {
@@ -1234,7 +1234,7 @@ public class XUserREST {
 
         @DELETE
         @Path("/secure/users/{userName}")
-        @Produces({ "application/xml", "application/json" })
+        @Produces({ "application/json", "application/xml" })
         @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
         public void deleteSingleUserByUserName(@Context HttpServletRequest request, @PathParam("userName") String userName) {
                 String forceDeleteStr = request.getParameter("forceDelete");
@@ -1251,7 +1251,7 @@ public class XUserREST {
 
         @DELETE
         @Path("/secure/groups/{groupName}")
-        @Produces({ "application/xml", "application/json" })
+        @Produces({ "application/json", "application/xml" })
         @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
         public void deleteSingleGroupByGroupName(@Context HttpServletRequest request, @PathParam("groupName") String groupName) {
                 String forceDeleteStr = request.getParameter("forceDelete");
@@ -1267,7 +1267,7 @@ public class XUserREST {
 
         @DELETE
         @Path("/secure/users/id/{userId}")
-        @Produces({ "application/xml", "application/json" })
+        @Produces({ "application/json", "application/xml" })
         @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
         public void deleteSingleUserByUserId(@Context HttpServletRequest request, @PathParam("userId") Long userId) {
                 String forceDeleteStr = request.getParameter("forceDelete");
@@ -1282,7 +1282,7 @@ public class XUserREST {
 
         @DELETE
         @Path("/secure/groups/id/{groupId}")
-        @Produces({ "application/xml", "application/json" })
+        @Produces({ "application/json", "application/xml" })
         @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
         public void deleteSingleGroupByGroupId(@Context HttpServletRequest request, @PathParam("groupId") Long groupId) {
                 String forceDeleteStr = request.getParameter("forceDelete");
@@ -1297,7 +1297,7 @@ public class XUserREST {
 
     @GET
     @Path("/download/{serviceName}")
-    @Produces({ "application/xml", "application/json" })
+    @Produces({ "application/json", "application/xml" })
     public RangerUserStore getRangerUserStoreIfUpdated(@PathParam("serviceName") String serviceName,
 													   @DefaultValue("-1") @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
                                                        @DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@@ -1371,7 +1371,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/secure/download/{serviceName}")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	public RangerUserStore getSecureRangerUserStoreIfUpdated(@PathParam("serviceName") String serviceName,
 															 @DefaultValue("-1") @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
 															 @DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@@ -1455,7 +1455,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/auditinfo")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public VXUgsyncAuditInfo postUserGroupAuditInfo(VXUgsyncAuditInfo vxUgsyncAuditInfo) {
 
@@ -1464,7 +1464,7 @@ public class XUserREST {
 
 	@GET
 	@Path("/ugsync/groupusers")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public Map<String, Set<String>> getAllGroupUsers() {
 		return rangerDaoManager.getXXGroupUser().findUsersByGroupIds();
@@ -1472,7 +1472,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/users")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	@Transactional(readOnly = false, propagation = Propagation.NOT_SUPPORTED)
 	public String addOrUpdateUsers(VXUserList users) {
@@ -1482,7 +1482,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/groups")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public int addOrUpdateGroups(VXGroupList groups) {
 		int ret = xUserMgr.createOrUpdateXGroups(groups);
@@ -1491,7 +1491,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/groupusers")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public int addOrUpdateGroupUsersList(List<GroupUserInfo> groupUserInfoList) {
 		return xUserMgr.createOrDeleteXGroupUserList(groupUserInfoList);
@@ -1499,7 +1499,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/users/roleassignments")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public List<String> setXUserRolesByName(UsersGroupRoleAssignments ugRoleAssignments) {
 		return xUserMgr.updateUserRoleAssignments(ugRoleAssignments);
@@ -1507,7 +1507,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/groups/visibility")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public int updateDeletedGroups(Set<String> deletedGroups){
 		return xUserMgr.updateDeletedGroups(deletedGroups);
@@ -1515,7 +1515,7 @@ public class XUserREST {
 
 	@POST
 	@Path("/ugsync/users/visibility")
-	@Produces({ "application/xml", "application/json" })
+	@Produces({ "application/json", "application/xml" })
 	@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
 	public int updateDeletedUsers(Set<String> deletedUsers){
 		return xUserMgr.updateDeletedUsers(deletedUsers);