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 2024/07/12 15:06:18 UTC

(ranger) branch ranger-2.5 updated: RANGER-4225: replaced org.codehaus.jackson with com.fasterxml.jackson

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

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


The following commit(s) were added to refs/heads/ranger-2.5 by this push:
     new 219dc9478 RANGER-4225: replaced org.codehaus.jackson with com.fasterxml.jackson
219dc9478 is described below

commit 219dc9478ab077e31252aa208d6552d85cc8afec
Author: Sercan Tekin <st...@hpe.com>
AuthorDate: Wed Jul 10 14:59:50 2024 -0700

    RANGER-4225: replaced org.codehaus.jackson with com.fasterxml.jackson
    
    (cherry picked from commit 7b922dfd4127077e4ca988d3e6ec9c693b1925da)
---
 agents-common/pom.xml                              | 19 +++----
 .../ranger/admin/client/RangerAdminRESTClient.java | 49 ++++++------------
 .../admin/client/datatype/GrantRevokeData.java     | 12 ++---
 .../ranger/admin/client/datatype/RESTResponse.java | 12 ++---
 .../plugin/contextenricher/RangerTagForEval.java   | 10 ++--
 .../contextenricher/RangerUserStoreRefresher.java  |  3 +-
 .../apache/ranger/plugin/model/AuditFilter.java    | 10 ++--
 .../org/apache/ranger/plugin/model/GroupInfo.java  |  8 +--
 .../ranger/plugin/model/RangerBaseModelObject.java | 10 ++--
 .../apache/ranger/plugin/model/RangerMetrics.java  | 10 ++--
 .../ranger/plugin/model/RangerPluginInfo.java      | 12 +++--
 .../apache/ranger/plugin/model/RangerPolicy.java   | 26 +++++-----
 .../ranger/plugin/model/RangerPolicyDelta.java     | 12 ++---
 .../ranger/plugin/model/RangerPrincipal.java       |  8 +--
 .../org/apache/ranger/plugin/model/RangerRole.java | 10 ++--
 .../ranger/plugin/model/RangerSecurityZone.java    | 12 ++---
 .../plugin/model/RangerSecurityZoneHeaderInfo.java |  8 +--
 .../ranger/plugin/model/RangerSecurityZoneV2.java  | 16 +++---
 .../apache/ranger/plugin/model/RangerService.java  | 10 ++--
 .../ranger/plugin/model/RangerServiceDef.java      | 30 +++++------
 .../plugin/model/RangerServiceHeaderInfo.java      |  8 +--
 .../ranger/plugin/model/RangerServiceResource.java |  8 +--
 .../model/RangerServiceResourceWithTags.java       |  8 +--
 .../ranger/plugin/model/RangerServiceTags.java     | 10 ++--
 .../org/apache/ranger/plugin/model/RangerTag.java  |  8 +--
 .../apache/ranger/plugin/model/RangerTagDef.java   | 10 ++--
 .../ranger/plugin/model/RangerTagResourceMap.java  |  8 +--
 .../plugin/model/RangerValidityRecurrence.java     | 12 ++---
 .../plugin/model/RangerValiditySchedule.java       | 10 ++--
 .../ranger/plugin/model/ServiceDeleteResponse.java | 10 ++--
 .../org/apache/ranger/plugin/model/UserInfo.java   |  8 +--
 .../plugin/policyengine/RangerResourceACLs.java    | 12 ++---
 .../plugin/service/ResourceLookupContext.java      | 10 ++--
 .../ranger/plugin/store/StoredServiceResource.java |  8 +--
 .../ranger/plugin/util/GrantRevokeRequest.java     | 10 ++--
 .../ranger/plugin/util/GrantRevokeRoleRequest.java | 10 ++--
 .../org/apache/ranger/plugin/util/JsonUtilsV2.java | 35 ++++++++++++-
 .../ranger/plugin/util/RangerPurgeResult.java      |  8 +--
 .../ranger/plugin/util/RangerRESTClient.java       |  2 +-
 .../plugin/util/RangerRequestedResources.java      |  8 +--
 .../org/apache/ranger/plugin/util/RangerRoles.java |  8 +--
 .../apache/ranger/plugin/util/RangerUserStore.java |  8 +--
 .../apache/ranger/plugin/util/ServicePolicies.java | 18 +++----
 .../org/apache/ranger/plugin/util/ServiceTags.java | 12 ++---
 distro/src/main/assembly/admin-web.xml             |  4 +-
 distro/src/main/assembly/hbase-agent.xml           |  2 +-
 distro/src/main/assembly/kms.xml                   | 16 +++---
 distro/src/main/assembly/knox-agent.xml            |  5 +-
 distro/src/main/assembly/plugin-atlas.xml          |  8 +--
 distro/src/main/assembly/plugin-elasticsearch.xml  |  8 +--
 distro/src/main/assembly/plugin-kafka.xml          |  8 +--
 distro/src/main/assembly/plugin-ozone.xml          | 10 ++--
 distro/src/main/assembly/plugin-presto.xml         |  8 +--
 distro/src/main/assembly/plugin-solr.xml           |  8 +--
 distro/src/main/assembly/plugin-trino.xml          |  8 +--
 distro/src/main/assembly/ranger-tools.xml          |  8 +--
 distro/src/main/assembly/sample-client.xml         |  8 +--
 distro/src/main/assembly/storm-agent.xml           |  6 +--
 distro/src/main/assembly/tagsync.xml               |  3 --
 distro/src/main/assembly/usersync.xml              |  4 --
 hive-agent/pom.xml                                 |  1 -
 .../main/java/org/apache/ranger/RangerClient.java  | 58 ++++++++++++++-------
 .../java/org/apache/ranger/TestRangerClient.java   | 60 ++++++++++++++++------
 kms/pom.xml                                        | 35 ++++++++-----
 .../apache/hadoop/crypto/key/RangerKeyStore.java   |  4 +-
 .../apache/ranger/common/RangerJsonProvider.java   | 38 ++++++++------
 .../admin/client/RangerAdminJersey2RESTClient.java |  4 +-
 .../ranger/services/knox/client/KnoxClient.java    | 10 ++--
 plugin-kafka/pom.xml                               |  5 ++
 .../client/json/model/KMSSchedulerResponse.java    | 16 +++---
 plugin-nifi-registry/pom.xml                       |  5 ++
 .../nifi/registry/client/NiFiRegistryClient.java   |  4 +-
 plugin-nifi/pom.xml                                |  5 ++
 .../ranger/services/nifi/client/NiFiClient.java    |  4 +-
 plugin-ozone/pom.xml                               | 10 ++--
 plugin-schema-registry/pom.xml                     |  1 -
 plugin-sqoop/pom.xml                               |  4 ++
 plugin-yarn/pom.xml                                |  5 ++
 .../client/json/model/YarnSchedulerResponse.java   | 25 ++++-----
 pom.xml                                            | 50 ++++++++++++++++--
 .../distro/src/main/assembly/plugin-sampleapp.xml  |  8 +--
 .../distro/src/main/assembly/sample-client.xml     |  8 +--
 ranger-examples/plugin-sampleapp/pom.xml           | 18 +++----
 ranger-sqoop-plugin-shim/pom.xml                   |  4 ++
 security-admin/pom.xml                             | 37 ++++++-------
 .../main/java/org/apache/ranger/biz/AssetMgr.java  |  8 +--
 .../java/org/apache/ranger/biz/ServiceDBStore.java |  3 +-
 .../java/org/apache/ranger/common/JSONUtil.java    |  7 +--
 .../common/RangerJsonMappingExceptionMapper.java   |  2 +-
 .../common/RangerJsonParserExceptionMapper.java    |  2 +-
 ...xceptionMapper.java => RangerJsonProvider.java} | 38 ++++++++------
 .../apache/ranger/common/view/ViewBaseBean.java    |  2 +-
 .../org/apache/ranger/json/JsonDateSerializer.java |  8 +--
 .../main/java/org/apache/ranger/rest/XKeyREST.java | 16 +++---
 .../org/apache/ranger/service/XAssetService.java   |  2 +-
 .../apache/ranger/view/RangerExportPolicyList.java |  8 +--
 .../apache/ranger/view/RangerExportRoleList.java   |  8 +--
 .../apache/ranger/view/RangerPluginInfoList.java   |  8 +--
 .../org/apache/ranger/view/RangerPolicyList.java   |  8 +--
 .../org/apache/ranger/view/RangerRoleList.java     |  8 +--
 .../apache/ranger/view/RangerSecurityZoneList.java |  8 +--
 .../apache/ranger/view/RangerServiceDefList.java   |  8 +--
 .../org/apache/ranger/view/RangerServiceList.java  |  8 +--
 .../view/RangerServiceResourceWithTagsList.java    |  8 +--
 .../java/org/apache/ranger/view/VXAccessAudit.java | 11 ++--
 .../org/apache/ranger/view/VXAccessAuditList.java  | 11 ++--
 .../main/java/org/apache/ranger/view/VXAsset.java  | 10 ++--
 .../java/org/apache/ranger/view/VXAssetList.java   | 11 ++--
 .../java/org/apache/ranger/view/VXAuditMap.java    | 10 ++--
 .../org/apache/ranger/view/VXAuditMapList.java     | 11 ++--
 .../java/org/apache/ranger/view/VXAuditRecord.java |  8 +--
 .../org/apache/ranger/view/VXAuditRecordList.java  | 11 ++--
 .../java/org/apache/ranger/view/VXAuthSession.java | 11 ++--
 .../org/apache/ranger/view/VXAuthSessionList.java  | 11 ++--
 .../org/apache/ranger/view/VXCredentialStore.java  | 10 ++--
 .../apache/ranger/view/VXCredentialStoreList.java  | 11 ++--
 .../java/org/apache/ranger/view/VXDataObject.java  | 11 ++--
 .../apache/ranger/view/VXFileSyncSourceInfo.java   | 10 ++--
 .../main/java/org/apache/ranger/view/VXGroup.java  | 10 ++--
 .../java/org/apache/ranger/view/VXGroupGroup.java  | 10 ++--
 .../org/apache/ranger/view/VXGroupGroupList.java   | 11 ++--
 .../java/org/apache/ranger/view/VXGroupList.java   | 11 ++--
 .../org/apache/ranger/view/VXGroupPermission.java  | 10 ++--
 .../apache/ranger/view/VXGroupPermissionList.java  | 11 ++--
 .../java/org/apache/ranger/view/VXGroupUser.java   | 10 ++--
 .../org/apache/ranger/view/VXGroupUserInfo.java    | 10 ++--
 .../org/apache/ranger/view/VXGroupUserList.java    | 11 ++--
 .../main/java/org/apache/ranger/view/VXKmsKey.java | 10 ++--
 .../java/org/apache/ranger/view/VXKmsKeyList.java  | 11 ++--
 .../apache/ranger/view/VXLdapSyncSourceInfo.java   | 10 ++--
 .../main/java/org/apache/ranger/view/VXLong.java   | 10 ++--
 .../java/org/apache/ranger/view/VXMessage.java     | 10 ++--
 .../ranger/view/VXMetricAuditDetailsCount.java     |  8 +--
 .../apache/ranger/view/VXMetricPolicyCount.java    |  8 +--
 .../view/VXMetricPolicyWithServiceNameCount.java   |  8 +--
 .../apache/ranger/view/VXMetricServiceCount.java   |  8 +--
 .../ranger/view/VXMetricServiceNameCount.java      |  8 +--
 .../apache/ranger/view/VXMetricUserGroupCount.java |  8 +--
 .../java/org/apache/ranger/view/VXModuleDef.java   | 10 ++--
 .../org/apache/ranger/view/VXModuleDefList.java    | 11 ++--
 .../org/apache/ranger/view/VXModulePermission.java | 10 ++--
 .../apache/ranger/view/VXModulePermissionList.java | 11 ++--
 .../org/apache/ranger/view/VXPasswordChange.java   | 10 ++--
 .../java/org/apache/ranger/view/VXPermMap.java     | 10 ++--
 .../java/org/apache/ranger/view/VXPermMapList.java | 11 ++--
 .../java/org/apache/ranger/view/VXPermObj.java     | 10 ++--
 .../java/org/apache/ranger/view/VXPermObjList.java | 11 ++--
 .../main/java/org/apache/ranger/view/VXPolicy.java | 10 ++--
 .../apache/ranger/view/VXPolicyExportAudit.java    | 11 ++--
 .../ranger/view/VXPolicyExportAuditList.java       | 11 ++--
 .../java/org/apache/ranger/view/VXPolicyLabel.java | 10 ++--
 .../org/apache/ranger/view/VXPolicyLabelList.java  | 17 +++---
 .../java/org/apache/ranger/view/VXPolicyList.java  | 11 ++--
 .../java/org/apache/ranger/view/VXPortalUser.java  | 10 ++--
 .../org/apache/ranger/view/VXPortalUserList.java   | 11 ++--
 .../java/org/apache/ranger/view/VXRepository.java  | 10 ++--
 .../org/apache/ranger/view/VXRepositoryList.java   | 11 ++--
 .../java/org/apache/ranger/view/VXResource.java    | 10 ++--
 .../org/apache/ranger/view/VXResourceList.java     | 11 ++--
 .../java/org/apache/ranger/view/VXResponse.java    | 10 ++--
 .../main/java/org/apache/ranger/view/VXString.java | 10 ++--
 .../java/org/apache/ranger/view/VXStringList.java  | 11 ++--
 .../main/java/org/apache/ranger/view/VXTrxLog.java | 10 ++--
 .../java/org/apache/ranger/view/VXTrxLogList.java  | 11 ++--
 .../java/org/apache/ranger/view/VXTrxLogV2.java    | 19 +++----
 .../org/apache/ranger/view/VXTrxLogV2List.java     | 27 +++++-----
 .../org/apache/ranger/view/VXUgsyncAuditInfo.java  | 11 ++--
 .../apache/ranger/view/VXUgsyncAuditInfoList.java  | 12 +++--
 .../apache/ranger/view/VXUnixSyncSourceInfo.java   | 10 ++--
 .../main/java/org/apache/ranger/view/VXUser.java   | 10 ++--
 .../org/apache/ranger/view/VXUserGroupInfo.java    | 10 ++--
 .../java/org/apache/ranger/view/VXUserList.java    | 11 ++--
 .../org/apache/ranger/view/VXUserPermission.java   | 10 ++--
 .../apache/ranger/view/VXUserPermissionList.java   | 11 ++--
 .../org/apache/ranger/audit/TestAuditQueue.java    | 22 +++++---
 tagsync/pom.xml                                    | 12 ++---
 ugsync-util/pom.xml                                | 12 ++---
 .../model/UsersGroupRoleAssignments.java           | 14 +++--
 ugsync/pom.xml                                     | 35 +++++++------
 .../process/RangerUgSyncRESTClient.java            |  3 +-
 180 files changed, 1161 insertions(+), 916 deletions(-)

diff --git a/agents-common/pom.xml b/agents-common/pom.xml
index 828344c65..8367efb77 100644
--- a/agents-common/pom.xml
+++ b/agents-common/pom.xml
@@ -114,16 +114,12 @@
             <version>${commons.configuration.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>log4j-over-slf4j</artifactId>
-            <version>${slf4j.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
+
+
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-plugins-cred</artifactId>
@@ -159,6 +155,11 @@
             <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
         <!-- To be added for JDK15 and above
         <dependency>
             <groupId>org.graalvm.js</groupId>
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
index 9cd0fd263..cf4404743 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
@@ -20,8 +20,8 @@
  package org.apache.ranger.admin.client;
 
 
+import com.fasterxml.jackson.core.type.TypeReference;
 import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.GenericType;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.AccessControlException;
@@ -39,8 +39,6 @@ import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.core.Cookie;
 import javax.ws.rs.core.NewCookie;
 import java.io.UnsupportedEncodingException;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
 import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.List;
@@ -49,6 +47,8 @@ import java.util.Map;
 public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 	private static final Logger LOG = LoggerFactory.getLogger(RangerAdminRESTClient.class);
 
+	private static final TypeReference<List<String>> TYPE_LIST_STRING = new TypeReference<List<String>>() {};
+
 	private String           serviceName;
     private String           serviceNameUrlParam;
 	private String           pluginId;
@@ -67,25 +67,6 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 	private boolean			 isValidRoleDownloadSessionCookie   = false;
 	private final String	 pluginCapabilities      = Long.toHexString(new RangerPluginCapability().getPluginCapabilities());
 
-	public static <T> GenericType<List<T>> getGenericType(final T clazz) {
-
-		ParameterizedType parameterizedGenericType = new ParameterizedType() {
-			public Type[] getActualTypeArguments() {
-				return new Type[] { clazz.getClass() };
-			}
-
-			public Type getRawType() {
-				return List.class;
-			}
-
-			public Type getOwnerType() {
-				return List.class;
-			}
-		};
-
-		return new GenericType<List<T>>(parameterizedGenericType) {};
-	}
-
 	@Override
 	public void init(String serviceName, String appId, String propertyPrefix, Configuration config) {
 	    super.init(serviceName, appId, propertyPrefix, config);
@@ -222,7 +203,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 		} else if(response == null) {
 			throw new Exception("unknown error during createRole. roleName="  + request.getName());
 		} else {
-			ret = response.getEntity(RangerRole.class);
+			ret = JsonUtilsV2.readResponse(response, RangerRole.class);
 		}
 
 		if(LOG.isDebugEnabled()) {
@@ -327,7 +308,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 
 				throw new Exception("HTTP " + response.getStatus() + " Error: " + resp.getMessage());
 			} else {
-				ret = response.getEntity(getGenericType(emptyString));
+				ret = JsonUtilsV2.readResponse(response, TYPE_LIST_STRING);
 			}
 		} else {
 			throw new Exception("unknown error during getUserRoles. execUser="  + execUser);
@@ -386,7 +367,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 
 				throw new Exception("HTTP " + response.getStatus() + " Error: " + resp.getMessage());
 			} else {
-				ret = response.getEntity(getGenericType(emptyString));
+				ret = JsonUtilsV2.readResponse(response, TYPE_LIST_STRING);
 			}
 		} else {
 			throw new Exception("unknown error during getAllRoles.");
@@ -444,7 +425,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 
 				throw new Exception("HTTP " + response.getStatus() + " Error: " + resp.getMessage());
 			} else {
-				ret = response.getEntity(RangerRole.class);
+				ret = JsonUtilsV2.readResponse(response, RangerRole.class);
 			}
 		} else {
 			throw new Exception("unknown error during getPrincipalsForRole. roleName="  + roleName);
@@ -733,7 +714,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 		}
 
 		if(response != null && response.getStatus() == HttpServletResponse.SC_OK) {
-			ret = response.getEntity(getGenericType(emptyString));
+			ret = JsonUtilsV2.readResponse(response, TYPE_LIST_STRING);
 		} else {
 			RESTResponse resp = RESTResponse.fromClientResponse(response);
 			LOG.error("Error getting tags. response=" + resp + ", serviceName=" + serviceName + ", " + "pattern=" + pattern);
@@ -804,7 +785,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			}
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
-			ret = response.getEntity(RangerUserStore.class);
+			ret = JsonUtilsV2.readResponse(response, RangerUserStore.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			ret = null;
 			LOG.error("Error getting UserStore; service not found. secureMode=" + isSecureMode + ", user=" + user
@@ -855,7 +836,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			setCookieReceivedFromCredSession(response);
-			ret = response.getEntity(ServicePolicies.class);
+			ret = JsonUtilsV2.readResponse(response, ServicePolicies.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			policyDownloadSessionId = null;
 			ret       = null;
@@ -906,7 +887,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			checkAndResetSessionCookie(response);
-			ret = response.getEntity(ServicePolicies.class);
+			ret = JsonUtilsV2.readResponse(response, ServicePolicies.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			policyDownloadSessionId = null;
 			isValidPolicyDownloadSessionCookie = false;
@@ -1036,7 +1017,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			setCookieReceivedFromTagDownloadSession(response);
-			ret = response.getEntity(ServiceTags.class);
+			ret = JsonUtilsV2.readResponse(response, ServiceTags.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			tagDownloadSessionId = null;
 			ret = null;
@@ -1091,7 +1072,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			checkAndResetTagDownloadSessionCookie(response);
-			ret = response.getEntity(ServiceTags.class);
+			ret = JsonUtilsV2.readResponse(response, ServiceTags.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			tagDownloadSessionId = null;
 			isValidTagDownloadSessionCookie = false;
@@ -1218,7 +1199,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			setCookieReceivedFromRoleDownloadSession(response);
-			ret = response.getEntity(RangerRoles.class);
+			ret = JsonUtilsV2.readResponse(response, RangerRoles.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			roleDownloadSessionId = null;
 			ret = null;
@@ -1274,7 +1255,7 @@ public class RangerAdminRESTClient extends AbstractRangerAdminClient {
 			ret = null;
 		} else if (response.getStatus() == HttpServletResponse.SC_OK) {
 			checkAndResetRoleDownloadSessionCookie(response);
-			ret = response.getEntity(RangerRoles.class);
+			ret = JsonUtilsV2.readResponse(response, RangerRoles.class);
 		} else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
 			roleDownloadSessionId = null;
 			isValidRoleDownloadSessionCookie = false;
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/GrantRevokeData.java b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/GrantRevokeData.java
index 4444959fd..6d094e0ce 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/GrantRevokeData.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/GrantRevokeData.java
@@ -23,16 +23,16 @@
 import java.util.List;
 import java.util.ArrayList;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class GrantRevokeData implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -162,7 +162,7 @@ public class GrantRevokeData implements java.io.Serializable {
 	}
 
 	@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-	@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown = true)
 	public static class PermMap implements java.io.Serializable {
 		private List<String> userList  = new ArrayList<>();
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
index 7f38c7a54..574f84f50 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
@@ -20,12 +20,12 @@ package org.apache.ranger.admin.client.datatype;
 
 import java.util.List;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,7 +33,7 @@ import com.sun.jersey.api.client.ClientResponse;
 
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class RESTResponse implements java.io.Serializable {
 	private static final Logger LOG = LoggerFactory.getLogger(RESTResponse.class);
@@ -140,7 +140,7 @@ public class RESTResponse implements java.io.Serializable {
 	}
 
 	@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-	@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown = true)
 	public static class Message implements java.io.Serializable {
 		private String name;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
index 6113020f0..8557a4704 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
@@ -26,10 +26,10 @@ import org.apache.ranger.plugin.model.RangerTag;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import org.apache.ranger.plugin.policyevaluator.RangerValidityScheduleEvaluator;
 import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatcher;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,7 +41,7 @@ import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 
 // This class needs above annotations for policy-engine unit tests involving RangerTagForEval objects that are initialized
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
index a7e8d15f8..5e2629f1c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
@@ -26,6 +26,7 @@ import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.DownloadTrigger;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.RangerRESTClient;
 import org.apache.ranger.plugin.util.RangerUserStore;
 import org.apache.ranger.plugin.util.RangerServiceNotFoundException;
@@ -412,7 +413,7 @@ public class RangerUserStoreRefresher extends Thread {
             }
             ret = null;
         } else if (response.getStatus() == HttpServletResponse.SC_OK) {
-            ret = response.getEntity(RangerUserStore.class);
+            ret = JsonUtilsV2.readResponse(response, RangerUserStore.class);
         } else if (response.getStatus() == HttpServletResponse.SC_NOT_FOUND) {
             ret = null;
             LOG.error("Error getting UserStore; service not found. secureMode=" + isSecureMode + ", user=" + user
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/AuditFilter.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/AuditFilter.java
index 4d6d7a157..f90f0af31 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/AuditFilter.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/AuditFilter.java
@@ -24,13 +24,13 @@ import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import java.util.List;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class AuditFilter {
     public enum AccessResult { DENIED, ALLOWED, NOT_DETERMINED }
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/GroupInfo.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/GroupInfo.java
index 8ee0786fa..e98eff9c8 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/GroupInfo.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/GroupInfo.java
@@ -20,15 +20,15 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.plugin.util.RangerUserStoreUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.HashMap;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class GroupInfo extends RangerBaseModelObject implements java.io.Serializable {
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
index 706bc1bf7..72757d276 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerBaseModelObject.java
@@ -29,13 +29,13 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerBaseModelObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerMetrics.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerMetrics.java
index 9273dadea..3584d6c73 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerMetrics.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerMetrics.java
@@ -21,13 +21,13 @@ package org.apache.ranger.plugin.model;
 
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerMetrics {
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPluginInfo.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPluginInfo.java
index 238a98242..027a9301d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPluginInfo.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPluginInfo.java
@@ -20,10 +20,12 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.commons.lang.StringUtils;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
 
 import java.io.Serializable;
 import java.util.Date;
@@ -31,7 +33,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerPluginInfo implements Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
index 28fd2ca6c..279ff69b4 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicy.java
@@ -29,14 +29,14 @@ import java.util.Map;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerPolicy extends RangerBaseModelObject implements java.io.Serializable {
 	public static final int POLICY_TYPE_ACCESS    = 0;
@@ -712,7 +712,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyResource implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -886,7 +886,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyItem implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1215,7 +1215,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerDataMaskPolicyItem extends RangerPolicyItem implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1300,7 +1300,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerRowFilterPolicyItem extends RangerPolicyItem implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1385,7 +1385,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyItemAccess implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1491,7 +1491,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyItemCondition implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1608,7 +1608,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyItemDataMaskInfo implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1715,7 +1715,7 @@ public class RangerPolicy extends RangerBaseModelObject implements java.io.Seria
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyItemRowFilterInfo implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyDelta.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyDelta.java
index 6eae590c4..ebf4a26ae 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyDelta.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyDelta.java
@@ -19,16 +19,16 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerPolicyDelta implements java.io.Serializable {
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPrincipal.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPrincipal.java
index 226dc4d7c..bf9692259 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPrincipal.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPrincipal.java
@@ -19,9 +19,9 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -29,7 +29,7 @@ import javax.xml.bind.annotation.XmlRootElement;
 import java.util.Objects;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerRole.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerRole.java
index 1643771ed..1fdf9e26c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerRole.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerRole.java
@@ -20,9 +20,9 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.commons.collections.MapUtils;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -31,7 +31,7 @@ import java.util.Map;
 import java.util.Objects;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerRole extends RangerBaseModelObject implements java.io.Serializable {
     public static final String KEY_USER = "user";
@@ -132,7 +132,7 @@ public class RangerRole extends RangerBaseModelObject implements java.io.Seriali
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RoleMember implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZone.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZone.java
index 22bf0d82c..e488c078e 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZone.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZone.java
@@ -21,9 +21,9 @@ package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.plugin.model.RangerPrincipal.PrincipalType;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import org.apache.ranger.plugin.model.RangerSecurityZoneV2.RangerSecurityZoneResourceBase;
 
@@ -33,7 +33,7 @@ import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerSecurityZone extends RangerBaseModelObject implements java.io.Serializable {
     public static final long RANGER_UNZONED_SECURITY_ZONE_ID = 1L;
@@ -147,7 +147,7 @@ public class RangerSecurityZone extends RangerBaseModelObject implements java.io
     }
 
 	@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerSecurityZoneService implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -210,7 +210,7 @@ public class RangerSecurityZone extends RangerBaseModelObject implements java.io
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class SecurityZoneSummary extends RangerBaseModelObject implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneHeaderInfo.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneHeaderInfo.java
index c42b0bedd..a6b06b98a 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneHeaderInfo.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneHeaderInfo.java
@@ -17,12 +17,12 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 public class RangerSecurityZoneHeaderInfo extends RangerBaseModelObject implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
     private String            name;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneV2.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneV2.java
index 329780c15..a85ad92d6 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneV2.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerSecurityZoneV2.java
@@ -19,9 +19,9 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import org.apache.ranger.plugin.model.RangerSecurityZone.RangerSecurityZoneService;
 
@@ -32,7 +32,7 @@ import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerSecurityZoneV2 extends RangerBaseModelObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -161,7 +161,7 @@ public class RangerSecurityZoneV2 extends RangerBaseModelObject implements java.
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RangerSecurityZoneServiceV2 implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -233,7 +233,7 @@ public class RangerSecurityZoneV2 extends RangerBaseModelObject implements java.
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RangerSecurityZoneResourceBase implements java.io.Serializable {
         private Long    id;
@@ -316,7 +316,7 @@ public class RangerSecurityZoneV2 extends RangerBaseModelObject implements java.
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RangerSecurityZoneResource extends RangerSecurityZoneResourceBase implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -365,7 +365,7 @@ public class RangerSecurityZoneV2 extends RangerBaseModelObject implements java.
     }
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RangerSecurityZoneChangeRequest implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
index 0cb58bae0..1699980cb 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerService.java
@@ -24,14 +24,14 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerService extends RangerBaseModelObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
index 18ee3adc3..ec6bc77c5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceDef.java
@@ -28,14 +28,14 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerServiceDef extends RangerBaseModelObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -625,7 +625,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerEnumDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -799,7 +799,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerEnumElementDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -952,7 +952,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerServiceConfigDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1353,7 +1353,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerResourceDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -1943,7 +1943,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerAccessTypeDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -2172,7 +2172,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerPolicyConditionDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -2539,7 +2539,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerContextEnricherDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -2694,7 +2694,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerDataMaskDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -2889,7 +2889,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerDataMaskTypeDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -3148,7 +3148,7 @@ public class RangerServiceDef extends RangerBaseModelObject implements java.io.S
 	}
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RangerRowFilterDef implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceHeaderInfo.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceHeaderInfo.java
index e5b2bf4c2..7303bc746 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceHeaderInfo.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceHeaderInfo.java
@@ -17,14 +17,14 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import static org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_TAG_NAME;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 public class RangerServiceHeaderInfo extends RangerBaseModelObject implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResource.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResource.java
index bc7bc1fb3..cfb496ee5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResource.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResource.java
@@ -20,14 +20,14 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerServiceResource extends RangerBaseModelObject {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResourceWithTags.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResourceWithTags.java
index f3c24d623..ac3d24f75 100755
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResourceWithTags.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceResourceWithTags.java
@@ -21,12 +21,12 @@ package org.apache.ranger.plugin.model;
 
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerServiceResourceWithTags extends RangerServiceResource implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceTags.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceTags.java
index a06945105..59288f7d5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceTags.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerServiceTags.java
@@ -21,10 +21,10 @@ package org.apache.ranger.plugin.model;
 
 
 import org.apache.ranger.plugin.util.ServiceTags;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -33,7 +33,7 @@ import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerServiceTags implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTag.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTag.java
index 3d00b01f0..8001b0914 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTag.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTag.java
@@ -20,15 +20,15 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerTag extends RangerBaseModelObject {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagDef.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagDef.java
index f0f64f023..088d3de18 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagDef.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagDef.java
@@ -20,9 +20,9 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.List;
 import java.util.Map;
@@ -35,7 +35,7 @@ import java.util.Objects;
  *
  */
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerTagDef extends RangerBaseModelObject {
     private static final long serialVersionUID = 1L;
@@ -128,7 +128,7 @@ public class RangerTagDef extends RangerBaseModelObject {
      */
 
     @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RangerTagAttributeDef implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagResourceMap.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagResourceMap.java
index f8bc06833..eed216c24 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagResourceMap.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTagResourceMap.java
@@ -19,12 +19,12 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerTagResourceMap extends RangerBaseModelObject {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValidityRecurrence.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValidityRecurrence.java
index 9d6eae6e8..0f7cb7a22 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValidityRecurrence.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValidityRecurrence.java
@@ -19,19 +19,19 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 
 @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerValidityRecurrence implements Serializable {
 
     @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class ValidityInterval {
         private final int days;
@@ -73,7 +73,7 @@ public class RangerValidityRecurrence implements Serializable {
     }
 
     @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class RecurrenceSchedule {
         static final String PERMITTED_SPECIAL_CHARACTERS = "*,-";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValiditySchedule.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValiditySchedule.java
index a6dfa6526..066692d5f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValiditySchedule.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerValiditySchedule.java
@@ -20,10 +20,10 @@
 package org.apache.ranger.plugin.model;
 
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -31,7 +31,7 @@ import java.util.Arrays;
 import java.util.List;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerValiditySchedule implements Serializable {
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/ServiceDeleteResponse.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/ServiceDeleteResponse.java
index 3f377f6ec..42802e4da 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/ServiceDeleteResponse.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/ServiceDeleteResponse.java
@@ -19,13 +19,13 @@
 
 package org.apache.ranger.plugin.model;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class ServiceDeleteResponse implements java.io.Serializable {
 	/**
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/UserInfo.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/UserInfo.java
index caecb5864..50bcf301a 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/UserInfo.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/UserInfo.java
@@ -20,14 +20,14 @@
 package org.apache.ranger.plugin.model;
 
 import org.apache.ranger.plugin.util.RangerUserStoreUtil;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.*;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class UserInfo extends RangerBaseModelObject implements java.io.Serializable {
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceACLs.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceACLs.java
index 78e438b43..864cb3e19 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceACLs.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceACLs.java
@@ -24,9 +24,9 @@ import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemDataMaskInfo;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemRowFilterInfo;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -263,7 +263,7 @@ public class RangerResourceACLs {
 	}
 
 	@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class AccessResult {
 		private int     result;
@@ -332,7 +332,7 @@ public class RangerResourceACLs {
 	}
 
 	@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class DataMaskResult implements Serializable {
 		private static final long serialVersionUID = 1L;
@@ -447,7 +447,7 @@ public class RangerResourceACLs {
 	}
 
 	@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class RowFilterResult implements Serializable {
 		private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/ResourceLookupContext.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/ResourceLookupContext.java
index 8e6f70b98..82a20eae7 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/ResourceLookupContext.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/ResourceLookupContext.java
@@ -22,13 +22,13 @@ package org.apache.ranger.plugin.service;
 import java.util.List;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class ResourceLookupContext {
 	private String                    userInput;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/StoredServiceResource.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/StoredServiceResource.java
index 778636e37..26a4ec525 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/StoredServiceResource.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/StoredServiceResource.java
@@ -20,14 +20,14 @@
 package org.apache.ranger.plugin.store;
 
 import org.apache.ranger.plugin.model.RangerPolicy;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.Map;
 
 @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class StoredServiceResource implements java.io.Serializable {
     private final Map<String, RangerPolicy.RangerPolicyResource> resourceElements;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRequest.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRequest.java
index 3da215249..948a8c97c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRequest.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRequest.java
@@ -27,14 +27,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class GrantRevokeRequest implements Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRoleRequest.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRoleRequest.java
index 7b842785c..8ba71f46f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRoleRequest.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/GrantRevokeRoleRequest.java
@@ -19,10 +19,10 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.HashSet;
@@ -30,7 +30,7 @@ import java.util.Set;
 
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class GrantRevokeRoleRequest implements Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/JsonUtilsV2.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/JsonUtilsV2.java
index 9a8546b79..1c2581de6 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/JsonUtilsV2.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/JsonUtilsV2.java
@@ -19,10 +19,13 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.sun.jersey.api.client.ClientResponse;
 
+import java.io.Reader;
 import java.io.Serializable;
+import java.io.Writer;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -68,4 +71,32 @@ public class JsonUtilsV2 {
         return getMapper().readValue(json, tClass);
     }
 
+    static public <T> T jsonToObj(String json, TypeReference<T> typeRef) throws Exception {
+        return getMapper().readValue(json, typeRef);
+    }
+
+
+    static public void writeValue(Writer writer, Object obj) throws Exception {
+        getMapper().writeValue(writer, obj);
+    }
+
+    static public <T> T readValue(Reader reader, Class<T> tClass) throws Exception {
+        return getMapper().readValue(reader, tClass);
+    }
+
+    static public String nonSerializableObjToJson(Object obj) throws Exception {
+        return getMapper().writeValueAsString(obj);
+    }
+
+    static public <T> T readResponse(ClientResponse response, Class<T> cls) throws Exception {
+        String jsonStr = response.getEntity(String.class);
+
+        return jsonToObj(jsonStr, cls);
+    }
+
+    static public <T> T readResponse(ClientResponse response, TypeReference<T> cls) throws Exception {
+        String jsonStr = response.getEntity(String.class);
+
+        return jsonToObj(jsonStr, cls);
+    }
 }
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPurgeResult.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPurgeResult.java
index a57e053f4..0b47bbcd2 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPurgeResult.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPurgeResult.java
@@ -19,13 +19,13 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 
 @JsonAutoDetect(getterVisibility= JsonAutoDetect.Visibility.NONE, setterVisibility= JsonAutoDetect.Visibility.NONE, fieldVisibility= JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerPurgeResult {
     private String recordType;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
index 5c8f1f0f0..621d07614 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
@@ -45,13 +45,13 @@ import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 import javax.ws.rs.core.Cookie;
 
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.Validate;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.hadoop.utils.RangerCredentialProvider;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.authorization.utils.StringUtil;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestedResources.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestedResources.java
index f75d04682..94db573f9 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestedResources.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestedResources.java
@@ -22,16 +22,16 @@ package org.apache.ranger.plugin.util;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatcher;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 @JsonAutoDetect(getterVisibility= JsonAutoDetect.Visibility.NONE, setterVisibility= JsonAutoDetect.Visibility.NONE, fieldVisibility= JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY )
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerRequestedResources {
 	private List<RangerAccessResource> requestedResources = new ArrayList<>();
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRoles.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRoles.java
index 2ff4bd098..51d64ba1d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRoles.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRoles.java
@@ -20,16 +20,16 @@
 package org.apache.ranger.plugin.util;
 
 import org.apache.ranger.plugin.model.RangerRole;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Set;
 
 @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerRoles implements Serializable {
     private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
index 486906869..18737fa64 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
@@ -25,9 +25,9 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.model.GroupInfo;
 import org.apache.ranger.plugin.model.UserInfo;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -36,7 +36,7 @@ import java.util.Map;
 import java.util.Set;
 
 @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class RangerUserStore implements Serializable {
     private static final long serialVersionUID = 1L;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
index 0cb1f23c7..51480fae3 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
@@ -35,15 +35,15 @@ import org.apache.ranger.plugin.model.RangerPolicyDelta;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineImpl;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class ServicePolicies implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -58,7 +58,7 @@ public class ServicePolicies implements java.io.Serializable {
 	private String             auditMode = RangerPolicyEngine.AUDIT_DEFAULT;
 	private TagPolicies        tagPolicies;
 	private Map<String, SecurityZoneInfo> securityZones;
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+	@JsonInclude(JsonInclude.Include.NON_NULL)
 	private List<RangerPolicyDelta> policyDeltas;
 	private Map<String, String> serviceConfig;
 
@@ -222,7 +222,7 @@ public class ServicePolicies implements java.io.Serializable {
 	public void setPolicyDeltas(List<RangerPolicyDelta> policyDeltas) { this.policyDeltas = policyDeltas; }
 
 	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class TagPolicies implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
@@ -356,14 +356,14 @@ public class ServicePolicies implements java.io.Serializable {
 	}
 
 	@JsonAutoDetect(fieldVisibility = Visibility.ANY)
-	@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	@JsonIgnoreProperties(ignoreUnknown = true)
 	public static class SecurityZoneInfo implements java.io.Serializable {
 		private static final long serialVersionUID = 1L;
 		private String                          zoneName;
 		private List<HashMap<String, List<String>>> resources;
 		private List<RangerPolicy>              policies;
-		@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+		@JsonInclude(JsonInclude.Include.NON_NULL)
 		private List<RangerPolicyDelta>         policyDeltas;
 		private Boolean                         containsAssociatedTagService;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServiceTags.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServiceTags.java
index 3f981e558..39110357d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServiceTags.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServiceTags.java
@@ -32,14 +32,14 @@ import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.model.RangerServiceResource;
 import org.apache.ranger.plugin.model.RangerTag;
 import org.apache.ranger.plugin.model.RangerTagDef;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class ServiceTags implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/distro/src/main/assembly/admin-web.xml b/distro/src/main/assembly/admin-web.xml
index 6d268536f..974c43702 100644
--- a/distro/src/main/assembly/admin-web.xml
+++ b/distro/src/main/assembly/admin-web.xml
@@ -125,8 +125,8 @@
         <includes>
             <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
             <include>commons-collections:commons-collections:jar:${commons.collections.version}</include>
-            <include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
-            <include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
+            <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+            <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
         </includes>
       </binaries>
     </moduleSet>
diff --git a/distro/src/main/assembly/hbase-agent.xml b/distro/src/main/assembly/hbase-agent.xml
index 52db3e4df..a1ecad08e 100644
--- a/distro/src/main/assembly/hbase-agent.xml
+++ b/distro/src/main/assembly/hbase-agent.xml
@@ -55,7 +55,7 @@
         <includes>
           <include>com.sun.jersey:jersey-client:jar:${jersey-bundle.version}</include>
           <include>com.sun.jersey:jersey-core:jar:${jersey-bundle.version}</include>
-          <include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
+          <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
           <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
           <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
           <include>org.noggit:noggit:jar:${noggit.version}</include>
diff --git a/distro/src/main/assembly/kms.xml b/distro/src/main/assembly/kms.xml
index beeea46ff..43f0ee3f0 100755
--- a/distro/src/main/assembly/kms.xml
+++ b/distro/src/main/assembly/kms.xml
@@ -42,7 +42,6 @@
                     <include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
                     <include>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
                     <include>org.eclipse.persistence:eclipselink</include>
-                    <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
                     <include>org.eclipse.persistence:javax.persistence</include>
                     <include>com.googlecode.log4jdbc:log4jdbc</include>
                     <include>com.codahale.metrics:metrics-core</include>
@@ -88,9 +87,8 @@
                     <include>org.apache.httpcomponents:httpclient:jar:${kms.httpcomponents.httpclient.version}</include>
                     <include>org.noggit:noggit:jar:${noggit.version}</include>
                     <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</include>
-                    <include>com.fasterxml.jackson.core:jackson-core</include>
-                    <include>com.fasterxml.jackson.core:jackson-annotations</include>
-                    <include>com.fasterxml.jackson.core:jackson-databind</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:${fasterxml.jackson.version}</include>
                     <include>org.apache.kerby:kerb-core:jar:${kerby.version}</include>
                     <include>org.apache.kerby:kerb-util:jar:${kerby.version}</include>
                     <include>org.apache.kerby:kerb-crypto:jar:${kerby.version}</include>
@@ -107,7 +105,7 @@
                     <include>com.squareup.retrofit2:retrofit</include>
                     <include>com.squareup.retrofit2:adapter-rxjava</include>
                     <include>com.squareup.okhttp3:okhttp-urlconnection</include>
-                    <include>com.fasterxml.jackson.datatype:jackson-datatype-joda</include>
+                    <include>com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:${fasterxml.jackson.version}</include>
                     <include>joda-time:okhttp-urlconnection</include>
                     <include>joda-time:joda-time</include>
                     <include>com.nimbusds:oauth2-oidc-sdk</include>
@@ -210,6 +208,7 @@
                     <include>org.apache.tomcat.embed:tomcat-embed*</include>
                     <include>org.apache.tomcat:tomcat-annotations-api*</include>
                     <include>org.eclipse.jdt.core.compiler:ecj:jar:P20140317-1600</include>
+                    <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
                     <include>com.google.protobuf:protobuf-java:jar:${gcp.protobuf-java.version}</include>
                     <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</include>
                     <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
@@ -233,10 +232,9 @@
                     <include>ch.qos.logback:logback-core:jar:${logback.version}</include>
                     <include>com.google.code.gson:gson</include>
                     <include>com.sun.jersey:jersey-bundle</include>
-                    <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
                     <include>org.codehaus.woodstox:stax2-api</include>
                     <include>com.fasterxml.woodstox:woodstox-core</include>
                     <include>org.apache.commons:commons-text:jar:${commons.text.version}</include>
diff --git a/distro/src/main/assembly/knox-agent.xml b/distro/src/main/assembly/knox-agent.xml
index 2f53019de..8f88c9970 100644
--- a/distro/src/main/assembly/knox-agent.xml
+++ b/distro/src/main/assembly/knox-agent.xml
@@ -65,8 +65,9 @@
           <include>org.apache.hadoop:hadoop-hdfs:jar:${hadoop.version}</include>
           <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
           <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
-          <include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
-          <include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
           <include>org.apache.solr:solr-solrj:jar:${solr.version}</include>
           <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
           <include>net.java.dev.jna:jna:jar:${jna.version}</include>
diff --git a/distro/src/main/assembly/plugin-atlas.xml b/distro/src/main/assembly/plugin-atlas.xml
index 56da0a4e0..6adc7361c 100644
--- a/distro/src/main/assembly/plugin-atlas.xml
+++ b/distro/src/main/assembly/plugin-atlas.xml
@@ -55,14 +55,14 @@
         <fileMode>644</fileMode>
         <includes>
           <include>com.sun.jersey:jersey-bundle</include>
-          <include>org.codehaus.jackson:jackson-jaxrs</include>
+          <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
           <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
           <include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}</include>
           <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
           <include>org.apache.solr:solr-solrj:jar:${solr.version}</include>
-          <include>org.codehaus.jackson:jackson-core-asl</include>
-          <include>org.codehaus.jackson:jackson-mapper-asl</include>
-          <include>org.codehaus.jackson:jackson-xc</include>
           <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
           <include>net.java.dev.jna:jna:jar:${jna.version}</include>
           <include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
diff --git a/distro/src/main/assembly/plugin-elasticsearch.xml b/distro/src/main/assembly/plugin-elasticsearch.xml
index 3c3aaf878..51559b7be 100644
--- a/distro/src/main/assembly/plugin-elasticsearch.xml
+++ b/distro/src/main/assembly/plugin-elasticsearch.xml
@@ -73,10 +73,10 @@
           <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
           <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
           <include>org.noggit:noggit:jar:${noggit.version}</include>
-          <include>org.codehaus.jackson:jackson-core-asl</include>
-          <include>org.codehaus.jackson:jackson-jaxrs</include>
-          <include>org.codehaus.jackson:jackson-mapper-asl</include>
-          <include>org.codehaus.jackson:jackson-xc</include>
+          <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-databind:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
           <include>org.apache.solr:solr-solrj:jar:${solr.version}</include>
           <include>commons-codec:commons-codec</include>
           <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
diff --git a/distro/src/main/assembly/plugin-kafka.xml b/distro/src/main/assembly/plugin-kafka.xml
index b8fedb1b7..840a80810 100644
--- a/distro/src/main/assembly/plugin-kafka.xml
+++ b/distro/src/main/assembly/plugin-kafka.xml
@@ -66,10 +66,10 @@
 					<include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
 					<include>com.google.protobuf:protobuf-java:jar:${protobuf-java.version}</include>
 					<include>org.noggit:noggit:jar:${noggit.version}</include>
-					<include>org.codehaus.jackson:jackson-core-asl</include>
-					<include>org.codehaus.jackson:jackson-jaxrs</include>
-					<include>org.codehaus.jackson:jackson-mapper-asl</include>
-					<include>org.codehaus.jackson:jackson-xc</include>
+					<include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+					<include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+					<include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+					<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
 					<include>org.apache.solr:solr-solrj:jar:${solr.version}</include>
 					<include>commons-codec:commons-codec</include>
 					<include>org.codehaus.woodstox:stax2-api</include>
diff --git a/distro/src/main/assembly/plugin-ozone.xml b/distro/src/main/assembly/plugin-ozone.xml
index 90a198791..baf9a9fab 100644
--- a/distro/src/main/assembly/plugin-ozone.xml
+++ b/distro/src/main/assembly/plugin-ozone.xml
@@ -103,11 +103,11 @@
                     <include>com.sun.jersey:jersey-core</include>
                     <include>com.sun.jersey:jersey-client</include>
                     <include>com.sun.jersey:jersey-bundle</include>
-		            <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
-		    <include>com.sun.xml.bind:jaxb-impl</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
+		            <include>com.sun.xml.bind:jaxb-impl</include>
                     <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
                     <include>commons-lang:commons-lang</include>
                     <include>com.kstruct:gethostname4j</include>
diff --git a/distro/src/main/assembly/plugin-presto.xml b/distro/src/main/assembly/plugin-presto.xml
index 9549a4f22..0c1fcb9cd 100644
--- a/distro/src/main/assembly/plugin-presto.xml
+++ b/distro/src/main/assembly/plugin-presto.xml
@@ -95,10 +95,10 @@
                     <include>org.apache.htrace:htrace-core4</include>
                     <include>com.sun.jersey:jersey-bundle</include>
                     <include>com.sun.jersey:jersey-json</include>
-                    <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
                     <include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
                     <include>net.java.dev.jna:jna</include>
                     <include>net.java.dev.jna:jna-platform</include>
diff --git a/distro/src/main/assembly/plugin-solr.xml b/distro/src/main/assembly/plugin-solr.xml
index 9762d6fd2..c07c16d12 100644
--- a/distro/src/main/assembly/plugin-solr.xml
+++ b/distro/src/main/assembly/plugin-solr.xml
@@ -50,10 +50,10 @@
         <includes>
           <include>com.google.code.gson:gson</include>
           <include>com.sun.jersey:jersey-bundle</include>
-          <include>org.codehaus.jackson:jackson-core-asl</include>
-          <include>org.codehaus.jackson:jackson-jaxrs</include>
-          <include>org.codehaus.jackson:jackson-mapper-asl</include>
-          <include>org.codehaus.jackson:jackson-xc</include>
+          <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+          <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
           <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
           <include>net.java.dev.jna:jna:jar:${jna.version}</include>
           <include>net.java.dev.jna:jna-platform:jar:${jna-platform.version}</include>
diff --git a/distro/src/main/assembly/plugin-trino.xml b/distro/src/main/assembly/plugin-trino.xml
index e22555406..16ba89690 100644
--- a/distro/src/main/assembly/plugin-trino.xml
+++ b/distro/src/main/assembly/plugin-trino.xml
@@ -88,10 +88,10 @@
                     <include>org.apache.htrace:htrace-core4</include>
                     <include>com.sun.jersey:jersey-bundle</include>
                     <include>com.sun.jersey:jersey-json</include>
-                    <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
                     <include>org.apache.zookeeper:zookeeper:jar:${zookeeper.version}</include>
                     <include>net.java.dev.jna:jna</include>
                     <include>net.java.dev.jna:jna-platform</include>
diff --git a/distro/src/main/assembly/ranger-tools.xml b/distro/src/main/assembly/ranger-tools.xml
index 0d6de8ff5..1c9c2e9fe 100644
--- a/distro/src/main/assembly/ranger-tools.xml
+++ b/distro/src/main/assembly/ranger-tools.xml
@@ -59,10 +59,10 @@
               <include>org.apache.httpcomponents:httpcore:jar:${httpcomponents.httpcore.version}</include>
               <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
               <include>org.noggit:noggit:jar:${noggit.version}</include>
-              <include>org.codehaus.jackson:jackson-core-asl</include>
-              <include>org.codehaus.jackson:jackson-jaxrs</include>
-              <include>org.codehaus.jackson:jackson-mapper-asl</include>
-              <include>org.codehaus.jackson:jackson-xc</include>
+              <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+              <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+              <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+              <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
               <include>org.codehaus.woodstox:stax2-api:jar:${codehaus.woodstox.stax2api.version}</include>
               <include>com.fasterxml.woodstox:woodstox-core:jar:${fasterxml.woodstox.version}</include>
               <include>org.apache.ranger:ranger-plugins-common</include>
diff --git a/distro/src/main/assembly/sample-client.xml b/distro/src/main/assembly/sample-client.xml
index f82573d90..ef4d27e79 100644
--- a/distro/src/main/assembly/sample-client.xml
+++ b/distro/src/main/assembly/sample-client.xml
@@ -57,10 +57,10 @@
                     <include>commons-io:commons-io</include>
                     <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
                     <include>org.noggit:noggit:jar:${noggit.version}</include>
-                    <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
                     <include>org.apache.ranger:ranger-plugins-audit</include>
                     <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
                     <include>net.java.dev.jna:jna:jar:${jna.version}</include>
diff --git a/distro/src/main/assembly/storm-agent.xml b/distro/src/main/assembly/storm-agent.xml
index f89f6b0fd..1816490e5 100644
--- a/distro/src/main/assembly/storm-agent.xml
+++ b/distro/src/main/assembly/storm-agent.xml
@@ -74,9 +74,9 @@
               <include>commons-cli:commons-cli:jar:${commons.cli.version}</include>
               <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
               <include>commons-io:commons-io:jar:${commons.io.version}</include>
-              <include>org.codehaus.jackson:jackson-core-asl</include>
-              <include>org.codehaus.jackson:jackson-jaxrs</include>
-              <include>org.codehaus.jackson:jackson-mapper-asl</include>
+              <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider</include>
+              <include>com.fasterxml.jackson.core:jackson-databind</include>
+              <include>com.fasterxml.jackson.core:jackson-core</include>
               <include>org.apache.solr:solr-solrj:jar:${solr.version}</include>
               <include>commons-codec:commons-codec</include>
               <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
diff --git a/distro/src/main/assembly/tagsync.xml b/distro/src/main/assembly/tagsync.xml
index 2e1b0ecb9..5c40b0cb8 100644
--- a/distro/src/main/assembly/tagsync.xml
+++ b/distro/src/main/assembly/tagsync.xml
@@ -65,9 +65,6 @@
 							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:${atlas.jackson.version}</include>
 							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${atlas.jackson.version}</include>
 							<include>com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:${atlas.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
 							<include>org.codehaus.jettison:jettison:jar:${jettison.version}</include>
 							<include>org.scala-lang:scala-library:jar:${scala.version}</include>
 							<include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
diff --git a/distro/src/main/assembly/usersync.xml b/distro/src/main/assembly/usersync.xml
index 58208433c..8d0ecb2b5 100644
--- a/distro/src/main/assembly/usersync.xml
+++ b/distro/src/main/assembly/usersync.xml
@@ -78,11 +78,7 @@
 							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:${fasterxml.jackson.version}</include>
 							<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
 							<include>com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:${fasterxml.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.version}</include>
-							<include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
 							<include>org.codehaus.jettison:jettison:jar:${jettison.version}</include>
-							<include>org.codehaus.jackson:jackson-xc:jar:${codehaus.jackson.version}</include>
 							<include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
 							<include>org.apache.commons:commons-lang3</include>
 							<include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
diff --git a/hive-agent/pom.xml b/hive-agent/pom.xml
index 4f48131eb..0e4c94c52 100644
--- a/hive-agent/pom.xml
+++ b/hive-agent/pom.xml
@@ -23,7 +23,6 @@
     <packaging>jar</packaging>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <hadoop.version>3.1.1</hadoop.version>
     </properties>
     <parent>
         <groupId>org.apache.ranger</groupId>
diff --git a/intg/src/main/java/org/apache/ranger/RangerClient.java b/intg/src/main/java/org/apache/ranger/RangerClient.java
index 8a67d0be1..e2fcc2581 100644
--- a/intg/src/main/java/org/apache/ranger/RangerClient.java
+++ b/intg/src/main/java/org/apache/ranger/RangerClient.java
@@ -18,10 +18,11 @@
  */
 package org.apache.ranger;
 
-import com.sun.jersey.api.client.GenericType;
+import com.fasterxml.jackson.core.type.TypeReference;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.RangerPurgeResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -153,6 +154,19 @@ public class RangerClient {
     public static final API PURGE_RECORDS        = new API(URI_PURGE_RECORDS, HttpMethod.DELETE, Response.Status.OK);
 
 
+    private static final TypeReference<Void>                               TYPE_VOID                 = new TypeReference<Void>() {};
+    private static final TypeReference<Set<String>>                        TYPE_SET_STRING           = new TypeReference<Set<String>>() {};
+    private static final TypeReference<List<String>>                       TYPE_LIST_STRING          = new TypeReference<List<String>>() {};
+    private static final TypeReference<List<RangerServiceDef>>             TYPE_LIST_SERVICE_DEF     = new TypeReference<List<RangerServiceDef>>() {};
+    private static final TypeReference<List<RangerService>>                TYPE_LIST_SERVICE         = new TypeReference<List<RangerService>>() {};
+    private static final TypeReference<List<RangerPolicy>>                 TYPE_LIST_POLICY          = new TypeReference<List<RangerPolicy>>() {};
+    private static final TypeReference<List<RangerSecurityZone>>           TYPE_LIST_SZ              = new TypeReference<List<RangerSecurityZone>>() {};
+    private static final TypeReference<List<RangerRole>>                   TYPE_LIST_ROLE            = new TypeReference<List<RangerRole>>() {};
+    private static final TypeReference<List<RangerPluginInfo>>             TYPE_LIST_PLUGIN_INFO     = new TypeReference<List<RangerPluginInfo>>() {};
+    private static final TypeReference<List<RangerPurgeResult>>            TYPE_LIST_PURGE_RESULT    = new TypeReference<List<RangerPurgeResult>>() {};
+    private static final TypeReference<List<RangerSecurityZoneHeaderInfo>> TYPE_LIST_SZ_HEADER_INFO  = new TypeReference<List<RangerSecurityZoneHeaderInfo>>() {};
+    private static final TypeReference<List<RangerServiceHeaderInfo>>      TYPE_LIST_SVC_HEADER_INFO = new TypeReference<List<RangerServiceHeaderInfo>>() {};
+
     private final RangerRESTClient restClient;
     private boolean isSecureMode     = false;
     private UserGroupInformation ugi = null;
@@ -216,7 +230,7 @@ public class RangerClient {
     }
 
     public List<RangerServiceDef> findServiceDefs(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(FIND_SERVICEDEFS, filter, null, new GenericType<List<RangerServiceDef>>(){});
+        return callAPI(FIND_SERVICEDEFS, filter, null, TYPE_LIST_SERVICE_DEF);
     }
 
 
@@ -252,7 +266,7 @@ public class RangerClient {
     }
 
     public List<RangerService> findServices(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(FIND_SERVICES, filter, null, new GenericType<List<RangerService>>(){});
+        return callAPI(FIND_SERVICES, filter, null, TYPE_LIST_SERVICE);
     }
 
 
@@ -323,11 +337,11 @@ public class RangerClient {
         return callAPI(GET_POLICY_BY_NAME.applyUrlFormat(serviceName, policyName), queryParams, null, RangerPolicy.class);
     }
     public List<RangerPolicy> getPoliciesInService(String serviceName) throws RangerServiceException {
-        return callAPI(GET_POLICIES_IN_SERVICE.applyUrlFormat(serviceName), null, null, new GenericType<List<RangerPolicy>>(){});
+        return callAPI(GET_POLICIES_IN_SERVICE.applyUrlFormat(serviceName), null, null, TYPE_LIST_POLICY);
     }
 
     public List<RangerPolicy> findPolicies(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(FIND_POLICIES, filter, null, new GenericType<List<RangerPolicy>>(){});
+        return callAPI(FIND_POLICIES, filter, null, TYPE_LIST_POLICY);
     }
 
 
@@ -359,19 +373,19 @@ public class RangerClient {
     }
 
     public List<RangerSecurityZoneHeaderInfo> getSecurityZoneHeaders(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(GET_ZONE_HEADERS, filter, null, new GenericType<List<RangerSecurityZoneHeaderInfo>>(){});
+        return callAPI(GET_ZONE_HEADERS, filter, null, TYPE_LIST_SZ_HEADER_INFO);
     }
 
     public List<RangerServiceHeaderInfo> getSecurityZoneServiceHeaders(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(GET_ZONE_SERVICE_HEADERS, filter, null, new GenericType<List<RangerServiceHeaderInfo>>(){});
+        return callAPI(GET_ZONE_SERVICE_HEADERS, filter, null, TYPE_LIST_SVC_HEADER_INFO);
     }
 
     public Set<String> getSecurityZoneNamesForResource(String serviceName, Map<String, String> resource) throws RangerServiceException {
-        return callAPI(GET_ZONE_NAMES_FOR_RES.applyUrlFormat(serviceName), resource, null, new GenericType<Set<String>>(){});
+        return callAPI(GET_ZONE_NAMES_FOR_RES.applyUrlFormat(serviceName), resource, null, TYPE_SET_STRING);
     }
 
     public List<RangerSecurityZone> findSecurityZones(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(FIND_ZONES, filter, null, new GenericType<List<RangerSecurityZone>>(){});
+        return callAPI(FIND_ZONES, filter, null, TYPE_LIST_SZ);
     }
 
     /*
@@ -417,15 +431,15 @@ public class RangerClient {
         queryParams.put(PARAM_EXEC_USER, execUser);
         queryParams.put(PARAM_SERVICE_NAME, serviceName);
 
-        return callAPI(GET_ALL_ROLE_NAMES.applyUrlFormat(serviceName), queryParams, null, new GenericType<List<String>>(){});
+        return callAPI(GET_ALL_ROLE_NAMES.applyUrlFormat(serviceName), queryParams, null, TYPE_LIST_STRING);
     }
 
     public List<String> getUserRoles(String user) throws RangerServiceException {
-        return callAPI(GET_USER_ROLES.applyUrlFormat(user), null, null, new GenericType<List<String>>(){});
+        return callAPI(GET_USER_ROLES.applyUrlFormat(user), null, null, TYPE_LIST_STRING);
     }
 
     public List<RangerRole> findRoles(Map<String, String> filter) throws RangerServiceException {
-        return callAPI(FIND_ROLES, filter, null, new GenericType<List<RangerRole>>(){});
+        return callAPI(FIND_ROLES, filter, null, TYPE_LIST_ROLE);
     }
 
     public RESTResponse grantRole(String serviceName, GrantRevokeRoleRequest request) throws RangerServiceException {
@@ -441,7 +455,7 @@ public class RangerClient {
      * Admin APIs
      */
     public void importServiceTags(String serviceName, RangerServiceTags svcTags) throws RangerServiceException {
-        callAPI(IMPORT_SERVICE_TAGS.applyUrlFormat(serviceName), null, svcTags, (GenericType<Void>) null);
+        callAPI(IMPORT_SERVICE_TAGS.applyUrlFormat(serviceName), null, svcTags, TYPE_VOID);
     }
 
     public RangerServiceTags getServiceTags(String serviceName) throws RangerServiceException {
@@ -449,7 +463,7 @@ public class RangerClient {
     }
 
     public List<RangerPluginInfo> getPluginsInfo() throws RangerServiceException {
-        return callAPI(GET_PLUGIN_INFO, null, null, new GenericType<List<RangerPluginInfo>>(){});
+        return callAPI(GET_PLUGIN_INFO, null, null, TYPE_LIST_PLUGIN_INFO);
     }
 
     public void deletePolicyDeltas(int days, boolean reloadServicePoliciesCache) throws RangerServiceException {
@@ -467,7 +481,7 @@ public class RangerClient {
         queryParams.put(PARAM_PURGE_RECORD_TYPE, recordType);
         queryParams.put(PARAM_PURGE_RETENTION_DAYS, String.valueOf(retentionDays));
 
-        return callAPI(PURGE_RECORDS, queryParams, null, new GenericType<List<RangerPurgeResult>>(){});
+        return callAPI(PURGE_RECORDS, queryParams, null, TYPE_LIST_PURGE_RESULT);
     }
 
     private ClientResponse invokeREST(API api, Map<String, String> params, Object request) throws RangerServiceException {
@@ -555,7 +569,7 @@ public class RangerClient {
         }
     }
 
-    private <T> T callAPI(API api, Map<String, String> params, Object request, GenericType<T> responseType) throws RangerServiceException {
+    private <T> T callAPI(API api, Map<String, String> params, Object request, TypeReference<T> responseType) throws RangerServiceException {
         T ret = null;
         if (LOG.isDebugEnabled()) {
             LOG.debug("==> callAPI({},{},{})",api, params, request);
@@ -563,7 +577,11 @@ public class RangerClient {
         }
         final ClientResponse clientResponse = responseHandler(api, params, request);
         if (responseType != null) {
-            ret = clientResponse.getEntity(responseType);
+            try {
+                ret = JsonUtilsV2.readResponse(clientResponse, responseType);
+            } catch (Exception excp) {
+                LOG.error("failed to read response: api={}", api, excp);
+            }
 
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Response: {}", restClient.toJson(ret));
@@ -582,7 +600,11 @@ public class RangerClient {
         }
         final ClientResponse clientResponse = responseHandler(api, params, request);
         if (responseType != null) {
-            ret = clientResponse.getEntity(responseType);
+            try {
+                ret = JsonUtilsV2.readResponse(clientResponse, responseType);
+            } catch (Exception excp) {
+                throw new RangerServiceException(api, clientResponse);
+            }
 
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Response: {}", restClient.toJson(ret));
diff --git a/intg/src/test/java/org/apache/ranger/TestRangerClient.java b/intg/src/test/java/org/apache/ranger/TestRangerClient.java
index 804314d64..5120aceae 100644
--- a/intg/src/test/java/org/apache/ranger/TestRangerClient.java
+++ b/intg/src/test/java/org/apache/ranger/TestRangerClient.java
@@ -23,6 +23,7 @@ import org.apache.ranger.plugin.model.RangerSecurityZone;
 import org.apache.ranger.plugin.model.RangerSecurityZoneHeaderInfo;
 import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.model.RangerServiceHeaderInfo;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.RangerPurgeResult;
 import org.apache.ranger.plugin.util.RangerRESTClient;
 import org.junit.jupiter.api.Assertions;
@@ -36,6 +37,7 @@ import org.testng.annotations.BeforeMethod;
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.core.Response;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -67,7 +69,7 @@ public class TestRangerClient {
 
             when(restClient.get(anyString(), any())).thenReturn(response);
             when(response.getStatus()).thenReturn(GET_TEST_API.getExpectedStatus().getStatusCode());
-            when(response.getEntity(RangerService.class)).thenReturn(service);
+            when(response.getEntity(String.class)).thenReturn(JsonUtilsV2.objToJson(service));
 
             RangerService ret = client.getService(service.getName());
 
@@ -90,9 +92,9 @@ public class TestRangerClient {
 
             RangerService ret = client.getService(1L);
 
-            Assertions.assertNull(ret);
+            Assertions.fail("Expected to fail with SERVICE_UNAVAILABLE");
         } catch(RangerServiceException excp){
-            Assertions.fail("Not expected to fail! Found exception: " + excp);
+            Assertions.assertEquals(ClientResponse.Status.SERVICE_UNAVAILABLE,  excp.getStatus(), "Expected to fail with status SERVICE_UNAVAILABLE");
         }
     }
 
@@ -160,27 +162,55 @@ public class TestRangerClient {
     }
 
     @Test
-    public void testGetSecurityZoneHeaders() throws RangerServiceException {
-        RangerClient        client = Mockito.mock(RangerClient.class);
-        Map<String, String> filter = Collections.emptyMap();
+    public void testGetSecurityZoneHeaders() throws Exception {
+        RangerRESTClient    restClient = mock(RangerRESTClient.class);
+        ClientResponse      response   = mock(ClientResponse.class);
+        RangerClient        client     = new RangerClient(restClient);
+
+        List<RangerSecurityZoneHeaderInfo> expected = new ArrayList<>();
 
-        when(client.getSecurityZoneHeaders(filter)).thenReturn(Collections.emptyList());
+        expected.add(new RangerSecurityZoneHeaderInfo(1L, "zone-1"));
+        expected.add(new RangerSecurityZoneHeaderInfo(2L, "zone-2"));
 
-        List<RangerSecurityZoneHeaderInfo> zoneHeaders = client.getSecurityZoneHeaders(filter);
+        when(restClient.get(anyString(), any())).thenReturn(response);
+        when(response.getStatus()).thenReturn(GET_TEST_API.getExpectedStatus().getStatusCode());
+        when(response.getEntity(String.class)).thenReturn(JsonUtilsV2.listToJson(expected));
 
-        Assertions.assertEquals(Collections.emptyList(), zoneHeaders);
+        List<RangerSecurityZoneHeaderInfo> actual = client.getSecurityZoneHeaders(Collections.emptyMap());
+
+        Assertions.assertEquals(expected.size(), actual.size(), "incorrect count");
+
+        for (int i = 0; i < expected.size(); i++) {
+            Assertions.assertEquals(expected.get(i).getId(), actual.get(i).getId(), "mismatched 'id' at index " + i);
+            Assertions.assertEquals(expected.get(i).getName(), actual.get(i).getName(), "mismatched 'name' at index " + i);
+        }
     }
 
     @Test
-    public void testGetSecurityZoneServiceHeaders() throws RangerServiceException {
-        RangerClient        client = Mockito.mock(RangerClient.class);
-        Map<String, String> filter = Collections.emptyMap();
+    public void testGetSecurityZoneServiceHeaders() throws Exception {
+        RangerRESTClient    restClient = mock(RangerRESTClient.class);
+        ClientResponse      response   = mock(ClientResponse.class);
+        RangerClient        client     = new RangerClient(restClient);
+
+        List<RangerServiceHeaderInfo> expected = new ArrayList<>();
 
-        when(client.getSecurityZoneServiceHeaders(filter)).thenReturn(Collections.emptyList());
+        expected.add(new RangerServiceHeaderInfo(1L, "dev_hdfs", "HDFS: DEV", "hdfs"));
+        expected.add(new RangerServiceHeaderInfo(2L, "dev_hive", "DEV HADOOP-SQL: DEV", "hive"));
 
-        List<RangerServiceHeaderInfo> serviceHeaders = client.getSecurityZoneServiceHeaders(filter);
+        when(restClient.get(anyString(), any())).thenReturn(response);
+        when(response.getStatus()).thenReturn(GET_TEST_API.getExpectedStatus().getStatusCode());
+        when(response.getEntity(String.class)).thenReturn(JsonUtilsV2.listToJson(expected));
 
-        Assertions.assertEquals(Collections.emptyList(), serviceHeaders);
+        List<RangerServiceHeaderInfo> actual = client.getSecurityZoneServiceHeaders(Collections.emptyMap());
+
+        Assertions.assertEquals(expected.size(), actual.size(), "incorrect count");
+
+        for (int i = 0; i < expected.size(); i++) {
+            Assertions.assertEquals(expected.get(i).getId(), actual.get(i).getId(), "mismatched 'id' at index " + i);
+            Assertions.assertEquals(expected.get(i).getName(), actual.get(i).getName(), "mismatched 'name' at index " + i);
+            Assertions.assertEquals(expected.get(i).getDisplayName(), actual.get(i).getDisplayName(), "mismatched 'displayName' at index " + i);
+            Assertions.assertEquals(expected.get(i).getType(), actual.get(i).getType(), "mismatched 'type' at index " + i);
+        }
     }
 
     @Test
diff --git a/kms/pom.xml b/kms/pom.xml
index b5d851b50..7787d3dd4 100644
--- a/kms/pom.xml
+++ b/kms/pom.xml
@@ -244,29 +244,40 @@
             <version>${httpcomponents.httpcore.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>${javax.ws.rs-api.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-base</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
             <groupId>com.sun.jersey</groupId>
             <artifactId>jersey-json</artifactId>
             <version>${jersey-bundle.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.codehaus.jackson</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 		<dependency>
 			<groupId>com.sun.xml.bind</groupId>
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
index 7188b19b2..39b5d65d1 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
@@ -76,8 +76,8 @@ import org.apache.hadoop.crypto.key.RangerKeyStoreProvider.KeyMetadata;
 import org.apache.ranger.entity.XXRangerKeyStore;
 import org.apache.ranger.kms.dao.DaoManager;
 import org.apache.ranger.kms.dao.RangerKMSDao;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.type.TypeReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java b/kms/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
similarity index 58%
copy from security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
copy to kms/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
index 0ae3e930b..cd5ad385a 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
+++ b/kms/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
@@ -15,27 +15,31 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ranger.common;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+package org.apache.ranger.common;
 
-import org.apache.hadoop.util.HttpExceptionUtils;
-import org.codehaus.jackson.JsonParseException;
+import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import javax.ws.rs.Consumes;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.ext.Provider;
+
 
-/**
- * Invalid JSON format
- * We get the JSON request body which is not a valid json
- * Jersey provider(RangerJsonParserExceptionMapper) that converts Ranger Rest API exceptions into detailed HTTP errors.
- */
-@Component
 @Provider
-public class RangerJsonParserExceptionMapper implements ExceptionMapper<JsonParseException> {
-  @Override
-  public Response toResponse(JsonParseException excp) {
-    return HttpExceptionUtils.createJerseyExceptionResponse(Response.Status.BAD_REQUEST, excp);
-  }
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+@Component
+public class RangerJsonProvider extends JacksonJaxbJsonProvider {
+    private static final Logger LOG = LoggerFactory.getLogger(RangerJsonProvider.class);
+
+    public RangerJsonProvider() {
+        super(JsonUtilsV2.getMapper(), JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
+
+        LOG.info("RangerJsonProvider() instantiated");
+    }
 }
diff --git a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
index e257f34d8..8cc6c12a6 100644
--- a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
+++ b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
@@ -343,7 +343,9 @@ public class RangerAdminJersey2RESTClient extends AbstractRangerAdminClient {
 
 			ret = null;
 		} else if (response.getStatus() == 200) { // OK
-			ret = response.readEntity(RangerUserStore.class);
+			String body = response.readEntity(String.class);
+
+			ret = getGson().fromJson(body, RangerUserStore.class);
 		} else if (response.getStatus() == 404) { // NOT_FOUND
 			ret = null;
 
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
index 3bba7e40e..19407c0ec 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
@@ -30,7 +30,7 @@ import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.PasswordUtils;
-import org.codehaus.jackson.JsonNode;
+import com.fasterxml.jackson.databind.JsonNode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -109,12 +109,12 @@ public class KnoxClient {
 						if (topologyNode == null) {
 							return topologyList;
 						}
-						Iterator<JsonNode> elements = topologyNode.getElements();
+						Iterator<JsonNode> elements = topologyNode.elements();
 						while (elements.hasNext()) {
 							JsonNode element = elements.next();
 							JsonNode nameElement = element.get("name");
 							if (nameElement != null) {
-								String topologyName = nameElement.getValueAsText();
+								String topologyName = nameElement.asText();
 								LOG.debug("Found Knox topologyName: " + topologyName);
 								if (knoxTopologyList != null && topologyName != null && knoxTopologyList.contains(topologyNameMatching)) {
 									continue;
@@ -218,12 +218,12 @@ public class KnoxClient {
 							if (topologyNode != null) {
 								JsonNode servicesNode = topologyNode.get("service");
 								if (servicesNode != null) {
-									Iterator<JsonNode> services = servicesNode.getElements();
+									Iterator<JsonNode> services = servicesNode.elements();
 									while (services.hasNext()) {
 										JsonNode service = services.next();
 										JsonNode serviceElement = service.get("role");
 										if (serviceElement != null) {
-											String serviceName = serviceElement.getValueAsText();
+											String serviceName = serviceElement.asText();
 											LOG.debug("Knox serviceName: " + serviceName);
 											if (serviceName == null || (knoxServiceList != null && knoxServiceList.contains(serviceName))){
 												continue;
diff --git a/plugin-kafka/pom.xml b/plugin-kafka/pom.xml
index 5fc8e6daf..6bd897d01 100644
--- a/plugin-kafka/pom.xml
+++ b/plugin-kafka/pom.xml
@@ -87,6 +87,11 @@
             <artifactId>jackson-core</artifactId>
             <version>${fasterxml.jackson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
 
         <!-- Test -->
         <dependency>
diff --git a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/json/model/KMSSchedulerResponse.java b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/json/model/KMSSchedulerResponse.java
index 3e6c8c9e0..f50f946b9 100644
--- a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/json/model/KMSSchedulerResponse.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/json/model/KMSSchedulerResponse.java
@@ -20,13 +20,13 @@ package org.apache.ranger.services.kms.client.json.model;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class KMSSchedulerResponse implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
@@ -47,7 +47,7 @@ public class KMSSchedulerResponse implements java.io.Serializable {
 
 
     @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class KMSScheduler implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -64,7 +64,7 @@ public class KMSSchedulerResponse implements java.io.Serializable {
     }
 
     @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class KMSSchedulerInfo implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -90,7 +90,7 @@ public class KMSSchedulerResponse implements java.io.Serializable {
     }
 
     @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class KMSQueues implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/plugin-nifi-registry/pom.xml b/plugin-nifi-registry/pom.xml
index b8a987bd1..05d7f0fb6 100644
--- a/plugin-nifi-registry/pom.xml
+++ b/plugin-nifi-registry/pom.xml
@@ -48,6 +48,11 @@
             <artifactId>credentialbuilder</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
 
         <!-- Test -->
         <dependency>
diff --git a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
index a1cd49d15..f1cab4a88 100644
--- a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
+++ b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
@@ -28,8 +28,8 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/plugin-nifi/pom.xml b/plugin-nifi/pom.xml
index 12c67803c..949d64676 100644
--- a/plugin-nifi/pom.xml
+++ b/plugin-nifi/pom.xml
@@ -46,6 +46,11 @@
             <artifactId>credentialbuilder</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
 
         <!-- Test -->
         <dependency>
diff --git a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
index 95f725a46..968674b10 100644
--- a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
+++ b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
@@ -28,8 +28,8 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/plugin-ozone/pom.xml b/plugin-ozone/pom.xml
index 00a7a5db7..a18b87f3e 100644
--- a/plugin-ozone/pom.xml
+++ b/plugin-ozone/pom.xml
@@ -38,7 +38,7 @@ limitations under the License.
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-plugins-common</artifactId>
             <version>${project.version}</version>
-	    <exclusions>
+	        <exclusions>
                 <exclusion>
                     <groupId>org.codehaus.jackson</groupId>
                     <artifactId>jackson-mapper-asl</artifactId>
@@ -124,10 +124,10 @@ limitations under the License.
             <artifactId>ozone-client</artifactId>
 	        <version>${ozone.version}</version>
         </dependency>
-	<dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/plugin-schema-registry/pom.xml b/plugin-schema-registry/pom.xml
index a8bab7bf4..ff208a3b1 100644
--- a/plugin-schema-registry/pom.xml
+++ b/plugin-schema-registry/pom.xml
@@ -32,7 +32,6 @@
     </parent>
 
     <properties>
-        <hadoop.version>3.1.1</hadoop.version>
         <jersey.version>2.22.1</jersey.version>
         <schema.registry.version>0.9.1</schema.registry.version>
         <jettison.version>1.1</jettison.version>
diff --git a/plugin-sqoop/pom.xml b/plugin-sqoop/pom.xml
index bf5407570..35cd97446 100644
--- a/plugin-sqoop/pom.xml
+++ b/plugin-sqoop/pom.xml
@@ -46,6 +46,10 @@
                     <groupId>org.slf4j</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.jackson</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/plugin-yarn/pom.xml b/plugin-yarn/pom.xml
index f784e5066..cfa4df078 100644
--- a/plugin-yarn/pom.xml
+++ b/plugin-yarn/pom.xml
@@ -31,6 +31,11 @@
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-plugins-common</artifactId>
diff --git a/plugin-yarn/src/main/java/org/apache/ranger/services/yarn/client/json/model/YarnSchedulerResponse.java b/plugin-yarn/src/main/java/org/apache/ranger/services/yarn/client/json/model/YarnSchedulerResponse.java
index 5a9520f2b..fdd4f063e 100644
--- a/plugin-yarn/src/main/java/org/apache/ranger/services/yarn/client/json/model/YarnSchedulerResponse.java
+++ b/plugin-yarn/src/main/java/org/apache/ranger/services/yarn/client/json/model/YarnSchedulerResponse.java
@@ -17,18 +17,19 @@
 
 package org.apache.ranger.services.yarn.client.json.model;
 
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 
 
-@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonAutoDetect(getterVisibility= Visibility.NONE, setterVisibility= Visibility.NONE, fieldVisibility= Visibility.ANY)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class YarnSchedulerResponse implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
@@ -48,8 +49,8 @@ public class YarnSchedulerResponse implements java.io.Serializable {
     }
 
 
-    @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonAutoDetect(getterVisibility= Visibility.NONE, setterVisibility= Visibility.NONE, fieldVisibility= Visibility.ANY)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class YarnScheduler implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -65,8 +66,8 @@ public class YarnSchedulerResponse implements java.io.Serializable {
         }
     }
 
-    @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonAutoDetect(getterVisibility= Visibility.NONE, setterVisibility= Visibility.NONE, fieldVisibility= Visibility.ANY)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class YarnSchedulerInfo implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
@@ -91,8 +92,8 @@ public class YarnSchedulerResponse implements java.io.Serializable {
         }
     }
 
-    @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+    @JsonAutoDetect(getterVisibility= Visibility.NONE, setterVisibility= Visibility.NONE, fieldVisibility= Visibility.ANY)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @JsonIgnoreProperties(ignoreUnknown=true)
     public static class YarnQueues implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/pom.xml b/pom.xml
index 9914793d3..c2fe8b286 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,6 @@
         <cglib.version>2.2.0-b23</cglib.version>
         <checkstyle.plugin.version>3.1.0</checkstyle.plugin.version>
         <checkstyle.version>8.29</checkstyle.version>
-        <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
         <commons.beanutils.version>1.9.4</commons.beanutils.version>
         <commons.cli.version>1.2</commons.cli.version>
         <commons.codec.version>1.15</commons.codec.version>
@@ -145,6 +144,7 @@
         <javax-inject.version>1</javax-inject.version>
         <javax.annotation-api>1.3.2</javax.annotation-api>
         <javax.el.version>3.0.1-b12</javax.el.version>
+        <javax.ws.rs-api.version>2.1.1</javax.ws.rs-api.version>
         <jaxb.api.version>2.3.1</jaxb.api.version>
         <jericho.html.version>3.3</jericho.html.version>
         <jersey-bundle.version>1.19.3</jersey-bundle.version>
@@ -213,8 +213,8 @@
         <zookeeper.version>3.5.5</zookeeper.version>
         <codehaus.woodstox.stax2api.version>4.2.1</codehaus.woodstox.stax2api.version>
         <fasterxml.woodstox.version>5.4.0</fasterxml.woodstox.version>
-        <fasterxml.jackson.version>2.14.0</fasterxml.jackson.version>
-        <fasterxml.jackson.databind.version>2.14.0</fasterxml.jackson.databind.version>
+        <fasterxml.jackson.version>2.17.0</fasterxml.jackson.version>
+        <fasterxml.jackson.databind.version>2.17.0</fasterxml.jackson.databind.version>
         <kstruct.gethostname4j.version>1.0.0</kstruct.gethostname4j.version>
         <jna.version>5.7.0</jna.version>
         <jna-platform.version>5.7.0</jna-platform.version>
@@ -886,6 +886,50 @@
                 <version>${hamcrest.version}</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-common</artifactId>
+                <version>${hadoop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.codehaus.jackson</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-yarn-common</artifactId>
+                <version>${hadoop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.codehaus.jackson</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-mapreduce-client-core</artifactId>
+                <version>${hadoop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.codehaus.jackson</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-hdfs</artifactId>
+                <version>${hadoop.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.codehaus.jackson</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
             <dependency>
                 <groupId>org.glassfish.jersey.core</groupId>
                 <artifactId>jersey-client</artifactId>
diff --git a/ranger-examples/distro/src/main/assembly/plugin-sampleapp.xml b/ranger-examples/distro/src/main/assembly/plugin-sampleapp.xml
index b6975093a..004a6d3a6 100644
--- a/ranger-examples/distro/src/main/assembly/plugin-sampleapp.xml
+++ b/ranger-examples/distro/src/main/assembly/plugin-sampleapp.xml
@@ -43,10 +43,10 @@
             <include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
             <include>commons-io:commons-io:jar:${commons.io.version}</include>
             <include>commons-lang:commons-lang:jar:${commons.lang.version}</include>
-            <include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.storm.version}</include>
-            <include>org.codehaus.jackson:jackson-core-asl:jar:${codehaus.jackson.storm.version}</include>
-            <include>org.codehaus.jackson:jackson-mapper-asl:jar:${codehaus.jackson.storm.version}</include>
-            <include>org.codehaus.jackson:jackson-xc:jar:${codehaus.jackson.storm.version}</include>
+            <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+            <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+            <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+            <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
             <include>org.slf4j:slf4j-api</include>
             <include>log4j:log4j</include>
             <include>com.sun.jersey:jersey-bundle</include>
diff --git a/ranger-examples/distro/src/main/assembly/sample-client.xml b/ranger-examples/distro/src/main/assembly/sample-client.xml
index a20cbbd7d..6abe79dea 100644
--- a/ranger-examples/distro/src/main/assembly/sample-client.xml
+++ b/ranger-examples/distro/src/main/assembly/sample-client.xml
@@ -53,10 +53,10 @@
                     <include>commons-io:commons-io</include>
                     <include>org.apache.httpcomponents:httpmime:jar:${httpcomponents.httpmime.version}</include>
                     <include>org.noggit:noggit:jar:${noggit.version}</include>
-                    <include>org.codehaus.jackson:jackson-core-asl</include>
-                    <include>org.codehaus.jackson:jackson-jaxrs</include>
-                    <include>org.codehaus.jackson:jackson-mapper-asl</include>
-                    <include>org.codehaus.jackson:jackson-xc</include>
+                    <include>com.fasterxml.jackson.core:jackson-annotations:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-core:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.core:jackson-databind:jar:${fasterxml.jackson.version}</include>
+                    <include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:${fasterxml.jackson.version}</include>
                     <include>org.apache.ranger:ranger-plugins-audit</include>
                     <include>com.kstruct:gethostname4j:jar:${kstruct.gethostname4j.version}</include>
                     <include>net.java.dev.jna:jna:jar:${jna.version}</include>
diff --git a/ranger-examples/plugin-sampleapp/pom.xml b/ranger-examples/plugin-sampleapp/pom.xml
index 842db7882..21e178412 100644
--- a/ranger-examples/plugin-sampleapp/pom.xml
+++ b/ranger-examples/plugin-sampleapp/pom.xml
@@ -95,19 +95,19 @@
             <version>${jersey-bundle.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.code.gson</groupId>
diff --git a/ranger-sqoop-plugin-shim/pom.xml b/ranger-sqoop-plugin-shim/pom.xml
index 4e781681d..95f16a8fd 100644
--- a/ranger-sqoop-plugin-shim/pom.xml
+++ b/ranger-sqoop-plugin-shim/pom.xml
@@ -46,6 +46,10 @@
                     <groupId>org.slf4j</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.jackson</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/security-admin/pom.xml b/security-admin/pom.xml
index 2901ada35..c588725de 100644
--- a/security-admin/pom.xml
+++ b/security-admin/pom.xml
@@ -307,6 +307,11 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>${javax.ws.rs-api.version}</version>
+        </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
@@ -317,6 +322,16 @@
             <artifactId>jackson-annotations</artifactId>
             <version>${fasterxml.jackson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-base</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
@@ -432,22 +447,6 @@
             <artifactId>javax.servlet-api</artifactId>
             <version>${javax.servlet.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-            <version>${codehaus.jackson.version}</version>
-            <scope>runtime</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-util</artifactId>
@@ -655,12 +654,6 @@
             <groupId>com.webcohesion.enunciate</groupId>
             <artifactId>enunciate-core-annotations</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.jaxrs</groupId>
-            <artifactId>jackson-jaxrs-json-provider</artifactId>
-            <version>${fasterxml.jackson.version}</version>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.hbase.thirdparty</groupId>
             <artifactId>hbase-shaded-protobuf</artifactId>
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
index 101e2fa96..a0b0104a3 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
@@ -68,12 +68,12 @@ import org.apache.ranger.util.RestUtil;
 import org.apache.ranger.view.*;
 import org.apache.ranger.view.VXTrxLogV2.AttributeChangeInfo;
 import org.apache.ranger.view.VXTrxLogV2.ObjectChangeInfo;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
 @Component
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index fa39840df..3479d65d7 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -205,7 +205,6 @@ import org.apache.ranger.view.VXPolicyLabelList;
 import org.apache.ranger.view.VXPortalUser;
 import org.apache.ranger.view.VXString;
 import org.apache.ranger.view.VXUser;
-import org.codehaus.jettison.json.JSONException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -4517,7 +4516,7 @@ public class ServiceDBStore extends AbstractServiceStore {
 	}
 
 	private <T> void writeJson(List<T> objList, String jsonFileName,
-			HttpServletResponse response, JSON_FILE_NAME_TYPE type) throws JSONException, IOException {
+			HttpServletResponse response, JSON_FILE_NAME_TYPE type) throws IOException {
 		response.setContentType("text/json");
 		response.setHeader("Content-Disposition", "attachment; filename="+ jsonFileName);
 		ServletOutputStream out = null;
diff --git a/security-admin/src/main/java/org/apache/ranger/common/JSONUtil.java b/security-admin/src/main/java/org/apache/ranger/common/JSONUtil.java
index 014796f75..5b53139ed 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/JSONUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/JSONUtil.java
@@ -28,10 +28,11 @@ import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
+import com.fasterxml.jackson.databind.JsonMappingException;
 import org.apache.ranger.common.view.ViewBaseBean;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -49,7 +50,7 @@ public class JSONUtil {
 		}
 
 		File file = File.createTempFile(fileName, ".json");
-		JsonUtilsV2.getMapper().defaultPrettyPrintingWriter().writeValue(file, viewBean);
+		JsonUtilsV2.getMapper().writer(new DefaultPrettyPrinter()).writeValue(file, viewBean); //defaultPrettyPrintingWriter().writeValue(file, viewBean);
 
 		return file;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonMappingExceptionMapper.java b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonMappingExceptionMapper.java
index 43e6387f8..c098a9762 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonMappingExceptionMapper.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonMappingExceptionMapper.java
@@ -17,8 +17,8 @@
  */
 package org.apache.ranger.common;
 
+import com.fasterxml.jackson.databind.JsonMappingException;
 import org.apache.hadoop.util.HttpExceptionUtils;
-import org.codehaus.jackson.map.JsonMappingException;
 import org.springframework.stereotype.Component;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.ext.ExceptionMapper;
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
index 0ae3e930b..f79365497 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
@@ -21,8 +21,8 @@ import javax.ws.rs.core.Response;
 import javax.ws.rs.ext.ExceptionMapper;
 import javax.ws.rs.ext.Provider;
 
+import com.fasterxml.jackson.core.JsonParseException;
 import org.apache.hadoop.util.HttpExceptionUtils;
-import org.codehaus.jackson.JsonParseException;
 import org.springframework.stereotype.Component;
 
 
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
similarity index 58%
copy from security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
copy to security-admin/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
index 0ae3e930b..cd5ad385a 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerJsonParserExceptionMapper.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerJsonProvider.java
@@ -15,27 +15,31 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.ranger.common;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+package org.apache.ranger.common;
 
-import org.apache.hadoop.util.HttpExceptionUtils;
-import org.codehaus.jackson.JsonParseException;
+import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import javax.ws.rs.Consumes;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.ext.Provider;
+
 
-/**
- * Invalid JSON format
- * We get the JSON request body which is not a valid json
- * Jersey provider(RangerJsonParserExceptionMapper) that converts Ranger Rest API exceptions into detailed HTTP errors.
- */
-@Component
 @Provider
-public class RangerJsonParserExceptionMapper implements ExceptionMapper<JsonParseException> {
-  @Override
-  public Response toResponse(JsonParseException excp) {
-    return HttpExceptionUtils.createJerseyExceptionResponse(Response.Status.BAD_REQUEST, excp);
-  }
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+@Component
+public class RangerJsonProvider extends JacksonJaxbJsonProvider {
+    private static final Logger LOG = LoggerFactory.getLogger(RangerJsonProvider.class);
+
+    public RangerJsonProvider() {
+        super(JsonUtilsV2.getMapper(), JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
+
+        LOG.info("RangerJsonProvider() instantiated");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java b/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java
index 263586a33..f6b9bd6f6 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java
@@ -21,7 +21,7 @@
 
 import org.apache.ranger.common.RangerCommonEnums;
 import org.apache.ranger.entity.XXDBBase;
-import org.codehaus.jackson.annotate.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class ViewBaseBean implements java.io.Serializable {
     private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/json/JsonDateSerializer.java b/security-admin/src/main/java/org/apache/ranger/json/JsonDateSerializer.java
index 1682310c8..0317deb4c 100644
--- a/security-admin/src/main/java/org/apache/ranger/json/JsonDateSerializer.java
+++ b/security-admin/src/main/java/org/apache/ranger/json/JsonDateSerializer.java
@@ -23,10 +23,10 @@ import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonProcessingException;
-import org.codehaus.jackson.map.JsonSerializer;
-import org.codehaus.jackson.map.SerializerProvider;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
 import org.springframework.stereotype.Component;
 
 /**
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 a91f12623..f07c7824c 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
@@ -30,16 +30,17 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.ranger.biz.KmsKeyMgr;
 import org.apache.ranger.common.MessageEnums;
 import org.apache.ranger.common.RESTErrorUtil;
 import org.apache.ranger.common.SearchUtil;
 import org.apache.ranger.common.annotation.RangerAnnotationJSMgrName;
+import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.security.context.RangerAPIList;
 import org.apache.ranger.view.VXKmsKey;
 import org.apache.ranger.view.VXKmsKeyList;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -198,11 +199,12 @@ public class XKeyREST {
 			 message = uie.getResponse().getEntity(String.class);
 			 logger.error(message);
 			 try {
-				JSONObject objRE = new JSONObject(message);
-				message = objRE.getString("RemoteException");
-				JSONObject obj = new JSONObject(message);
-				message = obj.getString("message");
-			} catch (JSONException e1) {
+				JsonNode rootNode = JsonUtilsV2.getMapper().readTree(message);
+				JsonNode excpNode = rootNode != null ? rootNode.get("RemoteException") : null;
+				JsonNode msgNode  = excpNode != null ? excpNode.get("message") : null;
+
+				message = msgNode != null ? msgNode.asText() : null;
+			} catch (JsonProcessingException e1) {
 				logger.error("Unable to parse the error message, So sending error message as it is - Error : " + e1.getMessage());
 			}
 		}
diff --git a/security-admin/src/main/java/org/apache/ranger/service/XAssetService.java b/security-admin/src/main/java/org/apache/ranger/service/XAssetService.java
index 830302fec..e977954bf 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/XAssetService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/XAssetService.java
@@ -33,7 +33,7 @@ import org.apache.ranger.common.SearchField.DATA_TYPE;
 import org.apache.ranger.common.SearchField.SEARCH_TYPE;
 import org.apache.ranger.entity.XXAsset;
 import org.apache.ranger.view.VXAsset;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.core.type.TypeReference;
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Service;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerExportPolicyList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerExportPolicyList.java
index 805a93a00..cd2e4033a 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerExportPolicyList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerExportPolicyList.java
@@ -20,12 +20,12 @@ package org.apache.ranger.view;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerExportPolicyList extends RangerPolicyList implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerExportRoleList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerExportRoleList.java
index f9fdab9dd..c6cc69798 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerExportRoleList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerExportRoleList.java
@@ -20,12 +20,12 @@ package org.apache.ranger.view;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerExportRoleList extends RangerRoleList implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerPluginInfoList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerPluginInfoList.java
index ca010b50f..8ddfa159d 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerPluginInfoList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerPluginInfoList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerPluginInfo;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerPluginInfoList extends VList {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerPolicyList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerPolicyList.java
index b1a2c3589..a1099f291 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerPolicyList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerPolicyList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerPolicy;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerPolicyList extends VList {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerRoleList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerRoleList.java
index b26704a15..cde3b5bb4 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerRoleList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerRoleList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerRole;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerRoleList extends VList{
 
     private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerSecurityZoneList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerSecurityZoneList.java
index 9361b8ca7..c8165680e 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerSecurityZoneList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerSecurityZoneList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerSecurityZone;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerSecurityZoneList extends VList{
 
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceDefList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceDefList.java
index a4a4c4404..6bb3f9254 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceDefList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceDefList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerServiceDef;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerServiceDefList extends VList {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceList.java
index 3f7b78dd4..065667df3 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceList.java
@@ -22,12 +22,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerService;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerServiceList extends VList {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceResourceWithTagsList.java b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceResourceWithTagsList.java
index a40953eef..cb9efe2cc 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/RangerServiceResourceWithTagsList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/RangerServiceResourceWithTagsList.java
@@ -21,12 +21,12 @@ import java.util.List;
 
 import org.apache.ranger.common.view.VList;
 import org.apache.ranger.plugin.model.RangerServiceResourceWithTags;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class RangerServiceResourceWithTagsList extends VList {
 	private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
index cce18fafb..a82310f99 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
@@ -30,13 +30,14 @@ import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.DateUtil;
 import org.apache.ranger.common.RangerConstants;
 import org.apache.ranger.json.JsonDateSerializer;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXAccessAudit extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAuditList.java b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAuditList.java
index a20d9b27b..5fc7b0c1f 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAuditList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAuditList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAccessAuditList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXAccessAudit> vXAccessAudits = new ArrayList<VXAccessAudit>();
@@ -50,6 +51,7 @@ public class VXAccessAuditList extends VList {
     /**
      * @return the vXAccessAudits
      */
+    @JsonProperty("vXAccessAudits")
     public List<VXAccessAudit> getVXAccessAudits() {
 	return vXAccessAudits;
     }
@@ -58,6 +60,7 @@ public class VXAccessAuditList extends VList {
      * @param vXAccessAudits
      *            the vXAccessAudits to set
      */
+    @JsonProperty("vXAccessAudits")
     public void setVXAccessAudits(List<VXAccessAudit> vXAccessAudits) {
 	this.vXAccessAudits = vXAccessAudits;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAsset.java b/security-admin/src/main/java/org/apache/ranger/view/VXAsset.java
index 5c453ed86..12ad06926 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAsset.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAsset.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXAsset extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAssetList.java b/security-admin/src/main/java/org/apache/ranger/view/VXAssetList.java
index f944ac9de..0c5817b37 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAssetList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAssetList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAssetList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXAsset> vXAssets = new ArrayList<VXAsset>();
@@ -50,6 +51,7 @@ public class VXAssetList extends VList {
     /**
      * @return the vXAssets
      */
+    @JsonProperty("vXAssets")
     public List<VXAsset> getVXAssets() {
 	return vXAssets;
     }
@@ -58,6 +60,7 @@ public class VXAssetList extends VList {
      * @param vXAssets
      *            the vXAssets to set
      */
+    @JsonProperty("vXAssets")
     public void setVXAssets(List<VXAsset> vXAssets) {
 	this.vXAssets = vXAssets;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuditMap.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuditMap.java
index 3637431aa..d421b1eb1 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuditMap.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuditMap.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXAuditMap extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuditMapList.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuditMapList.java
index 6130e4663..a8fd942c4 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuditMapList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuditMapList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAuditMapList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXAuditMap> vXAuditMaps = new ArrayList<VXAuditMap>();
@@ -50,6 +51,7 @@ public class VXAuditMapList extends VList {
     /**
      * @return the vXAuditMaps
      */
+    @JsonProperty("vXAuditMaps")
     public List<VXAuditMap> getVXAuditMaps() {
 	return vXAuditMaps;
     }
@@ -58,6 +60,7 @@ public class VXAuditMapList extends VList {
      * @param vXAuditMaps
      *            the vXAuditMaps to set
      */
+    @JsonProperty("vXAuditMaps")
     public void setVXAuditMaps(List<VXAuditMap> vXAuditMaps) {
 	this.vXAuditMaps = vXAuditMaps;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecord.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecord.java
index c2abf533b..b62032b90 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecord.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecord.java
@@ -22,12 +22,12 @@
 import java.util.Date;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAuditRecord {
 
 	/**
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecordList.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecordList.java
index 0a31e3dc1..b2c7899cf 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecordList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuditRecordList.java
@@ -23,12 +23,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAuditRecordList extends VList {
 
 	/**
@@ -37,10 +38,12 @@ public class VXAuditRecordList extends VList {
 	private static final long serialVersionUID = 1L;
 	List<VXAuditRecord> vXAuditRecords = new ArrayList<VXAuditRecord>();
 
+	@JsonProperty("vXAuditRecords")
 	public List<VXAuditRecord> getvAudits() {
 		return vXAuditRecords;
 	}
 
+	@JsonProperty("vXAuditRecords")
 	public void setvAudits(List<VXAuditRecord> vXAuditRecords) {
 		this.vXAuditRecords = vXAuditRecords;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuthSession.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuthSession.java
index 5e95ad59b..7170b04d5 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuthSession.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuthSession.java
@@ -28,13 +28,14 @@ import java.util.Date;
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.json.JsonDateSerializer;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXAuthSession extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAuthSessionList.java b/security-admin/src/main/java/org/apache/ranger/view/VXAuthSessionList.java
index 8529af07d..61fe3f061 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAuthSessionList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAuthSessionList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXAuthSessionList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXAuthSession> vXAuthSessions = new ArrayList<VXAuthSession>();
@@ -50,6 +51,7 @@ public class VXAuthSessionList extends VList {
     /**
      * @return the vXAuthSessions
      */
+    @JsonProperty("vXAuthSessions")
     public List<VXAuthSession> getVXAuthSessions() {
 	return vXAuthSessions;
     }
@@ -58,6 +60,7 @@ public class VXAuthSessionList extends VList {
      * @param vXAuthSessions
      *            the vXAuthSessions to set
      */
+    @JsonProperty("vXAuthSessions")
     public void setVXAuthSessions(List<VXAuthSession> vXAuthSessions) {
 	this.vXAuthSessions = vXAuthSessions;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStore.java b/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStore.java
index 9c7ad91d6..a3d87957f 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStore.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXCredentialStore extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStoreList.java b/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStoreList.java
index cc073a049..82c75cce6 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStoreList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXCredentialStoreList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXCredentialStoreList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXCredentialStore> vXCredentialStores = new ArrayList<VXCredentialStore>();
@@ -50,6 +51,7 @@ public class VXCredentialStoreList extends VList {
     /**
      * @return the vXCredentialStores
      */
+    @JsonProperty("vXCredentialStores")
     public List<VXCredentialStore> getVXCredentialStores() {
 	return vXCredentialStores;
     }
@@ -58,6 +60,7 @@ public class VXCredentialStoreList extends VList {
      * @param vXCredentialStores
      *            the vXCredentialStores to set
      */
+    @JsonProperty("vXCredentialStores")
     public void setVXCredentialStores(List<VXCredentialStore> vXCredentialStores) {
 	this.vXCredentialStores = vXCredentialStores;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXDataObject.java b/security-admin/src/main/java/org/apache/ranger/view/VXDataObject.java
index ffd3fb4d9..8585d7d51 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXDataObject.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXDataObject.java
@@ -29,13 +29,14 @@ import java.util.Date;
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
 import org.apache.ranger.json.JsonDateSerializer;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXDataObject extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
index 248c7e33d..0aa52a690 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
@@ -24,13 +24,13 @@
  *
  */
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXFileSyncSourceInfo implements java.io.Serializable  {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroup.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroup.java
index f48c3b78f..12531e4b8 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroup.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroup.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.RangerCommonEnums;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXGroup extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroup.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroup.java
index b3744f20e..f3728fdc6 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroup.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroup.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXGroupGroup extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroupList.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroupList.java
index 829f41ada..52254a10c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroupList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupGroupList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXGroupGroupList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXGroupGroup> vXGroupGroups = new ArrayList<VXGroupGroup>();
@@ -50,6 +51,7 @@ public class VXGroupGroupList extends VList {
     /**
      * @return the vXGroupGroups
      */
+    @JsonProperty("vXGroupGroups")
     public List<VXGroupGroup> getVXGroupGroups() {
 	return vXGroupGroups;
     }
@@ -58,6 +60,7 @@ public class VXGroupGroupList extends VList {
      * @param vXGroupGroups
      *            the vXGroupGroups to set
      */
+    @JsonProperty("vXGroupGroups")
     public void setVXGroupGroups(List<VXGroupGroup> vXGroupGroups) {
 	this.vXGroupGroups = vXGroupGroups;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupList.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupList.java
index 34e82b8a1..cf13ac672 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXGroupList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXGroup> vXGroups = new ArrayList<VXGroup>();
@@ -50,6 +51,7 @@ public class VXGroupList extends VList {
     /**
      * @return the vXGroups
      */
+    @JsonProperty("vXGroups")
     public List<VXGroup> getVXGroups() {
 	return vXGroups;
     }
@@ -58,6 +60,7 @@ public class VXGroupList extends VList {
      * @param vXGroups
      *            the vXGroups to set
      */
+    @JsonProperty("vXGroups")
     public void setVXGroups(List<VXGroup> vXGroups) {
 	this.vXGroups = vXGroups;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermission.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermission.java
index 4c335dd24..c54587e70 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermission.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermission.java
@@ -18,13 +18,13 @@
 package org.apache.ranger.view;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXGroupPermission extends VXDataObject implements java.io.Serializable {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermissionList.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermissionList.java
index 25ac6cf47..ef5aa8e53 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermissionList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupPermissionList.java
@@ -21,12 +21,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXGroupPermissionList extends VList {
 
 	private static final long serialVersionUID = 1L;
@@ -45,6 +46,7 @@ public class VXGroupPermissionList extends VList {
 	/**
 	 * @return the vXGroupPermission
 	 */
+	@JsonProperty("vXGroupPermission")
 	public List<VXGroupPermission> getvXGroupPermission() {
 		return vXGroupPermission;
 	}
@@ -52,6 +54,7 @@ public class VXGroupPermissionList extends VList {
 	/**
 	 * @param vXGroupPermission the vXGroupPermission to set
 	 */
+	@JsonProperty("vXGroupPermission")
 	public void setvXGroupPermission(List<VXGroupPermission> vXGroupPermission) {
 		this.vXGroupPermission = vXGroupPermission;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUser.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUser.java
index 4d7053c67..373c2ee81 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUser.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUser.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXGroupUser extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserInfo.java
index 1fa22224e..7e945283e 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserInfo.java
@@ -26,13 +26,13 @@
 
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXGroupUserInfo extends VXDataObject implements java.io.Serializable  {
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserList.java b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserList.java
index a1495fd87..38a094907 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXGroupUserList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXGroupUserList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXGroupUser> vXGroupUsers = new ArrayList<VXGroupUser>();
@@ -50,6 +51,7 @@ public class VXGroupUserList extends VList {
     /**
      * @return the vXGroupUsers
      */
+    @JsonProperty("vXGroupUsers")
     public List<VXGroupUser> getVXGroupUsers() {
 	return vXGroupUsers;
     }
@@ -58,6 +60,7 @@ public class VXGroupUserList extends VList {
      * @param vXGroupUsers
      *            the vXGroupUsers to set
      */
+    @JsonProperty("vXGroupUsers")
     public void setVXGroupUsers(List<VXGroupUser> vXGroupUsers) {
 	this.vXGroupUsers = vXGroupUsers;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXKmsKey.java b/security-admin/src/main/java/org/apache/ranger/view/VXKmsKey.java
index ebef03a80..4f843c104 100755
--- a/security-admin/src/main/java/org/apache/ranger/view/VXKmsKey.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXKmsKey.java
@@ -27,13 +27,13 @@
 import java.util.Map;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXKmsKey extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXKmsKeyList.java b/security-admin/src/main/java/org/apache/ranger/view/VXKmsKeyList.java
index f837682f0..95d804e86 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXKmsKeyList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXKmsKeyList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXKmsKeyList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXKmsKey> vXKeys = new ArrayList<VXKmsKey>();
@@ -50,6 +51,7 @@ public class VXKmsKeyList extends VList {
     /**
      * @return the vXKeys
      */
+    @JsonProperty("vXKeys")
     public List<VXKmsKey> getVXKeys() {
 	return vXKeys;
     }
@@ -58,6 +60,7 @@ public class VXKmsKeyList extends VList {
      * @param vXKeys
      *            the vXKeys to set
      */
+    @JsonProperty("vXKeys")
     public void setVXKeys(List<VXKmsKey> vXKeys) {
 	this.vXKeys = vXKeys;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
index a1132bfeb..8ce523fe2 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
@@ -24,13 +24,13 @@
  *
  */
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXLdapSyncSourceInfo implements java.io.Serializable  {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXLong.java b/security-admin/src/main/java/org/apache/ranger/view/VXLong.java
index 3fb5ac3a5..26cc79749 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXLong.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXLong.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXLong extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMessage.java b/security-admin/src/main/java/org/apache/ranger/view/VXMessage.java
index d7edad5b1..c02ad51b8 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMessage.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMessage.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXMessage extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricAuditDetailsCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricAuditDetailsCount.java
index da59f1566..01410dc97 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricAuditDetailsCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricAuditDetailsCount.java
@@ -16,12 +16,12 @@
  */
 package org.apache.ranger.view;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricAuditDetailsCount implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyCount.java
index dcf8ed48c..a27dd092b 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyCount.java
@@ -18,12 +18,12 @@ package org.apache.ranger.view;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricPolicyCount implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyWithServiceNameCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyWithServiceNameCount.java
index c84959e94..0b9b306ff 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyWithServiceNameCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricPolicyWithServiceNameCount.java
@@ -18,12 +18,12 @@ package org.apache.ranger.view;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricPolicyWithServiceNameCount implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceCount.java
index a68c85e7d..04a23ae9a 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceCount.java
@@ -18,12 +18,12 @@ package org.apache.ranger.view;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricServiceCount implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceNameCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceNameCount.java
index c7568d61e..07f06170d 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceNameCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricServiceNameCount.java
@@ -19,12 +19,12 @@ package org.apache.ranger.view;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricServiceNameCount implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXMetricUserGroupCount.java b/security-admin/src/main/java/org/apache/ranger/view/VXMetricUserGroupCount.java
index b7661ce3b..eb6283308 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXMetricUserGroupCount.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXMetricUserGroupCount.java
@@ -16,12 +16,12 @@
  */
 package org.apache.ranger.view;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXMetricUserGroupCount implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXModuleDef.java b/security-admin/src/main/java/org/apache/ranger/view/VXModuleDef.java
index 5994e45e9..c25e9214b 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXModuleDef.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXModuleDef.java
@@ -20,13 +20,13 @@ package org.apache.ranger.view;
 import java.util.Date;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXModuleDef extends VXDataObject implements java.io.Serializable {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXModuleDefList.java b/security-admin/src/main/java/org/apache/ranger/view/VXModuleDefList.java
index 26ece379a..3ca1742ec 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXModuleDefList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXModuleDefList.java
@@ -21,12 +21,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXModuleDefList extends VList {
 
 	private static final long serialVersionUID = 1L;
@@ -45,6 +46,7 @@ public class VXModuleDefList extends VList {
 	/**
 	 * @return the vXModuleDef
 	 */
+	@JsonProperty("vXModuleDef")
 	public List<VXModuleDef> getvXModuleDef() {
 		return vXModuleDef;
 	}
@@ -52,6 +54,7 @@ public class VXModuleDefList extends VList {
 	/**
 	 * @param vXModuleDef the vXModuleDef to set
 	 */
+	@JsonProperty("vXModuleDef")
 	public void setvXModuleDef(List<VXModuleDef> vXModuleDef) {
 		this.vXModuleDef = vXModuleDef;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXModulePermission.java b/security-admin/src/main/java/org/apache/ranger/view/VXModulePermission.java
index b2ae56a98..f011e23f1 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXModulePermission.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXModulePermission.java
@@ -21,13 +21,13 @@ import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXModulePermission extends VXDataObject implements Serializable {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXModulePermissionList.java b/security-admin/src/main/java/org/apache/ranger/view/VXModulePermissionList.java
index 775cf7148..2b43c4331 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXModulePermissionList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXModulePermissionList.java
@@ -21,12 +21,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXModulePermissionList extends VList {
 
 	private static final long serialVersionUID = 1L;
@@ -42,10 +43,12 @@ public class VXModulePermissionList extends VList {
 		this.vXModulePermissionList = objList;
 	}
 
+	@JsonProperty("vXModulePermissionList")
 	public List<VXModulePermission> getvXModulePermissionList() {
 		return vXModulePermissionList;
 	}
 
+	@JsonProperty("vXModulePermissionList")
 	public void setvXModulePermissionList(List<VXModulePermission> vXModulePermissionList) {
 		this.vXModulePermissionList = vXModulePermissionList;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPasswordChange.java b/security-admin/src/main/java/org/apache/ranger/view/VXPasswordChange.java
index ace612887..d3d3b86fb 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPasswordChange.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPasswordChange.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXPasswordChange extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPermMap.java b/security-admin/src/main/java/org/apache/ranger/view/VXPermMap.java
index 22e960d21..323f3b4a6 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPermMap.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPermMap.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.RangerConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXPermMap extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPermMapList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPermMapList.java
index 2aa7229bf..42c3a9d97 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPermMapList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPermMapList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPermMapList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXPermMap> vXPermMaps = new ArrayList<VXPermMap>();
@@ -50,6 +51,7 @@ public class VXPermMapList extends VList {
     /**
      * @return the vXPermMaps
      */
+    @JsonProperty("vXPermMaps")
     public List<VXPermMap> getVXPermMaps() {
 	return vXPermMaps;
     }
@@ -58,6 +60,7 @@ public class VXPermMapList extends VList {
      * @param vXPermMaps
      *            the vXPermMaps to set
      */
+    @JsonProperty("vXPermMaps")
     public void setVXPermMaps(List<VXPermMap> vXPermMaps) {
 	this.vXPermMaps = vXPermMaps;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPermObj.java b/security-admin/src/main/java/org/apache/ranger/view/VXPermObj.java
index d305805a7..222b4d7f7 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPermObj.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPermObj.java
@@ -26,13 +26,13 @@
 
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class VXPermObj implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
index fa9d73196..f8ee58fc9 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPermObjList extends VList {
 	private static final long serialVersionUID = 1L;
 	List<VXPermObj> vXPermObjs = new ArrayList<VXPermObj>();
@@ -50,6 +51,7 @@ public class VXPermObjList extends VList {
 	/**
 	 * @return the vXPermObjs
 	 */
+	@JsonProperty("vXPermObjs")
 	public List<VXPermObj> getVXPermObjs() {
 		return vXPermObjs;
 	}
@@ -58,6 +60,7 @@ public class VXPermObjList extends VList {
 	 * @param vXPermObjs
 	 *            the vXPermObjs to set
 	 */
+	@JsonProperty("vXPermObjs")
 	public void setVXPermObjs(List<VXPermObj> vXPermObjs) {
 		this.vXPermObjs = vXPermObjs;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicy.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicy.java
index 887d8e1ff..918b1031d 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicy.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicy.java
@@ -27,13 +27,13 @@
 import java.util.List;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class VXPolicy extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAudit.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAudit.java
index e441466e5..571361d39 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAudit.java
@@ -28,13 +28,14 @@ import java.util.Date;
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.json.JsonDateSerializer;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXPolicyExportAudit extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAuditList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAuditList.java
index 73e711c99..951ea2e1f 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAuditList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyExportAuditList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPolicyExportAuditList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXPolicyExportAudit> vXPolicyExportAudits = new ArrayList<VXPolicyExportAudit>();
@@ -50,6 +51,7 @@ public class VXPolicyExportAuditList extends VList {
     /**
      * @return the vXPolicyExportAudits
      */
+    @JsonProperty("vXPolicyExportAudits")
     public List<VXPolicyExportAudit> getVXPolicyExportAudits() {
 	return vXPolicyExportAudits;
     }
@@ -58,6 +60,7 @@ public class VXPolicyExportAuditList extends VList {
      * @param vXPolicyExportAudits
      *            the vXPolicyExportAudits to set
      */
+    @JsonProperty("vXPolicyExportAudits")
     public void setVXPolicyExportAudits(List<VXPolicyExportAudit> vXPolicyExportAudits) {
 	this.vXPolicyExportAudits = vXPolicyExportAudits;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabel.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabel.java
index e2b50038f..0a1cd377c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabel.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabel.java
@@ -24,13 +24,13 @@ package org.apache.ranger.view;
  */
 
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class VXPolicyLabel extends VXDataObject implements java.io.Serializable {
         private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabelList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabelList.java
index 2beaa6e53..48fd49a58 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabelList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyLabelList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPolicyLabelList extends VList {
         private static final long serialVersionUID = 1L;
         List<VXPolicyLabel> vxPolicyLabels = new ArrayList<VXPolicyLabel>();
@@ -50,13 +51,15 @@ public class VXPolicyLabelList extends VList {
         /**
          * @return the VXPolicyLabels
          */
+        @JsonProperty("vxPolicyLabels")
         public List<VXPolicyLabel> getVXPolicyLabels() {
                         return vxPolicyLabels;
                 }
 
-                public void setVXPolicyLabels(List<VXPolicyLabel> vxPolicyLabels) {
-                        this.vxPolicyLabels = vxPolicyLabels;
-                }
+        @JsonProperty("vxPolicyLabels")
+        public void setVXPolicyLabels(List<VXPolicyLabel> vxPolicyLabels) {
+                this.vxPolicyLabels = vxPolicyLabels;
+        }
 
         @Override
         public int getListSize() {
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
index ffed0ef88..f45516c27 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPolicyList extends VList {
 	private static final long serialVersionUID = 1L;
 	List<VXPolicy> vXPolicies = new ArrayList<VXPolicy>();
@@ -50,6 +51,7 @@ public class VXPolicyList extends VList {
 	/**
 	 * @return the vXPolicies
 	 */
+	@JsonProperty("vXPolicies")
 	public List<VXPolicy> getVXPolicies() {
 		return vXPolicies;
 	}
@@ -58,6 +60,7 @@ public class VXPolicyList extends VList {
 	 * @param vXPolicies
 	 *            the vXPolicies to set
 	 */
+	@JsonProperty("vXPolicies")
 	public void setVXPolicies(List<VXPolicy> vXPolicies) {
 		this.vXPolicies = vXPolicies;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPortalUser.java b/security-admin/src/main/java/org/apache/ranger/view/VXPortalUser.java
index 397cf4467..27bae7e8a 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPortalUser.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPortalUser.java
@@ -24,13 +24,13 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXPortalUser extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXPortalUserList.java b/security-admin/src/main/java/org/apache/ranger/view/VXPortalUserList.java
index 22c5cd62a..b17a59799 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPortalUserList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXPortalUserList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXPortalUserList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXPortalUser> vXPortalUsers = new ArrayList<VXPortalUser>();
@@ -50,6 +51,7 @@ public class VXPortalUserList extends VList {
     /**
      * @return the vXPortalUsers
      */
+    @JsonProperty("vXPortalUsers")
     public List<VXPortalUser> getVXPortalUsers() {
 	return vXPortalUsers;
     }
@@ -58,6 +60,7 @@ public class VXPortalUserList extends VList {
      * @param vXPortalUsers
      *            the vXPortalUsers to set
      */
+    @JsonProperty("vXPortalUsers")
     public void setVXPortalUsers(List<VXPortalUser> vXPortalUsers) {
 	this.vXPortalUsers = vXPortalUsers;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java b/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
index bde5e59cb..071b1af0e 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class VXRepository extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java b/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
index 1aee11f36..6e1b3af21 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXRepositoryList extends VList {
 	private static final long serialVersionUID = 1L;
 	List<VXRepository> vXRepositories = new ArrayList<VXRepository>();
@@ -50,6 +51,7 @@ public class VXRepositoryList extends VList {
 	/**
 	 * @return the vXRepositories
 	 */
+	@JsonProperty("vXRepositories")
 	public List<VXRepository> getVXRepositories() {
 		return vXRepositories;
 	}
@@ -58,6 +60,7 @@ public class VXRepositoryList extends VList {
 	 * @param vXRepositories
 	 *            the vXRepositories to set
 	 */
+	@JsonProperty("vXRepositories")
 	public void setVXRepositories(List<VXRepository> vXRepositories) {
 		this.vXRepositories = vXRepositories;
 	}
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXResource.java b/security-admin/src/main/java/org/apache/ranger/view/VXResource.java
index 26856132b..146984cd2 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXResource.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXResource.java
@@ -28,13 +28,13 @@ import java.util.List;
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.RangerConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXResource extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXResourceList.java b/security-admin/src/main/java/org/apache/ranger/view/VXResourceList.java
index 51dc3609c..c933eefe6 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXResourceList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXResourceList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXResourceList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXResource> vXResources = new ArrayList<VXResource>();
@@ -50,6 +51,7 @@ public class VXResourceList extends VList {
     /**
      * @return the vXResources
      */
+    @JsonProperty("vXResources")
     public List<VXResource> getVXResources() {
 	return vXResources;
     }
@@ -58,6 +60,7 @@ public class VXResourceList extends VList {
      * @param vXResources
      *            the vXResources to set
      */
+    @JsonProperty("vXResources")
     public void setVXResources(List<VXResource> vXResources) {
 	this.vXResources = vXResources;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXResponse.java b/security-admin/src/main/java/org/apache/ranger/view/VXResponse.java
index 9c7681c32..abcf72a6e 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXResponse.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXResponse.java
@@ -28,13 +28,13 @@ import java.util.List;
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXResponse extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXString.java b/security-admin/src/main/java/org/apache/ranger/view/VXString.java
index 8e7b78def..e88134ecd 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXString.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXString.java
@@ -26,13 +26,13 @@
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.view.ViewBaseBean;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXString extends ViewBaseBean implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXStringList.java b/security-admin/src/main/java/org/apache/ranger/view/VXStringList.java
index 71b82f545..81b40830c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXStringList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXStringList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXStringList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXString> vXStrings = new ArrayList<VXString>();
@@ -50,6 +51,7 @@ public class VXStringList extends VList {
     /**
      * @return the vXStrings
      */
+    @JsonProperty("vXStrings")
     public List<VXString> getVXStrings() {
 	return vXStrings;
     }
@@ -58,6 +60,7 @@ public class VXStringList extends VList {
      * @param vXStrings
      *            the vXStrings to set
      */
+    @JsonProperty("vXStrings")
     public void setVXStrings(List<VXString> vXStrings) {
 	this.vXStrings = vXStrings;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLog.java b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLog.java
index 4e6611da2..087b4179c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLog.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLog.java
@@ -25,13 +25,13 @@
  */
 
 import org.apache.ranger.common.RangerConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXTrxLog extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogList.java b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogList.java
index b6712576b..600e29b39 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogList.java
@@ -24,12 +24,13 @@ import java.util.List;
 
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXTrxLogList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXTrxLog> vXTrxLogs = new ArrayList<VXTrxLog>();
@@ -46,6 +47,7 @@ public class VXTrxLogList extends VList {
     /**
      * @return the vXTrxLogs
      */
+    @JsonProperty("vXTrxLogs")
     public List<VXTrxLog> getVXTrxLogs() {
 	return vXTrxLogs;
     }
@@ -54,6 +56,7 @@ public class VXTrxLogList extends VList {
      * @param vXTrxLogs
      *            the vXTrxLogs to set
      */
+    @JsonProperty("vXTrxLogs")
     public void setVXTrxLogs(List<VXTrxLog> vXTrxLogs) {
 	this.vXTrxLogs = vXTrxLogs;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2.java b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2.java
index 938552259..a60134b12 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2.java
@@ -17,17 +17,18 @@
  * under the License.
  */
 
- package org.apache.ranger.view;
+package org.apache.ranger.view;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ranger.common.RangerConstants;
 import org.apache.ranger.json.JsonDateSerializer;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -35,7 +36,7 @@ import java.util.Date;
 import java.util.List;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXTrxLogV2 implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
@@ -269,7 +270,7 @@ public class VXTrxLogV2 implements java.io.Serializable {
 	}
 
 	@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+	@JsonInclude(JsonInclude.Include.NON_NULL)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class ObjectChangeInfo implements Serializable {
 		private static final long serialVersionUID = 1L;
@@ -327,7 +328,7 @@ public class VXTrxLogV2 implements java.io.Serializable {
 	}
 
 	@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-	@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+	@JsonInclude(JsonInclude.Include.NON_NULL)
 	@JsonIgnoreProperties(ignoreUnknown=true)
 	public static class AttributeChangeInfo implements Serializable {
 		private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2List.java b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2List.java
index 51953fcdb..6fa55b606 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2List.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXTrxLogV2List.java
@@ -17,44 +17,47 @@
  * under the License.
  */
 
- package org.apache.ranger.view;
+package org.apache.ranger.view;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXTrxLogV2List extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXTrxLogV2> vXTrxLogs = new ArrayList<>();
 
     public VXTrxLogV2List() {
-	super();
+        super();
     }
 
     public VXTrxLogV2List(List<VXTrxLogV2> objList) {
-	super(objList);
-	this.vXTrxLogs = objList;
+        super(objList);
+        this.vXTrxLogs = objList;
     }
 
     /**
      * @return the vXTrxLogs
      */
+    @JsonProperty("vXTrxLogs")
     public List<VXTrxLogV2> getVXTrxLogs() {
-	return vXTrxLogs;
+        return vXTrxLogs;
     }
 
     /**
      * @param vXTrxLogs
      *            the vXTrxLogs to set
      */
+    @JsonProperty("vXTrxLogs")
     public void setVXTrxLogs(List<VXTrxLogV2> vXTrxLogs) {
-	this.vXTrxLogs = vXTrxLogs;
+        this.vXTrxLogs = vXTrxLogs;
     }
 
     @Override
@@ -62,12 +65,12 @@ public class VXTrxLogV2List extends VList {
 	if (vXTrxLogs != null) {
 	    return vXTrxLogs.size();
 	}
-	return 0;
+        return 0;
     }
 
     @Override
     public List<VXTrxLogV2> getList() {
-	return vXTrxLogs;
+        return vXTrxLogs;
     }
 
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfo.java
index ac3675bdf..bac53ef9c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfo.java
@@ -25,17 +25,18 @@
  */
 
 import org.apache.ranger.json.JsonDateSerializer;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXUgsyncAuditInfo extends VXDataObject implements java.io.Serializable  {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfoList.java b/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfoList.java
index d9ef48f70..22192085d 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfoList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUgsyncAuditInfoList.java
@@ -25,15 +25,17 @@
  */
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXUgsyncAuditInfoList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXUgsyncAuditInfo> vxUgsyncAuditInfoList = new ArrayList<VXUgsyncAuditInfo>();
@@ -50,6 +52,7 @@ public class VXUgsyncAuditInfoList extends VList {
     /**
      * @return the vXAccessAudits
      */
+    @JsonProperty("vxUgsyncAuditInfoList")
     public List<VXUgsyncAuditInfo> getVxUgsyncAuditInfoList() {
 	return vxUgsyncAuditInfoList;
     }
@@ -58,6 +61,7 @@ public class VXUgsyncAuditInfoList extends VList {
      * @param vxUgsyncAuditInfoList
      *            the vXAccessAudits to set
      */
+    @JsonProperty("vxUgsyncAuditInfoList")
     public void setVxUgsyncAuditInfoList(List<VXUgsyncAuditInfo> vxUgsyncAuditInfoList) {
 	this.vxUgsyncAuditInfoList = vxUgsyncAuditInfoList;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
index 9c581f4b6..931392103 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
@@ -24,13 +24,13 @@
  *
  */
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXUnixSyncSourceInfo implements java.io.Serializable  {
 
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUser.java b/security-admin/src/main/java/org/apache/ranger/view/VXUser.java
index 9865572a8..da0226502 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUser.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUser.java
@@ -28,13 +28,13 @@ import java.util.Collection;
 
 import org.apache.ranger.common.AppConstants;
 import org.apache.ranger.common.RangerCommonEnums;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXUser extends VXDataObject implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUserGroupInfo.java b/security-admin/src/main/java/org/apache/ranger/view/VXUserGroupInfo.java
index ee1c3f29c..ec67981fe 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUserGroupInfo.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUserGroupInfo.java
@@ -26,13 +26,13 @@
 
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class VXUserGroupInfo extends VXDataObject implements java.io.Serializable  {
 	
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUserList.java b/security-admin/src/main/java/org/apache/ranger/view/VXUserList.java
index d66b23091..b1fbdfaed 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUserList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUserList.java
@@ -28,12 +28,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXUserList extends VList {
 	private static final long serialVersionUID = 1L;
     List<VXUser> vXUsers = new ArrayList<VXUser>();
@@ -50,6 +51,7 @@ public class VXUserList extends VList {
     /**
      * @return the vXUsers
      */
+    @JsonProperty("vXUsers")
     public List<VXUser> getVXUsers() {
 	return vXUsers;
     }
@@ -58,6 +60,7 @@ public class VXUserList extends VList {
      * @param vXUsers
      *            the vXUsers to set
      */
+    @JsonProperty("vXUsers")
     public void setVXUsers(List<VXUser> vXUsers) {
 	this.vXUsers = vXUsers;
     }
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUserPermission.java b/security-admin/src/main/java/org/apache/ranger/view/VXUserPermission.java
index 4e308f95b..61b5f24a7 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUserPermission.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUserPermission.java
@@ -18,13 +18,13 @@
 package org.apache.ranger.view;
 
 import org.apache.ranger.common.AppConstants;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class VXUserPermission extends VXDataObject implements
 		java.io.Serializable {
diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXUserPermissionList.java b/security-admin/src/main/java/org/apache/ranger/view/VXUserPermissionList.java
index 704a6fa60..a72cb0138 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXUserPermissionList.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXUserPermissionList.java
@@ -21,12 +21,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ranger.common.view.VList;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class VXUserPermissionList extends VList {
 
 	private static final long serialVersionUID = 1L;
@@ -45,6 +46,7 @@ public class VXUserPermissionList extends VList {
 	/**
 	 * @return the vXModuleDef
 	 */
+	@JsonProperty("vXUserPermission")
 	public List<VXUserPermission> getvXModuleDef() {
 		return vXUserPermission;
 	}
@@ -52,6 +54,7 @@ public class VXUserPermissionList extends VList {
 	/**
 	 * @param vXModuleDef the vXModuleDef to set
 	 */
+	@JsonProperty("vXUserPermission")
 	public void setvXModuleDef(List<VXUserPermission> vXModuleDef) {
 		this.vXUserPermission = vXModuleDef;
 	}
diff --git a/security-admin/src/test/java/org/apache/ranger/audit/TestAuditQueue.java b/security-admin/src/test/java/org/apache/ranger/audit/TestAuditQueue.java
index 3aeb68ecb..40dca25f5 100644
--- a/security-admin/src/test/java/org/apache/ranger/audit/TestAuditQueue.java
+++ b/security-admin/src/test/java/org/apache/ranger/audit/TestAuditQueue.java
@@ -36,6 +36,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.orc.OrcFile;
 import org.apache.orc.Reader;
 import org.apache.ranger.audit.destination.FileAuditDestination;
+import org.apache.ranger.audit.model.AuditIndexRecord;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.*;
 import org.apache.ranger.audit.queue.AuditAsyncQueue;
@@ -43,8 +44,6 @@ import org.apache.ranger.audit.queue.AuditBatchQueue;
 import org.apache.ranger.audit.queue.AuditFileSpool;
 import org.apache.ranger.audit.queue.AuditQueue;
 import org.apache.ranger.audit.queue.AuditSummaryQueue;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -824,7 +823,7 @@ public class TestAuditQueue {
 			for(String f: convertedLogFileNames){
 				totalLogsArchive += getLogCountInFile(f);
 			}
-		} catch (IOException | JSONException e) {
+		} catch (IOException e) {
 			throw new RuntimeException(e);
 		}
 		System.out.println("Number of logs in archive:"+totalLogsArchive);
@@ -846,7 +845,7 @@ public class TestAuditQueue {
 				}
 			}
 		}
-		catch (IOException | JSONException e){
+		catch (IOException e){
 			throw new RuntimeException(e);
 		}
 		System.out.println("Number of logs not converted to ORC:"+notYetConvertedToORCLogsCount);
@@ -893,15 +892,22 @@ public class TestAuditQueue {
 		return lines;
 	}
 
-	private static List<String> getFileNames(String jsonIndexFile) throws IOException, JSONException {
+	private static List<String> getFileNames(String jsonIndexFile) throws IOException {
 		List<String> fileNames = new ArrayList<>();
 		BufferedReader reader = new BufferedReader(new FileReader(jsonIndexFile));
 		while (true) {
 			String line = reader.readLine();
 			if (line!=null){
-				JSONObject jsonObject = new JSONObject(line);
-				String filePath = (String) jsonObject.get("filePath");
-				fileNames.add(filePath);
+				try {
+					AuditIndexRecord indexRecord = MiscUtil.getMapper().readValue(line, AuditIndexRecord.class);
+					String           filePath    = indexRecord != null ? indexRecord.getFilePath() : null;
+
+					if (filePath != null) {
+						fileNames.add(filePath);
+					}
+				} catch (Exception excp) {
+					excp.printStackTrace(System.out);
+				}
 			}
 			else{
 				break;
diff --git a/tagsync/pom.xml b/tagsync/pom.xml
index 5504f0ee9..50fb2000b 100644
--- a/tagsync/pom.xml
+++ b/tagsync/pom.xml
@@ -127,14 +127,14 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
             <groupId>org.codehaus.jettison</groupId>
diff --git a/ugsync-util/pom.xml b/ugsync-util/pom.xml
index 25c8626a7..2639b28a8 100644
--- a/ugsync-util/pom.xml
+++ b/ugsync-util/pom.xml
@@ -34,14 +34,14 @@
             <artifactId>gson</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <version>${codehaus.jackson.version}</version>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UsersGroupRoleAssignments.java b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UsersGroupRoleAssignments.java
index ed59c6911..123db22ec 100644
--- a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UsersGroupRoleAssignments.java
+++ b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UsersGroupRoleAssignments.java
@@ -19,16 +19,14 @@
 
 package org.apache.ranger.ugsyncutil.model;
 
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
 import java.util.List;
 import java.util.Map;
-
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonAutoDetect(getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, fieldVisibility = JsonAutoDetect.Visibility.ANY)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class UsersGroupRoleAssignments {
 
diff --git a/ugsync/pom.xml b/ugsync/pom.xml
index 1a5adc1fc..f40d37e96 100644
--- a/ugsync/pom.xml
+++ b/ugsync/pom.xml
@@ -32,11 +32,6 @@
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-bundle</artifactId>
-            <version>${jersey-bundle.version}</version>
-        </dependency>
         <dependency>
             <groupId>commons-cli</groupId>
             <artifactId>commons-cli</artifactId>
@@ -151,26 +146,36 @@
             <artifactId>ranger-plugins-common</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>${javax.ws.rs-api.version}</version>
+        </dependency>
 	<dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
             <version>${fasterxml.jackson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-base</artifactId>
+            <version>${fasterxml.jackson.version}</version>
+        </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>${fasterxml.jackson.databind.version}</version>
         </dependency>
-	<dependency>
-	    <groupId>org.codehaus.jackson</groupId>
-	    <artifactId>jackson-core-asl</artifactId>
-	    <version>${codehaus.jackson.version}</version>
-	</dependency>
-	<dependency>
-	    <groupId>org.codehaus.jackson</groupId>
-	    <artifactId>jackson-jaxrs</artifactId>
-	    <version>${codehaus.jackson.version}</version>
-	</dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ugsync-util</artifactId>
diff --git a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/RangerUgSyncRESTClient.java b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/RangerUgSyncRESTClient.java
index 22162b0e1..4ead5a9ad 100644
--- a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/RangerUgSyncRESTClient.java
+++ b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/RangerUgSyncRESTClient.java
@@ -25,11 +25,12 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLSession;
 import javax.net.ssl.TrustManager;
 
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.security.SecureClientLogin;
 import org.apache.ranger.plugin.util.RangerRESTClient;
 import org.apache.ranger.unixusersync.config.UserGroupSyncConfig;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
+
 
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.config.ClientConfig;