You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2025/01/06 04:47:53 UTC

(ranger) 07/08: RANGER-5061: checkstyle compliance updates - security-admin module org.apache.ranger.db and org.apache.ranger.credentialapi(#496)

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

pradeep pushed a commit to branch RANGER-5061_master
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit cfa734f94517badc695316270a862dac8738ffdb
Author: Dineshkumar Yadav <59...@users.noreply.github.com>
AuthorDate: Mon Jan 6 09:47:08 2025 +0530

    RANGER-5061: checkstyle compliance updates - security-admin module org.apache.ranger.db and org.apache.ranger.credentialapi(#496)
    
    
    Co-authored-by: Abhishek Kumar <ab...@gmail.com>
    Co-authored-by: Madhan Neethiraj <ma...@apache.org>
---
 .../ranger/credentialapi/CredentialReader.java     | 133 ++-
 .../org/apache/ranger/db/RangerDaoManager.java     |  62 +-
 .../org/apache/ranger/db/RangerDaoManagerBase.java | 614 ++++++++------
 .../org/apache/ranger/db/XXAccessAuditDao.java     | 198 +++--
 .../org/apache/ranger/db/XXAccessTypeDefDao.java   |  96 +--
 .../apache/ranger/db/XXAccessTypeDefGrantsDao.java | 153 ++--
 .../main/java/org/apache/ranger/db/XXAssetDao.java |  47 +-
 .../java/org/apache/ranger/db/XXAuditMapDao.java   |  54 +-
 .../org/apache/ranger/db/XXAuthSessionDao.java     | 149 ++--
 .../apache/ranger/db/XXContextEnricherDefDao.java  |  69 +-
 .../org/apache/ranger/db/XXCredentialStoreDao.java |   8 +-
 .../java/org/apache/ranger/db/XXDBBaseDao.java     |   8 +-
 .../java/org/apache/ranger/db/XXDataHistDao.java   | 139 +--
 .../org/apache/ranger/db/XXDataMaskTypeDefDao.java |  94 +--
 .../java/org/apache/ranger/db/XXEnumDefDao.java    |  42 +-
 .../org/apache/ranger/db/XXEnumElementDefDao.java  |  46 +-
 .../org/apache/ranger/db/XXGdsDataShareDao.java    | 270 +++---
 .../ranger/db/XXGdsDataShareInDatasetDao.java      | 215 ++---
 .../java/org/apache/ranger/db/XXGdsDatasetDao.java | 210 ++---
 .../apache/ranger/db/XXGdsDatasetInProjectDao.java | 136 +--
 .../apache/ranger/db/XXGdsDatasetPolicyMapDao.java |  88 +-
 .../java/org/apache/ranger/db/XXGdsProjectDao.java | 178 ++--
 .../apache/ranger/db/XXGdsProjectPolicyMapDao.java |  88 +-
 .../apache/ranger/db/XXGdsSharedResourceDao.java   | 230 ++---
 .../org/apache/ranger/db/XXGlobalStateDao.java     | 112 +--
 .../main/java/org/apache/ranger/db/XXGroupDao.java | 207 +++--
 .../java/org/apache/ranger/db/XXGroupGroupDao.java |  84 +-
 .../org/apache/ranger/db/XXGroupPermissionDao.java | 220 +++--
 .../java/org/apache/ranger/db/XXGroupUserDao.java  | 301 ++++---
 .../java/org/apache/ranger/db/XXModuleDefDao.java  | 234 +++---
 .../java/org/apache/ranger/db/XXPermMapDao.java    |  53 +-
 .../java/org/apache/ranger/db/XXPluginInfoDao.java | 164 ++--
 .../org/apache/ranger/db/XXPolicyChangeLogDao.java |  60 +-
 .../apache/ranger/db/XXPolicyConditionDefDao.java  |  76 +-
 .../java/org/apache/ranger/db/XXPolicyDao.java     | 935 +++++++++++----------
 .../apache/ranger/db/XXPolicyExportAuditDao.java   |   7 +-
 .../apache/ranger/db/XXPolicyItemAccessDao.java    |  81 +-
 .../apache/ranger/db/XXPolicyItemConditionDao.java |  81 +-
 .../java/org/apache/ranger/db/XXPolicyItemDao.java | 118 +--
 .../ranger/db/XXPolicyItemDataMaskInfoDao.java     |  82 +-
 .../apache/ranger/db/XXPolicyItemGroupPermDao.java |  82 +-
 .../ranger/db/XXPolicyItemRowFilterInfoDao.java    |  73 +-
 .../apache/ranger/db/XXPolicyItemUserPermDao.java  |  82 +-
 .../org/apache/ranger/db/XXPolicyLabelDao.java     | 134 +--
 .../org/apache/ranger/db/XXPolicyLabelMapDao.java  |  75 +-
 .../apache/ranger/db/XXPolicyRefAccessTypeDao.java | 125 +--
 .../apache/ranger/db/XXPolicyRefConditionDao.java  | 153 ++--
 .../ranger/db/XXPolicyRefDataMaskTypeDao.java      | 102 +--
 .../org/apache/ranger/db/XXPolicyRefGroupDao.java  | 127 +--
 .../apache/ranger/db/XXPolicyRefResourceDao.java   | 183 ++--
 .../org/apache/ranger/db/XXPolicyRefRoleDao.java   |  79 +-
 .../org/apache/ranger/db/XXPolicyRefUserDao.java   | 152 ++--
 .../org/apache/ranger/db/XXPolicyResourceDao.java  | 104 +--
 .../apache/ranger/db/XXPolicyResourceMapDao.java   |  82 +-
 .../ranger/db/XXPolicyWithAssignedIdDao.java       |   8 +-
 .../java/org/apache/ranger/db/XXPortalUserDao.java | 279 +++---
 .../org/apache/ranger/db/XXPortalUserRoleDao.java  |  92 +-
 .../apache/ranger/db/XXRMSMappingProviderDao.java  |  24 +-
 .../org/apache/ranger/db/XXRMSNotificationDao.java | 194 +++--
 .../apache/ranger/db/XXRMSResourceMappingDao.java  | 209 +++--
 .../apache/ranger/db/XXRMSServiceResourceDao.java  | 441 +++++-----
 .../java/org/apache/ranger/db/XXResourceDao.java   | 478 +++++------
 .../org/apache/ranger/db/XXResourceDefDao.java     | 146 ++--
 .../main/java/org/apache/ranger/db/XXRoleDao.java  |  78 +-
 .../org/apache/ranger/db/XXRoleRefGroupDao.java    |  41 +-
 .../org/apache/ranger/db/XXRoleRefRoleDao.java     |  69 +-
 .../org/apache/ranger/db/XXRoleRefUserDao.java     |  40 +-
 .../org/apache/ranger/db/XXSecurityZoneDao.java    |  97 ++-
 .../ranger/db/XXSecurityZoneRefGroupDao.java       |  58 +-
 .../ranger/db/XXSecurityZoneRefResourceDao.java    |  46 +-
 .../apache/ranger/db/XXSecurityZoneRefRoleDao.java |  52 +-
 .../ranger/db/XXSecurityZoneRefServiceDao.java     | 100 +--
 .../ranger/db/XXSecurityZoneRefTagServiceDao.java  |  51 +-
 .../apache/ranger/db/XXSecurityZoneRefUserDao.java |  56 +-
 .../apache/ranger/db/XXServiceConfigDefDao.java    |  72 +-
 .../apache/ranger/db/XXServiceConfigMapDao.java    | 209 ++---
 .../java/org/apache/ranger/db/XXServiceDao.java    | 312 +++----
 .../java/org/apache/ranger/db/XXServiceDefDao.java | 314 +++----
 .../ranger/db/XXServiceDefWithAssignedIdDao.java   |   8 +-
 .../org/apache/ranger/db/XXServiceResourceDao.java | 182 ++--
 .../ranger/db/XXServiceResourceElementDao.java     |  89 +-
 .../db/XXServiceResourceElementValueDao.java       | 136 +--
 .../apache/ranger/db/XXServiceVersionInfoDao.java  | 273 +++---
 .../ranger/db/XXServiceWithAssignedIdDao.java      |   8 +-
 .../org/apache/ranger/db/XXTagAttributeDao.java    | 112 +--
 .../org/apache/ranger/db/XXTagAttributeDefDao.java |  84 +-
 .../org/apache/ranger/db/XXTagChangeLogDao.java    |  47 +-
 .../main/java/org/apache/ranger/db/XXTagDao.java   | 227 ++---
 .../java/org/apache/ranger/db/XXTagDefDao.java     | 112 +--
 .../org/apache/ranger/db/XXTagResourceMapDao.java  | 331 ++++----
 .../java/org/apache/ranger/db/XXTrxLogV2Dao.java   |  11 +-
 .../org/apache/ranger/db/XXUgsyncAuditInfoDao.java |  79 +-
 .../main/java/org/apache/ranger/db/XXUserDao.java  | 359 ++++----
 .../org/apache/ranger/db/XXUserPermissionDao.java  | 251 +++---
 94 files changed, 6851 insertions(+), 6619 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java b/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
index f63828c20..116c04e47 100644
--- a/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
+++ b/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
@@ -17,78 +17,77 @@
  * under the License.
  */
 
- package org.apache.ranger.credentialapi;
-import java.util.ArrayList;
-import java.util.List;
+package org.apache.ranger.credentialapi;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.alias.CredentialProvider;
 import org.apache.hadoop.security.alias.CredentialProviderFactory;
 import org.apache.hadoop.security.alias.JavaKeyStoreProvider;
+
+import java.util.List;
+
 public class CredentialReader {
+    private CredentialReader(){
+        // to block instantiation
+    }
+
+    public static String getDecryptedString(String crendentialProviderPath, String alias, String storeType) {
+        String credential = null;
+
+        try {
+            if (crendentialProviderPath == null || alias == null || crendentialProviderPath.trim().isEmpty() || alias.trim().isEmpty()) {
+                return null;
+            }
+
+            String crendentialProviderPrefixJceks      = (JavaKeyStoreProvider.SCHEME_NAME + "://file").toLowerCase();
+            String crendentialProviderPrefixLocalJceks = "localjceks://file";
+            String crendentialProviderPrefixBcfks      = "bcfks://file";
+            String crendentialProviderPrefixLocalBcfks = "localbcfks://file";
+
+            crendentialProviderPath = crendentialProviderPath.trim();
+            alias                   = alias.trim();
+
+            Configuration conf = new Configuration();
+
+            if (crendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixJceks) ||
+                    crendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixLocalJceks) ||
+                    crendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixBcfks) ||
+                    crendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixLocalBcfks)) {
+                conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, crendentialProviderPath);
+            } else {
+                if (crendentialProviderPath.startsWith("/")) {
+                    if (StringUtils.equalsIgnoreCase(storeType, "bcfks")) {
+                        conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, crendentialProviderPath);
+                    } else {
+                        conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, JavaKeyStoreProvider.SCHEME_NAME + "://file" + crendentialProviderPath);
+                    }
+                } else {
+                    conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, JavaKeyStoreProvider.SCHEME_NAME + "://file/" + crendentialProviderPath);
+                }
+            }
+
+            List<CredentialProvider> providers = CredentialProviderFactory.getProviders(conf);
+
+            for (CredentialProvider provider : providers) {
+                List<String> aliasesList = provider.getAliases();
+
+                if (aliasesList != null && aliasesList.contains(alias.toLowerCase())) {
+                    CredentialProvider.CredentialEntry credEntry = provider.getCredentialEntry(alias.toLowerCase());
+                    char[]                             pass      = credEntry.getCredential();
+
+                    if (pass != null && pass.length > 0) {
+                        credential = String.valueOf(pass);
+
+                        break;
+                    }
+                }
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            credential = null;
+        }
 
-	public static String getDecryptedString(String CrendentialProviderPath,String alias, String storeType) {
-		  String credential=null;
-		  try{
-			  if(CrendentialProviderPath==null || alias==null||CrendentialProviderPath.trim().isEmpty()||alias.trim().isEmpty()){
-				  return null;
-			  }
-			  char[] pass = null;
-			  Configuration conf = new Configuration();
-			  String crendentialProviderPrefixJceks=JavaKeyStoreProvider.SCHEME_NAME + "://file";
-			  String crendentialProviderPrefixLocalJceks="localjceks://file";
-			  crendentialProviderPrefixJceks=crendentialProviderPrefixJceks.toLowerCase();
-
-			  String crendentialProviderPrefixBcfks= "bcfks" + "://file";
-			  String crendentialProviderPrefixLocalBcfks= "localbcfks" + "://file";
-			  crendentialProviderPrefixBcfks=crendentialProviderPrefixBcfks.toLowerCase();
-			  crendentialProviderPrefixLocalBcfks=crendentialProviderPrefixLocalBcfks.toLowerCase();
-
-			  CrendentialProviderPath=CrendentialProviderPath.trim();
-			  alias=alias.trim();
-			  if(CrendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixJceks) ||
-					  CrendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixLocalJceks) ||
-					  CrendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixBcfks) ||
-					  CrendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefixLocalBcfks)){
-				  conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
-						  //UserProvider.SCHEME_NAME + ":///," +
-						  CrendentialProviderPath);
-			  }else{
-				  if(CrendentialProviderPath.startsWith("/")){
-					  if(StringUtils.equalsIgnoreCase(storeType, "bcfks")) {
-						  conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, CrendentialProviderPath);
-					  } else {
-						  conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
-								  //UserProvider.SCHEME_NAME + ":///," +
-								  JavaKeyStoreProvider.SCHEME_NAME + "://file" + CrendentialProviderPath);
-					  }
-
-				  }else{
-					  conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
-							  //UserProvider.SCHEME_NAME + ":///," +
-							  JavaKeyStoreProvider.SCHEME_NAME + "://file/" + CrendentialProviderPath);
-				  }
-			  }
-			  List<CredentialProvider> providers = CredentialProviderFactory.getProviders(conf);
-			  List<String> aliasesList=new ArrayList<String>();
-			  CredentialProvider.CredentialEntry credEntry=null;
-			  for(CredentialProvider provider: providers) {
-	              //System.out.println("Credential Provider :" + provider);
-				  aliasesList=provider.getAliases();
-				  if(aliasesList!=null && aliasesList.contains(alias.toLowerCase())){
-					  credEntry=null;
-					  credEntry= provider.getCredentialEntry(alias.toLowerCase());
-					  pass = credEntry.getCredential();
-					  if(pass!=null && pass.length>0){
-						  credential=String.valueOf(pass);
-						  break;
-					  }				
-				  }
-			  }
-		  }catch(Exception ex){
-			  ex.printStackTrace();
-			  credential=null;
-		  }
-		  return credential;
-	  }
+        return credential;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManager.java b/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManager.java
index 81f9a1681..380c2e134 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManager.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManager.java
@@ -17,12 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-
-
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.StringUtil;
 import org.apache.ranger.common.db.RangerTransactionSynchronizationAdapter;
@@ -31,42 +26,41 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
 @Component
 public class RangerDaoManager extends RangerDaoManagerBase {
-	private static final Logger logger = LoggerFactory.getLogger(RangerDaoManager.class);
-
-	@PersistenceContext(unitName = "defaultPU")
-	private EntityManager em;
+    private static final Logger logger = LoggerFactory.getLogger(RangerDaoManager.class);
 
-	@Autowired
-	StringUtil stringUtil;
+    @Autowired
+    StringUtil stringUtil;
 
-	@Autowired
-	RangerTransactionSynchronizationAdapter transactionSynchronizationAdapter;
+    @Autowired
+    RangerTransactionSynchronizationAdapter transactionSynchronizationAdapter;
 
-	@Override
-	public EntityManager getEntityManager() {
-		return em;
-	}
+    @PersistenceContext(unitName = "defaultPU")
+    private EntityManager em;
 
-	public EntityManager getEntityManager(String persistenceContextUnit) {
-		if(logger.isDebugEnabled()) {
-			logger.debug("RangerDaoManager.getEntityManager(" + persistenceContextUnit + ")");
-		}
+    @Override
+    public EntityManager getEntityManager() {
+        return em;
+    }
 
-		return getEntityManager();
-	}
+    public EntityManager getEntityManager(String persistenceContextUnit) {
+        logger.debug("RangerDaoManager.getEntityManager({})", persistenceContextUnit);
 
-	
-	/**
-	 * @return the stringUtil
-	 */
-	public StringUtil getStringUtil() {
-		return stringUtil;
-	}
+        return getEntityManager();
+    }
 
-	public RangerTransactionSynchronizationAdapter getRangerTransactionSynchronizationAdapter() {
-		return transactionSynchronizationAdapter;
-	}
+    /**
+     * @return the stringUtil
+     */
+    public StringUtil getStringUtil() {
+        return stringUtil;
+    }
 
+    public RangerTransactionSynchronizationAdapter getRangerTransactionSynchronizationAdapter() {
+        return transactionSynchronizationAdapter;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManagerBase.java b/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManagerBase.java
index 6b56527ae..aa1aa6ad9 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManagerBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/RangerDaoManagerBase.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
 
 /**
  *
@@ -26,311 +26,375 @@
 import javax.persistence.EntityManager;
 
 public abstract class RangerDaoManagerBase {
+    public RangerDaoManagerBase() {
+    }
 
-	abstract public EntityManager getEntityManager();
+    public abstract  EntityManager getEntityManager();
 
-	public RangerDaoManagerBase() {
-	}
+    public XXDBBaseDao getXXDBBase() {
+        return new XXDBBaseDao(this);
+    }
 
-	public XXDBBaseDao getXXDBBase() {
-		return new XXDBBaseDao(this);
-	}
+    public XXAuthSessionDao getXXAuthSession() {
+        return new XXAuthSessionDao(this);
+    }
 
-	public XXAuthSessionDao getXXAuthSession() {
-		return new XXAuthSessionDao(this);
-	}
+    public XXPortalUserDao getXXPortalUser() {
+        return new XXPortalUserDao(this);
+    }
 
-	public XXPortalUserDao getXXPortalUser() {
-		return new XXPortalUserDao(this);
-	}
+    public XXPortalUserRoleDao getXXPortalUserRole() {
+        return new XXPortalUserRoleDao(this);
+    }
 
-	public XXPortalUserRoleDao getXXPortalUserRole() {
-		return new XXPortalUserRoleDao(this);
-	}
+    public XXAssetDao getXXAsset() {
+        return new XXAssetDao(this);
+    }
 
-	public XXAssetDao getXXAsset() {
-		return new XXAssetDao(this);
-	}
+    public XXResourceDao getXXResource() {
+        return new XXResourceDao(this);
+    }
 
-	public XXResourceDao getXXResource() {
-		return new XXResourceDao(this);
-	}
+    public XXCredentialStoreDao getXXCredentialStore() {
+        return new XXCredentialStoreDao(this);
+    }
 
-	public XXCredentialStoreDao getXXCredentialStore() {
-		return new XXCredentialStoreDao(this);
-	}
-
-	public XXGroupDao getXXGroup() {
-		return new XXGroupDao(this);
-	}
-
-	public XXUserDao getXXUser() {
-		return new XXUserDao(this);
-	}
-
-	public XXGroupUserDao getXXGroupUser() {
-		return new XXGroupUserDao(this);
-	}
-
-	public XXGroupGroupDao getXXGroupGroup() {
-		return new XXGroupGroupDao(this);
-	}
-
-	public XXPermMapDao getXXPermMap() {
-		return new XXPermMapDao(this);
-	}
-
-	public XXAuditMapDao getXXAuditMap() {
-		return new XXAuditMapDao(this);
-	}
-
-	public XXPolicyExportAuditDao getXXPolicyExportAudit() {
-		return new XXPolicyExportAuditDao(this);
-	}
-
-	public XXTrxLogV2Dao getXXTrxLogV2() {
-		return new XXTrxLogV2Dao(this);
-	}
-
-	public XXAccessAuditDao getXXAccessAudit() {
-		//Load appropriate class based on audit store
-		//TODO: Need to fix this, currently hard coding Solr
-		
-		return new XXAccessAuditDao(this);
-	}
-
-	public XXPolicyDao getXXPolicy() {
-		return new XXPolicyDao(this);
-	}
-
-	public XXServiceDao getXXService() {
-		return new XXServiceDao(this);
-	}
-
-	public XXPolicyItemDao getXXPolicyItem() {
-		return new XXPolicyItemDao(this);
-	}
-
-	public XXServiceDefDao getXXServiceDef() {
-		return new XXServiceDefDao(this);
-	}
-
-	public XXServiceConfigDefDao getXXServiceConfigDef() {
-		return new XXServiceConfigDefDao(this);
-	}
-
-	public XXResourceDefDao getXXResourceDef() {
-		return new XXResourceDefDao(this);
-	}
-
-        public XXPolicyLabelDao getXXPolicyLabels() {
-                return new XXPolicyLabelDao(this);
-        }
-
-        public XXPolicyLabelMapDao getXXPolicyLabelMap() {
-                return new XXPolicyLabelMapDao(this);
-        }
-
-	public XXAccessTypeDefDao getXXAccessTypeDef() {
-		return new XXAccessTypeDefDao(this);
-	}
-
-	public XXAccessTypeDefGrantsDao getXXAccessTypeDefGrants() {
-		return new XXAccessTypeDefGrantsDao(this);
-	}
-
-	public XXPolicyConditionDefDao getXXPolicyConditionDef() {
-		return new XXPolicyConditionDefDao(this);
-	}
-
-	public XXContextEnricherDefDao getXXContextEnricherDef() {
-		return new XXContextEnricherDefDao(this);
-	}
-
-	public XXEnumDefDao getXXEnumDef() {
-		return new XXEnumDefDao(this);
-	}
-
-	public XXEnumElementDefDao getXXEnumElementDef() {
-		return new XXEnumElementDefDao(this);
-	}
-	
-	public XXServiceConfigMapDao getXXServiceConfigMap() {
-		return new XXServiceConfigMapDao(this);
-	}
-	
-	public XXPolicyResourceDao getXXPolicyResource() {
-		return new XXPolicyResourceDao(this);
-	}
-	
-	public XXPolicyResourceMapDao getXXPolicyResourceMap() {
-		return new XXPolicyResourceMapDao(this);
-	}
-	
-	public XXPolicyItemAccessDao getXXPolicyItemAccess() {
-		return new XXPolicyItemAccessDao(this);
-	}
-
-	public XXPolicyItemConditionDao getXXPolicyItemCondition() {
-		return new XXPolicyItemConditionDao(this);
-	}
-	
-	public XXPolicyItemUserPermDao getXXPolicyItemUserPerm() {
-		return new XXPolicyItemUserPermDao(this);
-	}
-	
-	public XXPolicyItemGroupPermDao getXXPolicyItemGroupPerm() {
-		return new XXPolicyItemGroupPermDao(this);
-	}
-
-	public XXDataHistDao getXXDataHist() {
-		return new XXDataHistDao(this);
-	}
-	
-	public XXPolicyWithAssignedIdDao getXXPolicyWithAssignedId() {
-		return new XXPolicyWithAssignedIdDao(this);
-	}
-	
-	public XXServiceWithAssignedIdDao getXXServiceWithAssignedId() {
-		return new XXServiceWithAssignedIdDao(this);
-	}
-
-	public XXModuleDefDao getXXModuleDef(){
-		return new XXModuleDefDao(this);
-	}
-
-	public XXUserPermissionDao getXXUserPermission(){
-		return new XXUserPermissionDao(this);
-	}
-
-	public XXGroupPermissionDao getXXGroupPermission(){
-		return new XXGroupPermissionDao(this);
-	}
-	
-	public XXServiceDefWithAssignedIdDao getXXServiceDefWithAssignedId() {
-		return new XXServiceDefWithAssignedIdDao(this);
-	}
-
-	public XXTagDefDao getXXTagDef() {
-		return new XXTagDefDao(this);
-	}
-
-	public XXTagAttributeDefDao getXXTagAttributeDef() {
-		return new XXTagAttributeDefDao(this);
-	}
+    public XXGroupDao getXXGroup() {
+        return new XXGroupDao(this);
+    }
 
-	public XXServiceResourceDao getXXServiceResource() {
-		return new XXServiceResourceDao(this);
-	}
-
-	public XXServiceResourceElementDao getXXServiceResourceElement() {
-		return new XXServiceResourceElementDao(this);
-	}
-
-	public XXServiceResourceElementValueDao getXXServiceResourceElementValue() {
-		return new XXServiceResourceElementValueDao(this);
-	}
-
-	public XXTagDao getXXTag() {
-		return new XXTagDao(this);
-	}
-
-	public XXTagAttributeDao getXXTagAttribute() {
-		return new XXTagAttributeDao(this);
-	}
-
-	public XXTagResourceMapDao getXXTagResourceMap() {
-		return new XXTagResourceMapDao(this);
-	}
-
-	public XXDataMaskTypeDefDao getXXDataMaskTypeDef() { return new XXDataMaskTypeDefDao(this); }
-
-	public XXPolicyItemDataMaskInfoDao getXXPolicyItemDataMaskInfo() {
-		return new XXPolicyItemDataMaskInfoDao(this);
-	}
-
-	public XXPolicyItemRowFilterInfoDao getXXPolicyItemRowFilterInfo() {
-		return new XXPolicyItemRowFilterInfoDao(this);
-	}
-
-	public XXServiceVersionInfoDao getXXServiceVersionInfo() {
-		return new XXServiceVersionInfoDao(this);
-	}
-
-	public XXPluginInfoDao getXXPluginInfo() {
-		return new XXPluginInfoDao(this);
-	}
-
-	public XXUgsyncAuditInfoDao getXXUgsyncAuditInfo() {
-		return new XXUgsyncAuditInfoDao(this);
-	}
+    public XXUserDao getXXUser() {
+        return new XXUserDao(this);
+    }
 
-	public XXPolicyRefConditionDao getXXPolicyRefCondition() {
-		return new XXPolicyRefConditionDao(this);
-	}
+    public XXGroupUserDao getXXGroupUser() {
+        return new XXGroupUserDao(this);
+    }
 
-	public XXPolicyRefGroupDao getXXPolicyRefGroup() {
-		return new XXPolicyRefGroupDao(this);
-	}
+    public XXGroupGroupDao getXXGroupGroup() {
+        return new XXGroupGroupDao(this);
+    }
 
-	public XXPolicyRefDataMaskTypeDao getXXPolicyRefDataMaskType() {
-		return new XXPolicyRefDataMaskTypeDao(this);
-	}
+    public XXPermMapDao getXXPermMap() {
+        return new XXPermMapDao(this);
+    }
 
-	public XXPolicyRefResourceDao getXXPolicyRefResource() {
-		return new XXPolicyRefResourceDao(this);
-	}
+    public XXAuditMapDao getXXAuditMap() {
+        return new XXAuditMapDao(this);
+    }
 
-	public XXPolicyRefUserDao getXXPolicyRefUser() {
-		return new XXPolicyRefUserDao(this);
-	}
+    public XXPolicyExportAuditDao getXXPolicyExportAudit() {
+        return new XXPolicyExportAuditDao(this);
+    }
 
-	public XXPolicyRefAccessTypeDao getXXPolicyRefAccessType() {
-		return new XXPolicyRefAccessTypeDao(this);
-	}
+    public XXTrxLogV2Dao getXXTrxLogV2() {
+        return new XXTrxLogV2Dao(this);
+    }
 
-	public XXSecurityZoneDao getXXSecurityZoneDao() { return new XXSecurityZoneDao(this); }
+    public XXAccessAuditDao getXXAccessAudit() {
+        //Load appropriate class based on audit store
+        //TODO: Need to fix this, currently hard coding Solr
 
-	public XXSecurityZoneRefServiceDao getXXSecurityZoneRefService() { return new XXSecurityZoneRefServiceDao(this); }
+        return new XXAccessAuditDao(this);
+    }
 
-	public XXSecurityZoneRefTagServiceDao getXXSecurityZoneRefTagService() { return new XXSecurityZoneRefTagServiceDao(this); }
+    public XXPolicyDao getXXPolicy() {
+        return new XXPolicyDao(this);
+    }
 
-	public XXSecurityZoneRefResourceDao getXXSecurityZoneRefResource() { return new XXSecurityZoneRefResourceDao(this); }
+    public XXServiceDao getXXService() {
+        return new XXServiceDao(this);
+    }
 
-	public XXSecurityZoneRefUserDao getXXSecurityZoneRefUser() { return new XXSecurityZoneRefUserDao(this); }
+    public XXPolicyItemDao getXXPolicyItem() {
+        return new XXPolicyItemDao(this);
+    }
 
-	public XXSecurityZoneRefGroupDao getXXSecurityZoneRefGroup() { return new XXSecurityZoneRefGroupDao(this); }
+    public XXServiceDefDao getXXServiceDef() {
+        return new XXServiceDefDao(this);
+    }
 
-	public XXSecurityZoneRefRoleDao getXXSecurityZoneRefRole() { return new XXSecurityZoneRefRoleDao(this); }
+    public XXServiceConfigDefDao getXXServiceConfigDef() {
+        return new XXServiceConfigDefDao(this);
+    }
 
-	public XXGlobalStateDao getXXGlobalState() { return new XXGlobalStateDao(this); }
+    public XXResourceDefDao getXXResourceDef() {
+        return new XXResourceDefDao(this);
+    }
 
-	public XXPolicyChangeLogDao getXXPolicyChangeLog() { return new XXPolicyChangeLogDao(this); }
+    public XXPolicyLabelDao getXXPolicyLabels() {
+        return new XXPolicyLabelDao(this);
+    }
 
-	public XXRoleDao getXXRole() { return new XXRoleDao(this); }
+    public XXPolicyLabelMapDao getXXPolicyLabelMap() {
+        return new XXPolicyLabelMapDao(this);
+    }
 
-	public XXPolicyRefRoleDao getXXPolicyRefRole() { return new XXPolicyRefRoleDao(this); }
+    public XXAccessTypeDefDao getXXAccessTypeDef() {
+        return new XXAccessTypeDefDao(this);
+    }
 
-	public XXRoleRefUserDao getXXRoleRefUser() { return new XXRoleRefUserDao(this); }
+    public XXAccessTypeDefGrantsDao getXXAccessTypeDefGrants() {
+        return new XXAccessTypeDefGrantsDao(this);
+    }
 
-	public XXRoleRefGroupDao getXXRoleRefGroup() { return new XXRoleRefGroupDao(this); }
+    public XXPolicyConditionDefDao getXXPolicyConditionDef() {
+        return new XXPolicyConditionDefDao(this);
+    }
 
-	public XXRoleRefRoleDao getXXRoleRefRole() { return new XXRoleRefRoleDao(this); }
+    public XXContextEnricherDefDao getXXContextEnricherDef() {
+        return new XXContextEnricherDefDao(this);
+    }
 
-	public XXTagChangeLogDao getXXTagChangeLog() { return new XXTagChangeLogDao(this); }
+    public XXEnumDefDao getXXEnumDef() {
+        return new XXEnumDefDao(this);
+    }
 
-	public XXRMSMappingProviderDao getXXRMSMappingProvider() { return new XXRMSMappingProviderDao(this); }
-	public XXRMSNotificationDao getXXRMSNotification() { return new XXRMSNotificationDao(this); }
-	public XXRMSServiceResourceDao getXXRMSServiceResource() { return new XXRMSServiceResourceDao(this); }
-	public XXRMSResourceMappingDao getXXRMSResourceMapping() { return new XXRMSResourceMappingDao(this); }
+    public XXEnumElementDefDao getXXEnumElementDef() {
+        return new XXEnumElementDefDao(this);
+    }
 
-	public XXGdsDatasetDao getXXGdsDataset() { return new XXGdsDatasetDao(this); }
-	public XXGdsProjectDao getXXGdsProject() { return new XXGdsProjectDao(this); }
-	public XXGdsDataShareDao getXXGdsDataShare() { return new XXGdsDataShareDao(this); }
-	public XXGdsSharedResourceDao getXXGdsSharedResource() { return new XXGdsSharedResourceDao(this); }
-	public XXGdsDataShareInDatasetDao getXXGdsDataShareInDataset() { return new XXGdsDataShareInDatasetDao(this); }
-	public XXGdsDatasetInProjectDao getXXGdsDatasetInProject() { return new XXGdsDatasetInProjectDao(this); }
-	public XXGdsDatasetPolicyMapDao getXXGdsDatasetPolicyMap() { return new XXGdsDatasetPolicyMapDao(this); }
-	public XXGdsProjectPolicyMapDao getXXGdsProjectPolicyMap() { return new XXGdsProjectPolicyMapDao(this); }
-}
+    public XXServiceConfigMapDao getXXServiceConfigMap() {
+        return new XXServiceConfigMapDao(this);
+    }
+
+    public XXPolicyResourceDao getXXPolicyResource() {
+        return new XXPolicyResourceDao(this);
+    }
+
+    public XXPolicyResourceMapDao getXXPolicyResourceMap() {
+        return new XXPolicyResourceMapDao(this);
+    }
+
+    public XXPolicyItemAccessDao getXXPolicyItemAccess() {
+        return new XXPolicyItemAccessDao(this);
+    }
+
+    public XXPolicyItemConditionDao getXXPolicyItemCondition() {
+        return new XXPolicyItemConditionDao(this);
+    }
+
+    public XXPolicyItemUserPermDao getXXPolicyItemUserPerm() {
+        return new XXPolicyItemUserPermDao(this);
+    }
+
+    public XXPolicyItemGroupPermDao getXXPolicyItemGroupPerm() {
+        return new XXPolicyItemGroupPermDao(this);
+    }
+
+    public XXDataHistDao getXXDataHist() {
+        return new XXDataHistDao(this);
+    }
+
+    public XXPolicyWithAssignedIdDao getXXPolicyWithAssignedId() {
+        return new XXPolicyWithAssignedIdDao(this);
+    }
+
+    public XXServiceWithAssignedIdDao getXXServiceWithAssignedId() {
+        return new XXServiceWithAssignedIdDao(this);
+    }
+
+    public XXModuleDefDao getXXModuleDef() {
+        return new XXModuleDefDao(this);
+    }
+
+    public XXUserPermissionDao getXXUserPermission() {
+        return new XXUserPermissionDao(this);
+    }
+
+    public XXGroupPermissionDao getXXGroupPermission() {
+        return new XXGroupPermissionDao(this);
+    }
+
+    public XXServiceDefWithAssignedIdDao getXXServiceDefWithAssignedId() {
+        return new XXServiceDefWithAssignedIdDao(this);
+    }
+
+    public XXTagDefDao getXXTagDef() {
+        return new XXTagDefDao(this);
+    }
+
+    public XXTagAttributeDefDao getXXTagAttributeDef() {
+        return new XXTagAttributeDefDao(this);
+    }
+
+    public XXServiceResourceDao getXXServiceResource() {
+        return new XXServiceResourceDao(this);
+    }
+
+    public XXServiceResourceElementDao getXXServiceResourceElement() {
+        return new XXServiceResourceElementDao(this);
+    }
+
+    public XXServiceResourceElementValueDao getXXServiceResourceElementValue() {
+        return new XXServiceResourceElementValueDao(this);
+    }
+
+    public XXTagDao getXXTag() {
+        return new XXTagDao(this);
+    }
+
+    public XXTagAttributeDao getXXTagAttribute() {
+        return new XXTagAttributeDao(this);
+    }
+
+    public XXTagResourceMapDao getXXTagResourceMap() {
+        return new XXTagResourceMapDao(this);
+    }
+
+    public XXDataMaskTypeDefDao getXXDataMaskTypeDef() {
+        return new XXDataMaskTypeDefDao(this);
+    }
+
+    public XXPolicyItemDataMaskInfoDao getXXPolicyItemDataMaskInfo() {
+        return new XXPolicyItemDataMaskInfoDao(this);
+    }
+
+    public XXPolicyItemRowFilterInfoDao getXXPolicyItemRowFilterInfo() {
+        return new XXPolicyItemRowFilterInfoDao(this);
+    }
+
+    public XXServiceVersionInfoDao getXXServiceVersionInfo() {
+        return new XXServiceVersionInfoDao(this);
+    }
+
+    public XXPluginInfoDao getXXPluginInfo() {
+        return new XXPluginInfoDao(this);
+    }
+
+    public XXUgsyncAuditInfoDao getXXUgsyncAuditInfo() {
+        return new XXUgsyncAuditInfoDao(this);
+    }
+
+    public XXPolicyRefConditionDao getXXPolicyRefCondition() {
+        return new XXPolicyRefConditionDao(this);
+    }
+
+    public XXPolicyRefGroupDao getXXPolicyRefGroup() {
+        return new XXPolicyRefGroupDao(this);
+    }
+
+    public XXPolicyRefDataMaskTypeDao getXXPolicyRefDataMaskType() {
+        return new XXPolicyRefDataMaskTypeDao(this);
+    }
 
+    public XXPolicyRefResourceDao getXXPolicyRefResource() {
+        return new XXPolicyRefResourceDao(this);
+    }
+
+    public XXPolicyRefUserDao getXXPolicyRefUser() {
+        return new XXPolicyRefUserDao(this);
+    }
+
+    public XXPolicyRefAccessTypeDao getXXPolicyRefAccessType() {
+        return new XXPolicyRefAccessTypeDao(this);
+    }
+
+    public XXSecurityZoneDao getXXSecurityZoneDao() {
+        return new XXSecurityZoneDao(this);
+    }
+
+    public XXSecurityZoneRefServiceDao getXXSecurityZoneRefService() {
+        return new XXSecurityZoneRefServiceDao(this);
+    }
+
+    public XXSecurityZoneRefTagServiceDao getXXSecurityZoneRefTagService() {
+        return new XXSecurityZoneRefTagServiceDao(this);
+    }
+
+    public XXSecurityZoneRefResourceDao getXXSecurityZoneRefResource() {
+        return new XXSecurityZoneRefResourceDao(this);
+    }
+
+    public XXSecurityZoneRefUserDao getXXSecurityZoneRefUser() {
+        return new XXSecurityZoneRefUserDao(this);
+    }
+
+    public XXSecurityZoneRefGroupDao getXXSecurityZoneRefGroup() {
+        return new XXSecurityZoneRefGroupDao(this);
+    }
+
+    public XXSecurityZoneRefRoleDao getXXSecurityZoneRefRole() {
+        return new XXSecurityZoneRefRoleDao(this);
+    }
+
+    public XXGlobalStateDao getXXGlobalState() {
+        return new XXGlobalStateDao(this);
+    }
+
+    public XXPolicyChangeLogDao getXXPolicyChangeLog() {
+        return new XXPolicyChangeLogDao(this);
+    }
+
+    public XXRoleDao getXXRole() {
+        return new XXRoleDao(this);
+    }
+
+    public XXPolicyRefRoleDao getXXPolicyRefRole() {
+        return new XXPolicyRefRoleDao(this);
+    }
+
+    public XXRoleRefUserDao getXXRoleRefUser() {
+        return new XXRoleRefUserDao(this);
+    }
+
+    public XXRoleRefGroupDao getXXRoleRefGroup() {
+        return new XXRoleRefGroupDao(this);
+    }
+
+    public XXRoleRefRoleDao getXXRoleRefRole() {
+        return new XXRoleRefRoleDao(this);
+    }
+
+    public XXTagChangeLogDao getXXTagChangeLog() {
+        return new XXTagChangeLogDao(this);
+    }
+
+    public XXRMSMappingProviderDao getXXRMSMappingProvider() {
+        return new XXRMSMappingProviderDao(this);
+    }
+
+    public XXRMSNotificationDao getXXRMSNotification() {
+        return new XXRMSNotificationDao(this);
+    }
+
+    public XXRMSServiceResourceDao getXXRMSServiceResource() {
+        return new XXRMSServiceResourceDao(this);
+    }
+
+    public XXRMSResourceMappingDao getXXRMSResourceMapping() {
+        return new XXRMSResourceMappingDao(this);
+    }
+
+    public XXGdsDatasetDao getXXGdsDataset() {
+        return new XXGdsDatasetDao(this);
+    }
+
+    public XXGdsProjectDao getXXGdsProject() {
+        return new XXGdsProjectDao(this);
+    }
+
+    public XXGdsDataShareDao getXXGdsDataShare() {
+        return new XXGdsDataShareDao(this);
+    }
+
+    public XXGdsSharedResourceDao getXXGdsSharedResource() {
+        return new XXGdsSharedResourceDao(this);
+    }
+
+    public XXGdsDataShareInDatasetDao getXXGdsDataShareInDataset() {
+        return new XXGdsDataShareInDatasetDao(this);
+    }
+
+    public XXGdsDatasetInProjectDao getXXGdsDatasetInProject() {
+        return new XXGdsDatasetInProjectDao(this);
+    }
+
+    public XXGdsDatasetPolicyMapDao getXXGdsDatasetPolicyMap() {
+        return new XXGdsDatasetPolicyMapDao(this);
+    }
+
+    public XXGdsProjectPolicyMapDao getXXGdsProjectPolicyMap() {
+        return new XXGdsProjectPolicyMapDao(this);
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java
index 7d60c5f67..f387142b2 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java
@@ -17,11 +17,8 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-import javax.persistence.NoResultException;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXAccessAudit;
 import org.apache.ranger.entity.XXAccessAuditV4;
@@ -30,89 +27,118 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXAccessAuditDao extends BaseDao<XXAccessAudit> {
-	private static final Logger logger = LoggerFactory.getLogger(XXAccessAuditDao.class);
-    public XXAccessAuditDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    private static final Logger logger = LoggerFactory.getLogger(XXAccessAuditDao.class);
+
+    public XXAccessAuditDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
-    public Long getMaxIdOfXXAccessAudit(){
-		Long maxXXAccessAuditID=Long.valueOf(0L);
-		try {
-			maxXXAccessAuditID = (Long) getEntityManager()
-					.createNamedQuery("XXAccessAudit.getMaxIdOfXXAccessAudit", Long.class)
-					.getSingleResult();
-		} catch (NoResultException e) {
-			logger.debug(e.getMessage());
-		}finally{
-			if(maxXXAccessAuditID==null){
-				maxXXAccessAuditID=Long.valueOf(0L);
-			}
-		}
-		return maxXXAccessAuditID;
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getColumnNames(String db_flavor){
-		List<String> columnList=new ArrayList<String>();
-		String sqlStr=null;
-		if("MYSQL".equalsIgnoreCase(db_flavor)){
-			sqlStr="SELECT lower(column_name) FROM information_schema.columns WHERE table_schema=database() AND table_name = 'xa_access_audit'";
-		}else if("ORACLE".equalsIgnoreCase(db_flavor)){
-			sqlStr="SELECT lower(column_name) FROM user_tab_cols WHERE table_name = upper('XA_ACCESS_AUDIT')";
-		}else if("POSTGRES".equalsIgnoreCase(db_flavor)){
-			sqlStr="SELECT lower(attname) FROM pg_attribute WHERE attrelid IN(SELECT oid FROM pg_class WHERE relname='xa_access_audit')";
-		}else if("MSSQL".equalsIgnoreCase(db_flavor)){
-			sqlStr="SELECT lower(column_name) FROM INFORMATION_SCHEMA.columns WHERE table_name = 'xa_access_audit'";
-		}else if("SQLA".equalsIgnoreCase(db_flavor)){
-			sqlStr="SELECT lower(cname) FROM SYS.SYSCOLUMNS WHERE tname = 'xa_access_audit'";
-		}else{
-			return columnList;
-		}
-		try {
-			columnList=getEntityManager().createNativeQuery(sqlStr).getResultList();
-		} catch (NoResultException e) {
-		}
-		return columnList;
-	}
-	public List<XXAccessAuditV4> getByIdRangeV4(long idFrom,long idTo){
-		//idFrom and idTo both exclusive
-		List<XXAccessAuditV4> xXAccessAuditList = new ArrayList<XXAccessAuditV4>();
-		try {
-			xXAccessAuditList= getEntityManager().createNamedQuery("XXAccessAuditV4.getByIdRangeV4", XXAccessAuditV4.class)
-				.setParameter("idFrom", idFrom)
-				.setParameter("idTo", idTo)
-				.getResultList();
-		} catch (NoResultException e) {
-			logger.debug(e.getMessage());
-		}
-		return xXAccessAuditList;
-	}
-	public List<XXAccessAuditV5> getByIdRangeV5(long idFrom,long idTo){
-		//idFrom and idTo both exclusive
-		List<XXAccessAuditV5> xXAccessAuditList = new ArrayList<XXAccessAuditV5>();
-		try {
-			xXAccessAuditList= getEntityManager().createNamedQuery("XXAccessAuditV5.getByIdRangeV5", XXAccessAuditV5.class)
-				.setParameter("idFrom", idFrom)
-				.setParameter("idTo", idTo)
-				.getResultList();
-		} catch (NoResultException e) {
-			logger.debug(e.getMessage());
-		}
-		return xXAccessAuditList;
-	}
-	public List<XXAccessAudit> getByIdRangeV6(long idFrom,long idTo){
-		//idFrom and idTo both exclusive
-		List<XXAccessAudit> xXAccessAuditList = new ArrayList<XXAccessAudit>();
-		try {
-			xXAccessAuditList= getEntityManager().createNamedQuery("XXAccessAudit.getByIdRangeV6", XXAccessAudit.class)
-				.setParameter("idFrom", idFrom)
-				.setParameter("idTo", idTo)
-				.getResultList();
-		} catch (NoResultException e) {
-			logger.debug(e.getMessage());
-		}
-		return xXAccessAuditList;
-	}
-}
 
+    public Long getMaxIdOfXXAccessAudit() {
+        Long maxXXAccessAuditID = null;
+
+        try {
+            maxXXAccessAuditID = getEntityManager().createNamedQuery("XXAccessAudit.getMaxIdOfXXAccessAudit", Long.class).getSingleResult();
+        } catch (NoResultException e) {
+            logger.debug(e.getMessage());
+        } finally {
+            if (maxXXAccessAuditID == null) {
+                maxXXAccessAuditID = 0L;
+            }
+        }
+
+        return maxXXAccessAuditID;
+    }
+
+    @SuppressWarnings("unchecked")
+    public List<String> getColumnNames(String dbFlavor) {
+        List<String> columnList = null;
+        String       sqlStr     = null;
+
+        if ("MYSQL".equalsIgnoreCase(dbFlavor)) {
+            sqlStr = "SELECT lower(column_name) FROM information_schema.columns WHERE table_schema=database() AND table_name = 'xa_access_audit'";
+        } else if ("ORACLE".equalsIgnoreCase(dbFlavor)) {
+            sqlStr = "SELECT lower(column_name) FROM user_tab_cols WHERE table_name = upper('XA_ACCESS_AUDIT')";
+        } else if ("POSTGRES".equalsIgnoreCase(dbFlavor)) {
+            sqlStr = "SELECT lower(attname) FROM pg_attribute WHERE attrelid IN(SELECT oid FROM pg_class WHERE relname='xa_access_audit')";
+        } else if ("MSSQL".equalsIgnoreCase(dbFlavor)) {
+            sqlStr = "SELECT lower(column_name) FROM INFORMATION_SCHEMA.columns WHERE table_name = 'xa_access_audit'";
+        } else if ("SQLA".equalsIgnoreCase(dbFlavor)) {
+            sqlStr = "SELECT lower(cname) FROM SYS.SYSCOLUMNS WHERE tname = 'xa_access_audit'";
+        }
+
+        try {
+            if (sqlStr != null) {
+                columnList = getEntityManager().createNativeQuery(sqlStr).getResultList();
+            }
+        } catch (NoResultException e) {
+            logger.debug(e.getMessage());
+        } finally {
+            if (columnList == null) {
+                columnList = new ArrayList<>();
+            }
+        }
+
+        return columnList;
+    }
+
+    public List<XXAccessAuditV4> getByIdRangeV4(long idFrom, long idTo) {
+        List<XXAccessAuditV4> xXAccessAuditList = null;
+
+        try {
+            //idFrom and idTo both exclusive
+            xXAccessAuditList = getEntityManager().createNamedQuery("XXAccessAuditV4.getByIdRangeV4", XXAccessAuditV4.class)
+                    .setParameter("idFrom", idFrom).setParameter("idTo", idTo).getResultList();
+        } catch (NoResultException e) {
+            logger.debug(e.getMessage());
+        } finally {
+            if (xXAccessAuditList == null) {
+                xXAccessAuditList = new ArrayList<>();
+            }
+        }
+
+        return xXAccessAuditList;
+    }
+
+    public List<XXAccessAuditV5> getByIdRangeV5(long idFrom, long idTo) {
+        List<XXAccessAuditV5> xXAccessAuditList = null;
+
+        try {
+            //idFrom and idTo both exclusive
+            xXAccessAuditList = getEntityManager().createNamedQuery("XXAccessAuditV5.getByIdRangeV5", XXAccessAuditV5.class)
+                    .setParameter("idFrom", idFrom).setParameter("idTo", idTo).getResultList();
+        } catch (NoResultException e) {
+            logger.debug(e.getMessage());
+        } finally {
+            if (xXAccessAuditList == null) {
+                xXAccessAuditList = new ArrayList<>();
+            }
+        }
+
+        return xXAccessAuditList;
+    }
+
+    public List<XXAccessAudit> getByIdRangeV6(long idFrom, long idTo) {
+        List<XXAccessAudit> xXAccessAuditList = null;
+
+        try {
+            //idFrom and idTo both exclusive
+            xXAccessAuditList = getEntityManager().createNamedQuery("XXAccessAudit.getByIdRangeV6", XXAccessAudit.class)
+                    .setParameter("idFrom", idFrom).setParameter("idTo", idTo).getResultList();
+        } catch (NoResultException e) {
+            logger.debug(e.getMessage());
+        } finally {
+            if (xXAccessAuditList == null) {
+                xXAccessAuditList = new ArrayList<>();
+            }
+        }
+
+        return xXAccessAuditList;
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefDao.java
index 5f4cda7c5..b5244e889 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefDao.java
@@ -17,63 +17,63 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXAccessTypeDef;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
 public class XXAccessTypeDefDao extends BaseDao<XXAccessTypeDef> {
+    public XXAccessTypeDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXAccessTypeDef> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXAccessTypeDef.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXAccessTypeDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-	
-	public List<XXAccessTypeDef> findByServiceDefId(Long serviceDefId) {
-		if (serviceDefId == null) {
-			return new ArrayList<XXAccessTypeDef>();
-		}
-		try {
-			List<XXAccessTypeDef> retList = getEntityManager()
-					.createNamedQuery("XXAccessTypeDef.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-			return retList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXAccessTypeDef>();
-		}
-	}
+    public XXAccessTypeDef findByNameAndServiceId(String name, Long serviceId) {
+        if (name == null || serviceId == null) {
+            return null;
+        }
 
-	public XXAccessTypeDef findByNameAndServiceId(String name, Long serviceId) {
-		if(name == null || serviceId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXAccessTypeDef.findByNameAndServiceId", tClass)
-					.setParameter("name", name).setParameter("serviceId", serviceId)
-					.getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXAccessTypeDef.findByNameAndServiceId", tClass)
+                    .setParameter("name", name).setParameter("serviceId", serviceId)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 
-	public List<String> getNamesByServiceName(String serviceName) {
-		List<String> ret = null;
+    public List<String> getNamesByServiceName(String serviceName) {
+        List<String> ret = null;
 
-		if (serviceName != null) {
-			try {
-			    ret = getEntityManager().createNamedQuery("XXAccessTypeDef.getNamesByServiceName", String.class)
-			                            .setParameter("serviceName", serviceName).getResultList();
-			} catch (NoResultException excp) {
-			    // ignore
-			}
-		}
+        if (serviceName != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXAccessTypeDef.getNamesByServiceName", String.class)
+                        .setParameter("serviceName", serviceName).getResultList();
+            } catch (NoResultException excp) {
+                // ignore
+            }
+        }
 
-		return ret != null ? ret : Collections.emptyList();
-	}
+        return ret != null ? ret : Collections.emptyList();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefGrantsDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefGrantsDao.java
index f980d621f..75b696516 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefGrantsDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAccessTypeDefGrantsDao.java
@@ -17,92 +17,83 @@
 
 package org.apache.ranger.db;
 
+import org.apache.ranger.common.db.BaseDao;
+import org.apache.ranger.entity.XXAccessTypeDefGrants;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.NoResultException;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.persistence.NoResultException;
-
-import org.apache.ranger.common.db.BaseDao;
-import org.apache.ranger.entity.XXAccessTypeDefGrants;
-import org.springframework.stereotype.Service;
-
 @Service
 public class XXAccessTypeDefGrantsDao extends BaseDao<XXAccessTypeDefGrants> {
-
-	public XXAccessTypeDefGrantsDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> findImpliedGrantsByATDId(Long atdId) {
-		if(atdId == null) {
-			return new ArrayList<String>();
-		}
-		try {
-			List<String> returnList = getEntityManager()
-					.createNamedQuery("XXAccessTypeDefGrants.findImpliedGrantsByATDId")
-					.setParameter("atdId", atdId).getResultList();
-			
-			return returnList;
-		} catch (NoResultException e) {
-			return new ArrayList<String>();
-		}
-	}
-
-	public Map<String, List<String>> findImpliedGrantsByServiceDefId(Long serviceDefId) {
-		final Map<String, List<String>> ret = new HashMap<>();
-
-		if (serviceDefId != null) {
-			@SuppressWarnings("unchecked")
-			List<Object[]> rows = (List<Object[]>) getEntityManager()
-					.createNamedQuery("XXAccessTypeDefGrants.findByServiceDefId")
-					.setParameter("serviceDefId", serviceDefId)
-					.getResultList();
-
-			if (rows != null) {
-				for (Object[] row : rows) {
-					String       accessType    = (String) row[0];
-					String       impliedGrant  = (String) row[1];
-					List<String> impliedGrants = ret.get(accessType);
-
-					if (impliedGrants == null) {
-						impliedGrants = new ArrayList<>();
-
-						ret.put(accessType, impliedGrants);
-					}
-
-					impliedGrants.add(impliedGrant);
-				}
-			}
-		}
-
-		return ret;
-	}
-
-	public XXAccessTypeDefGrants findByNameAndATDId(Long atdId, String name) {
-		if (atdId == null || name == null) {
-			return null;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXAccessTypeDefGrants.findByNameAndATDId", tClass)
-					.setParameter("atdId", atdId).setParameter("name", name).getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	public List<XXAccessTypeDefGrants> findByATDId(Long atdId) {
-		if (atdId == null) {
-			return new ArrayList<XXAccessTypeDefGrants>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXAccessTypeDefGrants.findByATDId", tClass)
-					.setParameter("atdId", atdId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXAccessTypeDefGrants>();
-		}
-	}
-
+    public XXAccessTypeDefGrantsDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<String> findImpliedGrantsByATDId(Long atdId) {
+        if (atdId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXAccessTypeDefGrants.findImpliedGrantsByATDId", String.class)
+                    .setParameter("atdId", atdId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public Map<String, List<String>> findImpliedGrantsByServiceDefId(Long serviceDefId) {
+        final Map<String, List<String>> ret = new HashMap<>();
+
+        if (serviceDefId != null) {
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXAccessTypeDefGrants.findByServiceDefId", Object[].class)
+                    .setParameter("serviceDefId", serviceDefId)
+                    .getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    String       accessType    = (String) row[0];
+                    String       impliedGrant  = (String) row[1];
+                    List<String> impliedGrants = ret.computeIfAbsent(accessType, k -> new ArrayList<>());
+
+                    impliedGrants.add(impliedGrant);
+                }
+            }
+        }
+
+        return ret;
+    }
+
+    public XXAccessTypeDefGrants findByNameAndATDId(Long atdId, String name) {
+        if (atdId == null || name == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXAccessTypeDefGrants.findByNameAndATDId", tClass)
+                    .setParameter("atdId", atdId).setParameter("name", name).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXAccessTypeDefGrants> findByATDId(Long atdId) {
+        if (atdId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXAccessTypeDefGrants.findByATDId", tClass)
+                    .setParameter("atdId", atdId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java
index ff54c3005..b9f80bf44 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java
@@ -17,9 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.RangerCommonEnums;
 import org.apache.ranger.common.db.BaseDao;
@@ -28,30 +26,33 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
 @Service
 public class XXAssetDao extends BaseDao<XXAsset> {
-	private static final Logger logger = LoggerFactory.getLogger(XXAssetDao.class);
+    private static final Logger logger = LoggerFactory.getLogger(XXAssetDao.class);
 
-    public XXAssetDao( RangerDaoManagerBase  daoManager ) {
-		super(daoManager);
+    public XXAssetDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 
-    public XXAsset findByAssetName(String name){
-		if (daoManager.getStringUtil().isEmpty(name)) {
-			logger.debug("name is empty");
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXAsset.findByAssetName", XXAsset.class)
-					.setParameter("name", name.trim())
-					.setParameter("status",RangerCommonEnums.STATUS_DELETED)
-					.getSingleResult();
-		} catch (NoResultException e) {
-			// ignore
-		}
-		return null;
-    }
+    public XXAsset findByAssetName(String name) {
+        if (daoManager.getStringUtil().isEmpty(name)) {
+            logger.debug("name is empty");
 
-}
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXAsset.findByAssetName", XXAsset.class)
+                    .setParameter("name", name.trim())
+                    .setParameter("status", RangerCommonEnums.STATUS_DELETED)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            // ignore
+        }
 
+        return null;
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java
index 713dbe81f..db1b1acfb 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java
@@ -17,12 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXAuditMap;
@@ -30,30 +25,35 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXAuditMapDao extends BaseDao<XXAuditMap> {
-	private static final Logger logger = LoggerFactory.getLogger(XXAssetDao.class);
+    private static final Logger logger = LoggerFactory.getLogger(XXAuditMapDao.class);
 
-    public XXAuditMapDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXAuditMapDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 
-	public List<XXAuditMap> findByResourceId(Long resourceId) {
-		if (resourceId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery("XXAuditMap.findByResourceId", XXAuditMap.class)
-						.setParameter("resourceId", resourceId)
-						.getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourceId not provided.");
-			return new ArrayList<XXAuditMap>();
-		}
-		return new ArrayList<XXAuditMap>();
-	}
-
+    public List<XXAuditMap> findByResourceId(Long resourceId) {
+        if (resourceId != null) {
+            try {
+                return getEntityManager()
+                        .createNamedQuery("XXAuditMap.findByResourceId", XXAuditMap.class)
+                        .setParameter("resourceId", resourceId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourceId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return new ArrayList<>();
+    }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java
index 645c27cbd..91d4a0d51 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java
@@ -17,13 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
- import java.util.Date;
- import java.util.List;
- import java.util.concurrent.TimeUnit;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.DateUtil;
 import org.apache.ranger.common.db.BaseDao;
@@ -32,80 +26,83 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
 @Service
 public class XXAuthSessionDao extends BaseDao<XXAuthSession> {
+    private static final Logger LOG = LoggerFactory.getLogger(XXAuthSessionDao.class);
 
-	private static final Logger LOG = LoggerFactory.getLogger(XXAuthSessionDao.class);
+    public XXAuthSessionDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 
-    public XXAuthSessionDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public List<Object[]> getUserLoggedIn() {
+        return getEntityManager()
+                .createNamedQuery("XXAuthSession.getUserLoggedIn", Object[].class)
+                .getResultList();
     }
 
-    @SuppressWarnings("unchecked")
-	public List<Object[]> getUserLoggedIn(){
-    	return getEntityManager()
-    			.createNamedQuery("XXAuthSession.getUserLoggedIn")
-    			.getResultList();
+    public XXAuthSession getAuthSessionBySessionId(String sessionId) {
+        try {
+            return (XXAuthSession) getEntityManager()
+                    .createNamedQuery("XXAuthSession.getAuthSessionBySessionId")
+                    .setParameter("sessionId", sessionId)
+                    .getSingleResult();
+        } catch (NoResultException ignoreNoResultFound) {
+            return null;
+        }
     }
-	
-	public XXAuthSession getAuthSessionBySessionId(String sessionId){
-		try{
-	    	return (XXAuthSession) getEntityManager()
-	    			.createNamedQuery("XXAuthSession.getAuthSessionBySessionId")
-	    			.setParameter("sessionId", sessionId)
-	    			.getSingleResult();
-		} catch(NoResultException ignoreNoResultFound) {
-			return null;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<XXAuthSession> getAuthSessionByUserId(Long userId){
-		try{
-			return getEntityManager()
-					.createNamedQuery("XXAuthSession.getAuthSessionByUserId")
-					.setParameter("userId", userId)
-					.getResultList();
-		} catch(NoResultException ignoreNoResultFound) {
-			return null;
-		}
-	}
-
-	public long getRecentAuthFailureCountByLoginId(String loginId, int timeRangezSecond){
-		Date authWindowStartTime = new Date(DateUtil.getUTCDate().getTime() - timeRangezSecond * 1000);
-
-		return getEntityManager()
-				.createNamedQuery("XXAuthSession.getRecentAuthFailureCountByLoginId", Long.class)
-				.setParameter("loginId", loginId)
-				.setParameter("authWindowStartTime", authWindowStartTime)
-				.getSingleResult();
-	}
-	public List<Long> getAuthSessionIdsByUserId(Long userId) {
-		if(userId == null) {
-			return null;
-		}
-
-		return getEntityManager()
-			.createNamedQuery("XXAuthSession.findIdsByUserId", Long.class)
-			.setParameter("userId", userId)
-			.getResultList();
-	}
-
-	public void deleteAuthSessionsByIds(List<Long> ids){
-		batchDeleteByIds("XXAuthSession.deleteByIds", ids, "ids");
-	}
-
-	public long deleteOlderThan(int olderThanInDays) {
-		Date since = new Date(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(olderThanInDays));
-
-		LOG.info("Deleting x_auth_sess records that are older than " + olderThanInDays + " days, that is, older than " + since);
-		long ret = getEntityManager().createNamedQuery("XXAuthSession.deleteOlderThan").setParameter("olderThan", since).executeUpdate();
-		LOG.info("Deleted " + ret + " x_auth_sess records");
-
-		LOG.info("Updating x_trx_log.sess_id with null which are older than " + olderThanInDays + " days, that is, older than " + since);
-		long updated = getEntityManager().createNamedQuery("XXTrxLog.updateSessIdWithNull").setParameter("olderThan", since).executeUpdate();
-		LOG.info("Updated " + updated + " x_trx_log records");
-		return ret;
-	}
-}
 
+    public List<XXAuthSession> getAuthSessionByUserId(Long userId) {
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXAuthSession.getAuthSessionByUserId", tClass)
+                    .setParameter("userId", userId)
+                    .getResultList();
+        } catch (NoResultException ignoreNoResultFound) {
+            return null;
+        }
+    }
+
+    public long getRecentAuthFailureCountByLoginId(String loginId, int timeRangezSecond) {
+        Date authWindowStartTime = new Date(DateUtil.getUTCDate().getTime() - timeRangezSecond * 1000L);
+
+        return getEntityManager()
+                .createNamedQuery("XXAuthSession.getRecentAuthFailureCountByLoginId", Long.class)
+                .setParameter("loginId", loginId)
+                .setParameter("authWindowStartTime", authWindowStartTime)
+                .getSingleResult();
+    }
+
+    public List<Long> getAuthSessionIdsByUserId(Long userId) {
+        if (userId == null) {
+            return null;
+        }
+
+        return getEntityManager()
+                .createNamedQuery("XXAuthSession.findIdsByUserId", Long.class)
+                .setParameter("userId", userId)
+                .getResultList();
+    }
+
+    public void deleteAuthSessionsByIds(List<Long> ids) {
+        batchDeleteByIds("XXAuthSession.deleteByIds", ids, "ids");
+    }
+
+    public long deleteOlderThan(int olderThanInDays) {
+        Date since = new Date(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(olderThanInDays));
+
+        LOG.info("Deleting x_auth_sess records that are older than {} days, that is, older than {}", olderThanInDays, since);
+        long ret = getEntityManager().createNamedQuery("XXAuthSession.deleteOlderThan").setParameter("olderThan", since).executeUpdate();
+        LOG.info("Deleted {} x_auth_sess records", ret);
+
+        LOG.info("Updating x_trx_log.sess_id with null which are older than {} days, that is, older than {}", olderThanInDays, since);
+        long updated = getEntityManager().createNamedQuery("XXTrxLog.updateSessIdWithNull").setParameter("olderThan", since).executeUpdate();
+        LOG.info("Updated {} x_trx_log records", updated);
+        return ret;
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXContextEnricherDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXContextEnricherDefDao.java
index 57fbe8bad..55a19fceb 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXContextEnricherDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXContextEnricherDefDao.java
@@ -19,48 +19,47 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXContextEnricherDef;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXContextEnricherDefDao extends BaseDao<XXContextEnricherDef> {
+    public XXContextEnricherDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXContextEnricherDef> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
 
-	public XXContextEnricherDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXContextEnricherDef.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXContextEnricherDef> findByServiceDefId(Long serviceDefId) {
-		if (serviceDefId == null) {
-			return new ArrayList<XXContextEnricherDef>();
-		}
-		try {
-			List<XXContextEnricherDef> retList = getEntityManager()
-					.createNamedQuery("XXContextEnricherDef.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-			return retList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXContextEnricherDef>();
-		}
-	}
+    public XXContextEnricherDef findByServiceDefIdAndName(Long serviceDefId, String name) {
+        if (serviceDefId == null) {
+            return null;
+        }
 
-	public XXContextEnricherDef findByServiceDefIdAndName(Long serviceDefId, String name) {
-		if (serviceDefId == null) {
-			return null;
-		}
-		try {
-			XXContextEnricherDef retList = getEntityManager()
-					.createNamedQuery("XXContextEnricherDef.findByServiceDefIdAndName", tClass)
-					.setParameter("serviceDefId", serviceDefId)
-					.setParameter("name", name).getSingleResult();
-			return retList;
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXContextEnricherDef.findByServiceDefIdAndName", tClass)
+                    .setParameter("serviceDefId", serviceDefId)
+                    .setParameter("name", name).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java
index 93c297f50..4a7bdf652 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXCredentialStore;
@@ -25,9 +25,7 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class XXCredentialStoreDao extends BaseDao<XXCredentialStore> {
-
-    public XXCredentialStoreDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXCredentialStoreDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java
index ddb0811ea..8fdf15f81 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXDBBase;
@@ -25,9 +25,7 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class XXDBBaseDao extends BaseDao<XXDBBase> {
-
-    public XXDBBaseDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXDBBaseDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXDataHistDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXDataHistDao.java
index 595912eb7..7012a0641 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXDataHistDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXDataHistDao.java
@@ -17,83 +17,86 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
+import org.apache.ranger.common.DateUtil;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXDataHist;
-import org.apache.ranger.common.DateUtil;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 @Service
 public class XXDataHistDao extends BaseDao<XXDataHist> {
+    public XXDataHistDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXDataHist findLatestByObjectClassTypeAndObjectId(Integer classType, Long objectId) {
+        if (classType == null || objectId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXDataHist.findLatestByObjectClassTypeAndObjectId", tClass)
+                    .setParameter("classType", classType)
+                    .setParameter("objectId", objectId)
+                    .setMaxResults(1).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public XXDataHist findObjByEventTimeClassTypeAndId(String eventTime, int classType, Long objId) {
+        if (eventTime == null || objId == null) {
+            return null;
+        }
+
+        Date date = DateUtil.stringToDate(eventTime, "yyyy-MM-dd'T'HH:mm:ss'Z'");
+
+        if (date == null) {
+            return null;
+        }
 
-	public XXDataHistDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXDataHist.findLatestByObjectClassTypeAndObjectIdAndEventTime", tClass)
+                    .setParameter("classType", classType)
+                    .setParameter("objectId", objId)
+                    .setParameter("createTime", date)
+                    .setMaxResults(1).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 
-	public XXDataHist findLatestByObjectClassTypeAndObjectId(Integer classType, Long objectId) {
-		if(classType == null || objectId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXDataHist.findLatestByObjectClassTypeAndObjectId", tClass)
-					.setParameter("classType", classType)
-					.setParameter("objectId", objectId)
-					.setMaxResults(1).getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-	
-	public XXDataHist findObjByEventTimeClassTypeAndId(String eventTime, int classType, Long objId) {
-		if (eventTime == null || objId == null) {
-			return null;
-		}
-		Date date=DateUtil.stringToDate(eventTime,"yyyy-MM-dd'T'HH:mm:ss'Z'");
-		if(date==null){
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXDataHist.findLatestByObjectClassTypeAndObjectIdAndEventTime", tClass)
-					.setParameter("classType", classType)
-					.setParameter("objectId", objId)
-					.setParameter("createTime", date)
-					.setMaxResults(1).getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+    public List<Integer> getVersionListOfObject(Long objId, int classType) {
+        if (objId == null) {
+            return new ArrayList<>();
+        }
 
-	@SuppressWarnings("unchecked")
-	public List<Integer> getVersionListOfObject(Long objId, int classType) {
-		if (objId == null) {
-			return new ArrayList<Integer>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXDataHist.getVersionListOfObject")
-					.setParameter("objId", objId).setParameter("classType", classType).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<Integer>();
-		}
-	}
+        try {
+            return getEntityManager().createNamedQuery("XXDataHist.getVersionListOfObject", Integer.class)
+                    .setParameter("objId", objId).setParameter("classType", classType).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXDataHist findObjectByVersionNumber(Long objId, int classType, int versionNo) {
-		if (objId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXDataHist.findObjectByVersionNumber", tClass)
-					.setParameter("objId", objId).setParameter("classType", classType)
-					.setParameter("version", versionNo).getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+    public XXDataHist findObjectByVersionNumber(Long objId, int classType, int versionNo) {
+        if (objId == null) {
+            return null;
+        }
 
+        try {
+            return getEntityManager().createNamedQuery("XXDataHist.findObjectByVersionNumber", tClass)
+                    .setParameter("objId", objId).setParameter("classType", classType)
+                    .setParameter("version", versionNo).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXDataMaskTypeDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXDataMaskTypeDefDao.java
index 5a0611f89..5deab9cc7 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXDataMaskTypeDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXDataMaskTypeDefDao.java
@@ -17,63 +17,63 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXDataMaskTypeDef;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
 public class XXDataMaskTypeDefDao extends BaseDao<XXDataMaskTypeDef> {
+    public XXDataMaskTypeDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXDataMaskTypeDef> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
 
-	public XXDataMaskTypeDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXDataMaskTypeDef.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXDataMaskTypeDef> findByServiceDefId(Long serviceDefId) {
-		if (serviceDefId == null) {
-			return new ArrayList<XXDataMaskTypeDef>();
-		}
-		try {
-			List<XXDataMaskTypeDef> retList = getEntityManager()
-					.createNamedQuery("XXDataMaskTypeDef.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-			return retList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXDataMaskTypeDef>();
-		}
-	}
+    public XXDataMaskTypeDef findByNameAndServiceId(String name, Long serviceId) {
+        if (name == null || serviceId == null) {
+            return null;
+        }
 
-	public XXDataMaskTypeDef findByNameAndServiceId(String name, Long serviceId) {
-		if(name == null || serviceId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXDataMaskTypeDef.findByNameAndServiceId", tClass)
-					.setParameter("name", name).setParameter("serviceId", serviceId)
-					.getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXDataMaskTypeDef.findByNameAndServiceId", tClass)
+                    .setParameter("name", name).setParameter("serviceId", serviceId)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 
-	public List<String> getNamesByServiceName(String serviceName) {
-		List<String> ret = null;
+    public List<String> getNamesByServiceName(String serviceName) {
+        List<String> ret = null;
 
-		if (serviceName != null) {
-			try {
-			    ret = getEntityManager().createNamedQuery("XXDataMaskTypeDef.getNamesByServiceName", String.class)
-			                            .setParameter("serviceName", serviceName).getResultList();
-			} catch (NoResultException excp) {
-			    // ignore
-			}
-		}
+        if (serviceName != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXDataMaskTypeDef.getNamesByServiceName", String.class)
+                        .setParameter("serviceName", serviceName).getResultList();
+            } catch (NoResultException excp) {
+                // ignore
+            }
+        }
 
-		return ret != null ? ret : Collections.emptyList();
-	}
+        return ret != null ? ret : Collections.emptyList();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXEnumDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXEnumDefDao.java
index bcfd36d53..148f3cec8 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXEnumDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXEnumDefDao.java
@@ -17,34 +17,32 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXEnumDef;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXEnumDefDao extends BaseDao<XXEnumDef> {
+    public XXEnumDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 
-	public XXEnumDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXEnumDef> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXEnumDef> findByServiceDefId(Long serviceDefId) {
-		if (serviceDefId == null) {
-			return new ArrayList<XXEnumDef>();
-		}
-		try {
-			List<XXEnumDef> retList = getEntityManager()
-					.createNamedQuery("XXEnumDef.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-			return retList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXEnumDef>();
-		}
-	}
-	
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXEnumDef.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXEnumElementDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXEnumElementDefDao.java
index 370282176..4e795da3c 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXEnumElementDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXEnumElementDefDao.java
@@ -17,34 +17,32 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXEnumElementDef;
 import org.springframework.stereotype.Service;
 
-@Service
-public class XXEnumElementDefDao extends BaseDao<XXEnumElementDef> {
-
-	public XXEnumElementDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+import javax.persistence.NoResultException;
 
-	public List<XXEnumElementDef> findByEnumDefId(Long enumDefId) {
-		if(enumDefId == null) {
-			return new ArrayList<XXEnumElementDef>();
-		}
-		try {
-			List<XXEnumElementDef> returnList = getEntityManager()
-					.createNamedQuery("XXEnumElementDef.findByEnumDefId", tClass)
-					.setParameter("enumDefId", enumDefId).getResultList();
-			return returnList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXEnumElementDef>();
-		}
-	}
+import java.util.ArrayList;
+import java.util.List;
 
+@Service
+public class XXEnumElementDefDao extends BaseDao<XXEnumElementDef> {
+    public XXEnumElementDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXEnumElementDef> findByEnumDefId(Long enumDefId) {
+        if (enumDefId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXEnumElementDef.findByEnumDefId", tClass)
+                    .setParameter("enumDefId", enumDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareDao.java
index 20084bcfb..ad32aeeb0 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareDao.java
@@ -29,146 +29,146 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-
 @Service
 public class XXGdsDataShareDao extends BaseDao<XXGdsDataShare> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsDataShareDao.class);
-
-	public XXGdsDataShareDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsDataShare findByGuid(String guid) {
-		XXGdsDataShare ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsDataShare findByName(String name) {
-		XXGdsDataShare ret = null;
-
-		if (StringUtils.isNotBlank(name)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByName", tClass)
-						                .setParameter("name", name).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByName({}): ", name, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsDataShare> findByServiceId(Long serviceId) {
-		List<XXGdsDataShare> ret = null;
-
-		if (serviceId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByServiceId", tClass)
-				                        .setParameter("serviceId", serviceId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByServiceId({}): ", serviceId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDataShare> findByZoneId(Long zoneId) {
-		List<XXGdsDataShare> ret = null;
-
-		if (zoneId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByZoneId", tClass)
-				                        .setParameter("zoneId", zoneId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByZoneId({}): ", zoneId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDataShare> findByServiceIdAndZoneId(Long serviceId, Long zoneId) {
-		List<XXGdsDataShare> ret = null;
-
-		if (serviceId != null && zoneId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByServiceIdAndZoneId", tClass)
-				                        .setParameter("serviceId", serviceId)
-				                        .setParameter("zoneId", zoneId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByServiceIdAndZoneId({}, {}): ", serviceId, zoneId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDataShare> findByDatasetId(Long datasetId) {
-		List<XXGdsDataShare> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByDatasetId", tClass)
-						                .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetId({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<Long> findServiceIdsForDataShareId(Long dataShareId) {
-		List<Long> ret = null;
-
-		if (dataShareId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShare.findServiceIds", Long.class)
-				                        .setParameter("dataShareId", dataShareId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findServiceIdsForDataShareId({}): ", dataShareId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public Map<Long, RangerGdsObjectACL> getDataShareIdsAndACLs() {
-		Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
-
-		try {
-			List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataShare.getDataShareIdsAndACLs", Object[].class).getResultList();
-
-			if (rows != null) {
-				for (Object[] row : rows) {
-					Long               id  = (Long) row[0];
-					RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
-
-					if (acl != null) {
-						ret.put(id, acl);
-					}
-				}
-			}
-		} catch (NoResultException e) {
-			LOG.debug("getDataShareIdsAndACLs()", e);
-		}
-
-		return ret;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsDataShareDao.class);
+
+    public XXGdsDataShareDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsDataShare findByGuid(String guid) {
+        XXGdsDataShare ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsDataShare findByName(String name) {
+        XXGdsDataShare ret = null;
+
+        if (StringUtils.isNotBlank(name)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByName", tClass)
+                        .setParameter("name", name).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByName({}): ", name, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsDataShare> findByServiceId(Long serviceId) {
+        List<XXGdsDataShare> ret = null;
+
+        if (serviceId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByServiceId", tClass)
+                        .setParameter("serviceId", serviceId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByServiceId({}): ", serviceId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDataShare> findByZoneId(Long zoneId) {
+        List<XXGdsDataShare> ret = null;
+
+        if (zoneId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByZoneId", tClass)
+                        .setParameter("zoneId", zoneId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByZoneId({}): ", zoneId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDataShare> findByServiceIdAndZoneId(Long serviceId, Long zoneId) {
+        List<XXGdsDataShare> ret = null;
+
+        if (serviceId != null && zoneId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByServiceIdAndZoneId", tClass)
+                        .setParameter("serviceId", serviceId)
+                        .setParameter("zoneId", zoneId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByServiceIdAndZoneId({}, {}): ", serviceId, zoneId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDataShare> findByDatasetId(Long datasetId) {
+        List<XXGdsDataShare> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findByDatasetId", tClass)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetId({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<Long> findServiceIdsForDataShareId(Long dataShareId) {
+        List<Long> ret = null;
+
+        if (dataShareId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShare.findServiceIds", Long.class)
+                        .setParameter("dataShareId", dataShareId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findServiceIdsForDataShareId({}): ", dataShareId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public Map<Long, RangerGdsObjectACL> getDataShareIdsAndACLs() {
+        Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataShare.getDataShareIdsAndACLs", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    Long               id  = (Long) row[0];
+                    RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
+
+                    if (acl != null) {
+                        ret.put(id, acl);
+                    }
+                }
+            }
+        } catch (NoResultException e) {
+            LOG.debug("getDataShareIdsAndACLs()", e);
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareInDatasetDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareInDatasetDao.java
index 130a260cc..e49e9e531 100755
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareInDatasetDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareInDatasetDao.java
@@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -36,111 +37,111 @@ import java.util.Set;
 
 @Service
 public class XXGdsDataShareInDatasetDao extends BaseDao<XXGdsDataShareInDataset> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsDataShareInDatasetDao.class);
-
-	public XXGdsDataShareInDatasetDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsDataShareInDataset findByGuid(String guid) {
-		XXGdsDataShareInDataset ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsDataShareInDataset findByDataShareIdAndDatasetId(Long dataShareId, Long datasetId) {
-		XXGdsDataShareInDataset ret = null;
-
-		if (dataShareId != null && datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDataShareIdAndDatasetId", tClass)
-										.setParameter("dataShareId", dataShareId)
-										.setParameter("datasetId", datasetId).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByDataShareIdAndDatasetId({}): ", dataShareId, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsDataShareInDataset> findByDataShareId(Long dataShareId) {
-		List<XXGdsDataShareInDataset> ret = null;
-
-		if (dataShareId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDataShareId", tClass)
-						                .setParameter("dataShareId", dataShareId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDataShareId({}): ", dataShareId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDataShareInDataset> findByDatasetId(Long datasetId) {
-		List<XXGdsDataShareInDataset> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDatasetId", tClass)
-						                .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetId({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public Map<Short, Long> getDataSharesInDatasetCountByStatus(Long datasetId) {
-		Map<Short, Long> ret = Collections.emptyMap();
-
-		if (datasetId != null) {
-			try {
-				List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.getDataSharesInDatasetCountByStatus", Object[].class)
-				                                        .setParameter("datasetId", datasetId).getResultList();
-				if (rows != null) {
-					ret = new HashMap<>();
-
-					for (Object[] row : rows) {
-						if (Objects.nonNull(row) && Objects.nonNull(row[0]) && Objects.nonNull(row[1]) && (!row[0].toString().isEmpty())) {
-							ret.put((Short) row[0], (Long) row[1]);
-						}
-					}
-				}
-			} catch (NoResultException e) {
-				LOG.debug("getDataSharesInDatasetCountByStatus({}): ", datasetId, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<Long> findDataShareIdsInStatuses(Long datasetId, Set<Integer> statuses) {
-		List<Long> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findDataShareIdsInStatuses", Long.class)
-				                        .setParameter("datasetId", datasetId)
-				                        .setParameter("statuses", statuses)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("XXGdsDataShareInDataset({}, {}): ", datasetId, statuses, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsDataShareInDatasetDao.class);
+
+    public XXGdsDataShareInDatasetDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsDataShareInDataset findByGuid(String guid) {
+        XXGdsDataShareInDataset ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsDataShareInDataset findByDataShareIdAndDatasetId(Long dataShareId, Long datasetId) {
+        XXGdsDataShareInDataset ret = null;
+
+        if (dataShareId != null && datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDataShareIdAndDatasetId", tClass)
+                        .setParameter("dataShareId", dataShareId)
+                        .setParameter("datasetId", datasetId).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByDataShareIdAndDatasetId({}): ", dataShareId, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsDataShareInDataset> findByDataShareId(Long dataShareId) {
+        List<XXGdsDataShareInDataset> ret = null;
+
+        if (dataShareId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDataShareId", tClass)
+                        .setParameter("dataShareId", dataShareId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDataShareId({}): ", dataShareId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDataShareInDataset> findByDatasetId(Long datasetId) {
+        List<XXGdsDataShareInDataset> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findByDatasetId", tClass)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetId({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public Map<Short, Long> getDataSharesInDatasetCountByStatus(Long datasetId) {
+        Map<Short, Long> ret = Collections.emptyMap();
+
+        if (datasetId != null) {
+            try {
+                List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.getDataSharesInDatasetCountByStatus", Object[].class)
+                        .setParameter("datasetId", datasetId).getResultList();
+                if (rows != null) {
+                    ret = new HashMap<>();
+
+                    for (Object[] row : rows) {
+                        if (Objects.nonNull(row) && Objects.nonNull(row[0]) && Objects.nonNull(row[1]) && (!row[0].toString().isEmpty())) {
+                            ret.put((Short) row[0], (Long) row[1]);
+                        }
+                    }
+                }
+            } catch (NoResultException e) {
+                LOG.debug("getDataSharesInDatasetCountByStatus({}): ", datasetId, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<Long> findDataShareIdsInStatuses(Long datasetId, Set<Integer> statuses) {
+        List<Long> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataShareInDataset.findDataShareIdsInStatuses", Long.class)
+                        .setParameter("datasetId", datasetId)
+                        .setParameter("statuses", statuses)
+                        .getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("XXGdsDataShareInDataset({}, {}): ", datasetId, statuses, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetDao.java
index 4661b4118..b0dbef3e8 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetDao.java
@@ -23,121 +23,121 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXGdsDataset;
+import org.apache.ranger.plugin.model.RangerGds.RangerGdsObjectACL;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.ranger.plugin.model.RangerGds.RangerGdsObjectACL;
-
 @Service
 public class XXGdsDatasetDao extends BaseDao<XXGdsDataset> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsDatasetDao.class);
-
-	public XXGdsDatasetDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsDataset findByGuid(String guid) {
-		XXGdsDataset ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataset.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsDataset findByName(String name) {
-		XXGdsDataset ret = null;
-
-		if (StringUtils.isNotBlank(name)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataset.findByName", tClass)
-						                .setParameter("name", name).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByName({}): ", name, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsDataset> findByDataShareId(Long dataShareId) {
-		List<XXGdsDataset> ret = null;
-
-		if (dataShareId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataset.findByDataShareId", tClass)
-						                .setParameter("dataShareId", dataShareId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDataShareId({}): ", dataShareId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDataset> findByProjectId(Long projectId) {
-		List<XXGdsDataset> ret = null;
-
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataset.findByProjectId", tClass)
-						                .setParameter("projectId", projectId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByProjectId({}): ", projectId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<Long> findServiceIdsForDataset(Long datasetId) {
-		List<Long> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDataset.findServiceIds", Long.class)
-				                        .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findServiceIdsForDataset({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public Map<Long, RangerGdsObjectACL> getDatasetIdsAndACLs() {
-		Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
-
-		try {
-			List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataset.getDatasetIdsAndACLs", Object[].class).getResultList();
-
-			if (rows != null) {
-				for (Object[] row : rows) {
-					Long               id  = (Long) row[0];
-					RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
-
-					if (acl != null) {
-						ret.put(id, acl);
-					}
-				}
-			}
-		} catch (NoResultException e) {
-			LOG.debug("getDatasetIdsAndACLs()", e);
-		}
-
-		return ret;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsDatasetDao.class);
+
+    public XXGdsDatasetDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsDataset findByGuid(String guid) {
+        XXGdsDataset ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataset.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsDataset findByName(String name) {
+        XXGdsDataset ret = null;
+
+        if (StringUtils.isNotBlank(name)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataset.findByName", tClass)
+                        .setParameter("name", name).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByName({}): ", name, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsDataset> findByDataShareId(Long dataShareId) {
+        List<XXGdsDataset> ret = null;
+
+        if (dataShareId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataset.findByDataShareId", tClass)
+                        .setParameter("dataShareId", dataShareId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDataShareId({}): ", dataShareId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDataset> findByProjectId(Long projectId) {
+        List<XXGdsDataset> ret = null;
+
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataset.findByProjectId", tClass)
+                        .setParameter("projectId", projectId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByProjectId({}): ", projectId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<Long> findServiceIdsForDataset(Long datasetId) {
+        List<Long> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDataset.findServiceIds", Long.class)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findServiceIdsForDataset({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public Map<Long, RangerGdsObjectACL> getDatasetIdsAndACLs() {
+        Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsDataset.getDatasetIdsAndACLs", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    Long               id  = (Long) row[0];
+                    RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
+
+                    if (acl != null) {
+                        ret.put(id, acl);
+                    }
+                }
+            }
+        } catch (NoResultException e) {
+            LOG.debug("getDatasetIdsAndACLs()", e);
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetInProjectDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetInProjectDao.java
index 06bf67105..47575516d 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetInProjectDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetInProjectDao.java
@@ -27,77 +27,77 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.List;
 
-
 @Service
 public class XXGdsDatasetInProjectDao extends BaseDao<XXGdsDatasetInProject> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsDatasetInProjectDao.class);
-
-	public XXGdsDatasetInProjectDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsDatasetInProject findByGuid(String guid) {
-		XXGdsDatasetInProject ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsDatasetInProject findByDatasetIdAndProjectId(Long datasetId, Long projectId) {
-		XXGdsDatasetInProject ret = null;
-
-		if (datasetId != null && projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByDatasetIdAndProjectId", tClass)
-						                .setParameter("datasetId", datasetId)
-						                .setParameter("projectId", projectId)
-						                .getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetIdAndProjectId({}): ", datasetId, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsDatasetInProject> findByDatasetId(Long datasetId) {
-		List<XXGdsDatasetInProject> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByDatasetId", tClass)
-						                .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetId({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsDatasetInProject> findByProjectId(Long projectId) {
-		List<XXGdsDatasetInProject> ret = null;
-
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByProjectId", tClass)
-						                .setParameter("projectId", projectId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByProjectId({}): ", projectId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsDatasetInProjectDao.class);
+
+    public XXGdsDatasetInProjectDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsDatasetInProject findByGuid(String guid) {
+        XXGdsDatasetInProject ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsDatasetInProject findByDatasetIdAndProjectId(Long datasetId, Long projectId) {
+        XXGdsDatasetInProject ret = null;
+
+        if (datasetId != null && projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByDatasetIdAndProjectId", tClass)
+                        .setParameter("datasetId", datasetId)
+                        .setParameter("projectId", projectId)
+                        .getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetIdAndProjectId({}): ", datasetId, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsDatasetInProject> findByDatasetId(Long datasetId) {
+        List<XXGdsDatasetInProject> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByDatasetId", tClass)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetId({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsDatasetInProject> findByProjectId(Long projectId) {
+        List<XXGdsDatasetInProject> ret = null;
+
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetInProject.findByProjectId", tClass)
+                        .setParameter("projectId", projectId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByProjectId({}): ", projectId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetPolicyMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetPolicyMapDao.java
index f28d3a5ec..b1ff36ad0 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetPolicyMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsDatasetPolicyMapDao.java
@@ -24,62 +24,62 @@ import org.apache.ranger.entity.XXGdsDatasetPolicyMap;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.List;
 
-
 @Service
 public class XXGdsDatasetPolicyMapDao extends BaseDao<XXGdsDatasetPolicyMap> {
-	public XXGdsDatasetPolicyMapDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public XXGdsDatasetPolicyMapDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 
-	public XXGdsDatasetPolicyMap getDatasetPolicyMap(Long datasetId, Long policyId) {
-		XXGdsDatasetPolicyMap ret = null;
+    public XXGdsDatasetPolicyMap getDatasetPolicyMap(Long datasetId, Long policyId) {
+        XXGdsDatasetPolicyMap ret = null;
 
-		if (datasetId != null && policyId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyMap", tClass)
-				                        .setParameter("datasetId", datasetId)
-				                        .setParameter("policyId", policyId)
-				                        .getSingleResult();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (datasetId != null && policyId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyMap", tClass)
+                        .setParameter("datasetId", datasetId)
+                        .setParameter("policyId", policyId)
+                        .getSingleResult();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 
-	public List<XXGdsDatasetPolicyMap> getDatasetPolicyMaps(Long datasetId) {
-		List<XXGdsDatasetPolicyMap> ret = Collections.emptyList();
+    public List<XXGdsDatasetPolicyMap> getDatasetPolicyMaps(Long datasetId) {
+        List<XXGdsDatasetPolicyMap> ret = Collections.emptyList();
 
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyMaps", tClass)
-				                        .setParameter("datasetId", datasetId)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyMaps", tClass)
+                        .setParameter("datasetId", datasetId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 
-	public List<Long> getDatasetPolicyIds(Long datasetId) {
-		List<Long> ret = Collections.emptyList();
+    public List<Long> getDatasetPolicyIds(Long datasetId) {
+        List<Long> ret = Collections.emptyList();
 
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyIds", Long.class)
-				                        .setParameter("datasetId", datasetId)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsDatasetPolicyMap.getDatasetPolicyIds", Long.class)
+                        .setParameter("datasetId", datasetId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectDao.java
index ba8f6c66a..a005519e7 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectDao.java
@@ -29,100 +29,100 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-
 @Service
 public class XXGdsProjectDao extends BaseDao<XXGdsProject> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsProjectDao.class);
-
-	public XXGdsProjectDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsProject findByGuid(String guid) {
-		XXGdsProject ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProject.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsProject findByName(String name) {
-		XXGdsProject ret = null;
-
-		if (StringUtils.isNotBlank(name)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProject.findByName", tClass)
-						                .setParameter("name", name).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByName({}): ", name, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsProject> findByDatasetId(Long datasetId) {
-		List<XXGdsProject> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProject.findByDatasetId", tClass)
-						                .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetId({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<Long> findServiceIdsForProject(Long projectId) {
-		List<Long> ret = null;
-
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProject.findServiceIds", Long.class)
-				                        .setParameter("projectId", projectId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findServiceIdsForProject({}): ", projectId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public Map<Long, RangerGdsObjectACL> getProjectIdsAndACLs() {
-		Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
-
-		try {
-			List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsProject.getProjectIdsAndACLs", Object[].class).getResultList();
-
-			if (rows != null) {
-				for (Object[] row : rows) {
-					Long               id  = (Long) row[0];
-					RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
-
-					if (acl != null) {
-						ret.put(id, acl);
-					}
-				}
-			}
-		} catch (NoResultException e) {
-			LOG.debug("getProjectIdsAndACLs()", e);
-		}
-
-		return ret;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsProjectDao.class);
+
+    public XXGdsProjectDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsProject findByGuid(String guid) {
+        XXGdsProject ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProject.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsProject findByName(String name) {
+        XXGdsProject ret = null;
+
+        if (StringUtils.isNotBlank(name)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProject.findByName", tClass)
+                        .setParameter("name", name).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByName({}): ", name, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsProject> findByDatasetId(Long datasetId) {
+        List<XXGdsProject> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProject.findByDatasetId", tClass)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetId({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<Long> findServiceIdsForProject(Long projectId) {
+        List<Long> ret = null;
+
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProject.findServiceIds", Long.class)
+                        .setParameter("projectId", projectId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findServiceIdsForProject({}): ", projectId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public Map<Long, RangerGdsObjectACL> getProjectIdsAndACLs() {
+        Map<Long, RangerGdsObjectACL> ret = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGdsProject.getProjectIdsAndACLs", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    Long               id  = (Long) row[0];
+                    RangerGdsObjectACL acl = JsonUtils.jsonToObject((String) row[1], RangerGdsObjectACL.class);
+
+                    if (acl != null) {
+                        ret.put(id, acl);
+                    }
+                }
+            }
+        } catch (NoResultException e) {
+            LOG.debug("getProjectIdsAndACLs()", e);
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectPolicyMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectPolicyMapDao.java
index 4cfd03db2..b3529e840 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectPolicyMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsProjectPolicyMapDao.java
@@ -24,62 +24,62 @@ import org.apache.ranger.entity.XXGdsProjectPolicyMap;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.List;
 
-
 @Service
 public class XXGdsProjectPolicyMapDao extends BaseDao<XXGdsProjectPolicyMap> {
-	public XXGdsProjectPolicyMapDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public XXGdsProjectPolicyMapDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 
-	public XXGdsProjectPolicyMap getProjectPolicyMap(Long projectId, Long policyId) {
-		XXGdsProjectPolicyMap ret = null;
+    public XXGdsProjectPolicyMap getProjectPolicyMap(Long projectId, Long policyId) {
+        XXGdsProjectPolicyMap ret = null;
 
-		if (projectId != null && policyId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyMap", tClass)
-				                        .setParameter("projectId", projectId)
-				                        .setParameter("policyId", policyId)
-						.getSingleResult();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (projectId != null && policyId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyMap", tClass)
+                        .setParameter("projectId", projectId)
+                        .setParameter("policyId", policyId)
+                        .getSingleResult();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 
-	public List<XXGdsProjectPolicyMap> getProjectPolicyMaps(Long projectId) {
-		List<XXGdsProjectPolicyMap> ret = Collections.emptyList();
+    public List<XXGdsProjectPolicyMap> getProjectPolicyMaps(Long projectId) {
+        List<XXGdsProjectPolicyMap> ret = Collections.emptyList();
 
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyMaps", tClass)
-				                        .setParameter("projectId", projectId)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyMaps", tClass)
+                        .setParameter("projectId", projectId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 
-	public List<Long> getProjectPolicyIds(Long projectId) {
-		List<Long> ret = Collections.emptyList();
+    public List<Long> getProjectPolicyIds(Long projectId) {
+        List<Long> ret = Collections.emptyList();
 
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyIds", Long.class)
-				                        .setParameter("projectId", projectId)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsProjectPolicyMap.getProjectPolicyIds", Long.class)
+                        .setParameter("projectId", projectId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGdsSharedResourceDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGdsSharedResourceDao.java
index c7acd81a2..0ec97ccf7 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGdsSharedResourceDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGdsSharedResourceDao.java
@@ -27,124 +27,124 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.Collections;
 import java.util.List;
 
-
 @Service
 public class XXGdsSharedResourceDao extends BaseDao<XXGdsSharedResource> {
-	private static final Logger LOG = LoggerFactory.getLogger(XXGdsSharedResourceDao.class);
-
-	public XXGdsSharedResourceDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXGdsSharedResource findByGuid(String guid) {
-		XXGdsSharedResource ret = null;
-
-		if (StringUtils.isNotBlank(guid)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByGuid", tClass)
-						                .setParameter("guid", guid).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByGuid({}): ", guid, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public XXGdsSharedResource findByName(String name) {
-		XXGdsSharedResource ret = null;
-
-		if (StringUtils.isNotBlank(name)) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByName", tClass)
-						                .setParameter("name", name).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("findByName({}): ", name, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public List<XXGdsSharedResource> findByServiceId(Long serviceId) {
-		List<XXGdsSharedResource> ret = null;
-
-		if (serviceId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByServiceId", tClass)
-						                .setParameter("serviceId", serviceId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByServiceId({}): ", serviceId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsSharedResource> findByServiceIdAndZoneId(Long serviceId, Long zoneId) {
-		List<XXGdsSharedResource> ret = null;
-
-		if (serviceId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByServiceIdAndZoneId", tClass)
-						                .setParameter("serviceId", serviceId)
-						                .setParameter("zoneId", zoneId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByServiceIdAndZoneId({}): ", serviceId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public List<XXGdsSharedResource> findByDatasetId(Long datasetId) {
-		List<XXGdsSharedResource> ret = null;
-
-		if (datasetId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByDatasetId", tClass)
-						                .setParameter("datasetId", datasetId).getResultList();
-			} catch (NoResultException e) {
-				LOG.debug("findByDatasetId({}): ", datasetId, e);
-			}
-		}
-
-		return ret != null ? ret : Collections.emptyList();
-	}
-
-	public Long getIdByDataShareIdAndName(Long dataShareId, String name) {
-		Long ret = null;
-
-		if (dataShareId != null && name != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXGdsSharedResource.getIdByDataShareIdAndName", Long.class)
-				                        .setParameter("dataShareId", dataShareId)
-				                        .setParameter("name", name).getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("getIdByDataShareIdAndName({}, {}): ", dataShareId, name, e);
-			}
-		}
-
-		return ret;
-	}
-
-	public Long getIdByDataShareIdAndResourceSignature(Long dataShareId, String resourceSignature) {
-		Long ret = null;
-
-		if (dataShareId != null && resourceSignature != null) {
-			try {
-				ret = getEntityManager()
-						.createNamedQuery("XXGdsSharedResource.getIdByDataShareIdAndResourceSignature", Long.class)
-						.setParameter("dataShareId", dataShareId).setParameter("resourceSignature", resourceSignature)
-						.getSingleResult();
-			} catch (NoResultException e) {
-				LOG.debug("getIdByDataShareIdAndName({}, {}): ", dataShareId, resourceSignature, e);
-			}
-		}
-
-		return ret;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXGdsSharedResourceDao.class);
+
+    public XXGdsSharedResourceDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXGdsSharedResource findByGuid(String guid) {
+        XXGdsSharedResource ret = null;
+
+        if (StringUtils.isNotBlank(guid)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByGuid", tClass)
+                        .setParameter("guid", guid).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByGuid({}): ", guid, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public XXGdsSharedResource findByName(String name) {
+        XXGdsSharedResource ret = null;
+
+        if (StringUtils.isNotBlank(name)) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByName", tClass)
+                        .setParameter("name", name).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("findByName({}): ", name, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public List<XXGdsSharedResource> findByServiceId(Long serviceId) {
+        List<XXGdsSharedResource> ret = null;
+
+        if (serviceId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByServiceId", tClass)
+                        .setParameter("serviceId", serviceId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByServiceId({}): ", serviceId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsSharedResource> findByServiceIdAndZoneId(Long serviceId, Long zoneId) {
+        List<XXGdsSharedResource> ret = null;
+
+        if (serviceId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByServiceIdAndZoneId", tClass)
+                        .setParameter("serviceId", serviceId)
+                        .setParameter("zoneId", zoneId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByServiceIdAndZoneId({}): ", serviceId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public List<XXGdsSharedResource> findByDatasetId(Long datasetId) {
+        List<XXGdsSharedResource> ret = null;
+
+        if (datasetId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.findByDatasetId", tClass)
+                        .setParameter("datasetId", datasetId).getResultList();
+            } catch (NoResultException e) {
+                LOG.debug("findByDatasetId({}): ", datasetId, e);
+            }
+        }
+
+        return ret != null ? ret : Collections.emptyList();
+    }
+
+    public Long getIdByDataShareIdAndName(Long dataShareId, String name) {
+        Long ret = null;
+
+        if (dataShareId != null && name != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXGdsSharedResource.getIdByDataShareIdAndName", Long.class)
+                        .setParameter("dataShareId", dataShareId)
+                        .setParameter("name", name).getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("getIdByDataShareIdAndName({}, {}): ", dataShareId, name, e);
+            }
+        }
+
+        return ret;
+    }
+
+    public Long getIdByDataShareIdAndResourceSignature(Long dataShareId, String resourceSignature) {
+        Long ret = null;
+
+        if (dataShareId != null && resourceSignature != null) {
+            try {
+                ret = getEntityManager()
+                        .createNamedQuery("XXGdsSharedResource.getIdByDataShareIdAndResourceSignature", Long.class)
+                        .setParameter("dataShareId", dataShareId).setParameter("resourceSignature", resourceSignature)
+                        .getSingleResult();
+            } catch (NoResultException e) {
+                LOG.debug("getIdByDataShareIdAndName({}, {}): ", dataShareId, resourceSignature, e);
+            }
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGlobalStateDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGlobalStateDao.java
index 222807b44..7e95dbfdb 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGlobalStateDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGlobalStateDao.java
@@ -38,67 +38,83 @@ import java.util.Map;
 public class XXGlobalStateDao extends BaseDao<XXGlobalState> {
     private static final Logger logger = LoggerFactory.getLogger(XXGlobalStateDao.class);
 
-    public final static String RANGER_GLOBAL_STATE_NAME_GDS        = "RangerGDS";
-    public final static String RANGER_GLOBAL_STATE_NAME_ROLE       = "RangerRole";
-    public final static String RANGER_GLOBAL_STATE_NAME_USER_GROUP = "RangerUserStore";
-    public final static String APP_DATA_ENTRY_VERSION              = "Version";
+    public static final String RANGER_GLOBAL_STATE_NAME_GDS        = "RangerGDS";
+    public static final String RANGER_GLOBAL_STATE_NAME_ROLE       = "RangerRole";
+    public static final String RANGER_GLOBAL_STATE_NAME_USER_GROUP = "RangerUserStore";
+    public static final String APP_DATA_ENTRY_VERSION              = "Version";
 
+    /**
+     * Default Constructor
+     */
+    public XXGlobalStateDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 
     public void onGlobalStateChange(String stateName) throws Exception {
-
         if (StringUtils.isBlank(stateName)) {
-            logger.error("Invalid name for state:[" + stateName +"]");
-            throw new Exception("Invalid name for state:[" + stateName +"]");
+            logger.error("Invalid name for state:[{}]", stateName);
+
+            throw new Exception("Invalid name for state:[" + stateName + "]");
         } else {
             try {
                 XXGlobalState globalState = findByStateName(stateName);
+
                 if (globalState == null) {
                     globalState = new XXGlobalState();
+
                     globalState.setStateName(stateName);
+
                     create(globalState);
                 } else {
                     Date date = DateUtil.getUTCDate();
+
                     if (date == null) {
                         date = new Date();
                     }
+
                     globalState.setAppData(date.toString());
 
                     update(globalState);
                 }
             } catch (Exception exception) {
-                logger.error("Cannot create/update GlobalState for state:[" + stateName + "]", exception);
+                logger.error("Cannot create/update GlobalState for state:[{}]", stateName, exception);
+
                 throw exception;
             }
         }
     }
 
-	public void onGlobalAppDataChange(String stateName) throws Exception {
-
-		if (StringUtils.isBlank(stateName)) {
-			logger.error("Invalid name for state:[" + stateName + "]");
-			throw new Exception("Invalid name for state:[" + stateName + "]");
-		} else {
-			try {
-				XXGlobalState globalState = findByStateName(stateName);
-				if (globalState == null) {
-					createGlobalStateForAppDataVersion(stateName);
-				} else {
-					updateGlobalStateForAppDataVersion(globalState, stateName);
-				}
-			} catch (OptimisticLockException | org.eclipse.persistence.exceptions.OptimisticLockException ole) {
-				logger.warn("One or more objects cannot be updated because it has changed or been deleted since it was last read. Unable to update GlobalState for state:[" + stateName + "] continuing...");
-			} catch (Exception exception) {
-				logger.warn("Cannot create/update GlobalState for state:[" + stateName + "] continuing...");
-			}
-		}
-	}
+    public void onGlobalAppDataChange(String stateName) throws Exception {
+        if (StringUtils.isBlank(stateName)) {
+            logger.error("Invalid name for state:[{}]", stateName);
+
+            throw new Exception("Invalid name for state:[" + stateName + "]");
+        } else {
+            try {
+                XXGlobalState globalState = findByStateName(stateName);
+
+                if (globalState == null) {
+                    createGlobalStateForAppDataVersion(stateName);
+                } else {
+                    updateGlobalStateForAppDataVersion(globalState, stateName);
+                }
+            } catch (OptimisticLockException | org.eclipse.persistence.exceptions.OptimisticLockException ole) {
+                logger.warn("One or more objects cannot be updated because it has changed or been deleted since it was last read. Unable to update GlobalState for state:[{}] continuing...", stateName);
+            } catch (Exception exception) {
+                logger.warn("Cannot create/update GlobalState for state:[{}] continuing...", stateName);
+            }
+        }
+    }
 
     public Long getAppDataVersion(String stateName) {
         Long ret = null;
+
         try {
-            XXGlobalState       globalState     = findByStateName(stateName);
+            XXGlobalState globalState = findByStateName(stateName);
+
             if (globalState != null) {
                 Map<String, String> appDataVersionJson = new Gson().fromJson(globalState.getAppData(), Map.class);
+
                 if (MapUtils.isNotEmpty(appDataVersionJson)) {
                     ret = Long.valueOf(appDataVersionJson.get(APP_DATA_ENTRY_VERSION));
                 } else {
@@ -106,43 +122,37 @@ public class XXGlobalStateDao extends BaseDao<XXGlobalState> {
                 }
             }
         } catch (Exception exception) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Unable to find the version for " + stateName + " in Ranger Database", exception);
-            }
+            logger.debug("Unable to find the version for {} in Ranger Database", stateName, exception);
         }
+
         return ret;
     }
 
-    /**
-     * Default Constructor
-     */
-    public XXGlobalStateDao(RangerDaoManagerBase daoManager) {
-        super(daoManager);
-    }
     public XXGlobalState findByStateId(Long stateId) {
         if (stateId == null) {
             return null;
         }
+
         try {
-            XXGlobalState xxGlobalState = getEntityManager()
+            return getEntityManager()
                     .createNamedQuery("XXGlobalState.findByStateId", tClass)
                     .setParameter("stateId", stateId)
                     .getSingleResult();
-            return xxGlobalState;
         } catch (NoResultException e) {
             return null;
         }
     }
+
     public XXGlobalState findByStateName(String stateName) {
         if (StringUtils.isBlank(stateName)) {
             return null;
         }
+
         try {
-            XXGlobalState xxGlobalState = getEntityManager()
+            return getEntityManager()
                     .createNamedQuery("XXGlobalState.findByStateName", tClass)
                     .setParameter("stateName", stateName)
                     .getSingleResult();
-            return xxGlobalState;
         } catch (NoResultException e) {
             return null;
         }
@@ -150,19 +160,28 @@ public class XXGlobalStateDao extends BaseDao<XXGlobalState> {
 
     private void createGlobalStateForAppDataVersion(String stateName) {
         XXGlobalState globalState = new XXGlobalState();
+
         globalState.setStateName(stateName);
-        Map<String,String> appDataVersion = new HashMap<>();
-        appDataVersion.put(APP_DATA_ENTRY_VERSION,new String(Long.toString(1L)));
+
+        Map<String, String> appDataVersion = new HashMap<>();
+
+        appDataVersion.put(APP_DATA_ENTRY_VERSION, Long.toString(1L));
+
         globalState.setAppData(new Gson().toJson(appDataVersion));
+
         create(globalState);
     }
 
     private void updateGlobalStateForAppDataVersion(XXGlobalState globalState, String stateName) {
-        Map<String,String> appDataVersionJson = new Gson().fromJson(globalState.getAppData(),Map.class);
+        Map<String, String> appDataVersionJson = new Gson().fromJson(globalState.getAppData(), Map.class);
+
         if (MapUtils.isNotEmpty(appDataVersionJson)) {
             Long appDataVersion = Long.valueOf(appDataVersionJson.get(APP_DATA_ENTRY_VERSION)) + 1L;
-            appDataVersionJson.put(APP_DATA_ENTRY_VERSION, new String(Long.toString(appDataVersion)));
+
+            appDataVersionJson.put(APP_DATA_ENTRY_VERSION, Long.toString(appDataVersion));
+
             globalState.setAppData(new Gson().toJson(appDataVersionJson));
+
             update(globalState);
         } else {
             //if not present create Global State for state name Version.
@@ -170,4 +189,3 @@ public class XXGlobalStateDao extends BaseDao<XXGlobalState> {
         }
     }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java
index 12708f6a3..68c6ceb45 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java
@@ -19,12 +19,6 @@
 
 package org.apache.ranger.db;
 
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.common.RangerCommonEnums;
@@ -37,113 +31,116 @@ import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import static org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__IS_INTERNAL;
 import static org.apache.ranger.plugin.util.RangerCommonConstants.SCRIPT_FIELD__SYNC_SOURCE;
 
 @Service
 public class XXGroupDao extends BaseDao<XXGroup> {
-	private static final Logger logger = LoggerFactory.getLogger(XXGroupDao.class);
-
-	public XXGroupDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<XXGroup> findByUserId(Long userId) {
-		if (userId == null) {
-			return new ArrayList<XXGroup>();
-		}
-
-		List<XXGroup> groupList = (List<XXGroup>) getEntityManager()
-				.createNamedQuery("XXGroup.findByUserId")
-				.setParameter("userId", userId).getResultList();
-
-		if (groupList == null) {
-			groupList = new ArrayList<XXGroup>();
-		}
-
-		return groupList;
-	}
-
-	public XXGroup findByGroupName(String groupName) {
-		if (groupName == null) {
-			return null;
-		}
-		try {
-
-			return (XXGroup) getEntityManager()
-					.createNamedQuery("XXGroup.findByGroupName")
-					.setParameter("name", groupName)
-					.getSingleResult();
-		} catch (Exception e) {
-
-		}
-		return null;
-	}
-
-	public Map<Long, String> getAllGroupIdNames() {
-		Map<Long, String> groups = new HashMap<Long, String>();
-		try {
-			List<Object[]> rows = (List<Object[]>) getEntityManager().createNamedQuery("XXGroup.getAllGroupIdNames").getResultList();
-			if (rows != null) {
-				for (Object[] row : rows) {
-					groups.put((Long)row[0], (String)row[1]);
-				}
-			}
-		} catch (Exception ex) {
-		}
-		return groups;
-	}
-
-
-	public List<GroupInfo> getAllGroupsInfo() {
-		List<GroupInfo> ret = new ArrayList<>();
-
-		try {
-			List<Object[]> rows = getEntityManager().createNamedQuery("XXGroup.getAllGroupsInfo", Object[].class).getResultList();
-
-			if (rows != null) {
-				for (Object[] row : rows) {
-
-					ret.add(toGroupInfo(row));
-				}
-			}
-		} catch (NoResultException excp) {
-			if (logger.isDebugEnabled()) {
-				logger.debug(excp.getMessage());
-			}
-		}
-
-		return ret;
-	}
-
-	private GroupInfo toGroupInfo(Object[] row) {
-		String              name        = (String) row[0];
-		String              description = (String) row[1];
-		String              attributes  = (String) row[2];
-		String              syncSource  = (String) row[3];
-		Number              groupSource = (Number) row[4];
-		Boolean             isInternal  = groupSource != null && groupSource.equals(RangerCommonEnums.GROUP_INTERNAL);
-		Map<String, String> attrMap     = null;
-
-		if (StringUtils.isNotBlank(attributes)) {
-			try {
+    private static final Logger logger = LoggerFactory.getLogger(XXGroupDao.class);
+
+    public XXGroupDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXGroup> findByUserId(Long userId) {
+        if (userId == null) {
+            return new ArrayList<>();
+        }
+
+        List<XXGroup> groupList = (List<XXGroup>) getEntityManager()
+                .createNamedQuery("XXGroup.findByUserId", tClass)
+                .setParameter("userId", userId).getResultList();
+
+        if (groupList == null) {
+            groupList = new ArrayList<>();
+        }
+
+        return groupList;
+    }
+
+    public XXGroup findByGroupName(String groupName) {
+        if (groupName == null) {
+            return null;
+        }
+
+        try {
+            return (XXGroup) getEntityManager()
+                    .createNamedQuery("XXGroup.findByGroupName")
+                    .setParameter("name", groupName)
+                    .getSingleResult();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    public Map<Long, String> getAllGroupIdNames() {
+        Map<Long, String> groups = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGroup.getAllGroupIdNames", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    groups.put((Long) row[0], (String) row[1]);
+                }
+            }
+        } catch (Exception ex) {
+            return new HashMap<>();
+        }
+
+        return groups;
+    }
+
+    public List<GroupInfo> getAllGroupsInfo() {
+        List<GroupInfo> ret = new ArrayList<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGroup.getAllGroupsInfo", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    ret.add(toGroupInfo(row));
+                }
+            }
+        } catch (NoResultException excp) {
+            logger.debug(excp.getMessage());
+        }
+
+        return ret;
+    }
+
+    private GroupInfo toGroupInfo(Object[] row) {
+        String              name        = (String) row[0];
+        String              description = (String) row[1];
+        String              attributes  = (String) row[2];
+        String              syncSource  = (String) row[3];
+        Number              groupSource = (Number) row[4];
+        boolean             isInternal  = groupSource != null && groupSource.equals(RangerCommonEnums.GROUP_INTERNAL);
+        Map<String, String> attrMap     = null;
+
+        if (StringUtils.isNotBlank(attributes)) {
+            try {
                 attrMap = JsonUtils.jsonToMapStringString(attributes);
-			} catch (Exception excp) {
-				// ignore
-			}
-		}
+            } catch (Exception excp) {
+                // ignore
+            }
+        }
 
-		if (attrMap == null) {
-			attrMap = new HashMap<>();
-		}
+        if (attrMap == null) {
+            attrMap = new HashMap<>();
+        }
 
-		if (StringUtils.isNotBlank(syncSource)) {
-			attrMap.put(SCRIPT_FIELD__SYNC_SOURCE, syncSource);
-		}
+        if (StringUtils.isNotBlank(syncSource)) {
+            attrMap.put(SCRIPT_FIELD__SYNC_SOURCE, syncSource);
+        }
 
-		attrMap.put(SCRIPT_FIELD__IS_INTERNAL, isInternal.toString());
+        attrMap.put(SCRIPT_FIELD__IS_INTERNAL, Boolean.toString(isInternal));
 
-		return new GroupInfo(name, description, attrMap);
-	}
+        return new GroupInfo(name, description, attrMap);
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java
index 0f6e94c13..79e4541b1 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java
@@ -17,61 +17,61 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
+
+import org.apache.ranger.common.db.BaseDao;
+import org.apache.ranger.entity.XXGroupGroup;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.NoResultException;
 
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import javax.persistence.NoResultException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.ranger.common.db.BaseDao;
-import org.apache.ranger.entity.XXGroupGroup;
-import org.springframework.stereotype.Service;
-
 @Service
 public class XXGroupGroupDao extends BaseDao<XXGroupGroup> {
+    private static final Logger logger = LoggerFactory.getLogger(XXGroupGroupDao.class);
 
-	private static final Logger logger = LoggerFactory.getLogger(XXGroupGroupDao.class);
-
-	public XXGroupGroupDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXGroupGroupDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
+
     public List<XXGroupGroup> findByGroupId(Long groupId) {
-		if (groupId == null) {
-			return new ArrayList<XXGroupGroup>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXGroupGroup.findByGroupId", tClass)
-					.setParameter("groupId", groupId)
-					.setParameter("parentGroupId", groupId)
-					.getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXGroupGroup>();
-		}
-	}
+        if (groupId == null) {
+            return new ArrayList<>();
+        }
 
-	public Set<String> findGroupNamesByGroupName(String groupName) {
-		List<String> groupList = null;
+        try {
+            return getEntityManager().createNamedQuery("XXGroupGroup.findByGroupId", tClass)
+                    .setParameter("groupId", groupId)
+                    .setParameter("parentGroupId", groupId)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-		if (groupName != null) {
-			try {
-				groupList = getEntityManager().createNamedQuery("XXGroupGroup.findGroupNamesByGroupName", String.class).setParameter("groupName", groupName).getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("GroupName not provided...");
-		}
+    public Set<String> findGroupNamesByGroupName(String groupName) {
+        List<String> groupList = null;
 
-		if(groupList != null) {
-			return new HashSet<String>(groupList);
-		}
+        if (groupName != null) {
+            try {
+                groupList = getEntityManager().createNamedQuery("XXGroupGroup.findGroupNamesByGroupName", String.class).setParameter("groupName", groupName).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("GroupName not provided...");
+        }
 
-		return new HashSet<String>();
-	}
-}
+        if (groupList != null) {
+            return new HashSet<>(groupList);
+        }
 
+        return new HashSet<>();
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
index 2647c6f7b..1f5fec92d 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
@@ -17,11 +17,6 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.RangerCommonEnums;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXGroupPermission;
@@ -29,121 +24,108 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXGroupPermissionDao extends BaseDao<XXGroupPermission> {
+    private static final Logger logger = LoggerFactory.getLogger(XXGroupPermissionDao.class);
+
+    public XXGroupPermissionDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXGroupPermission> findByModuleId(Long moduleId, boolean isUpdate) {
+        if (moduleId != null) {
+            try {
+                if (isUpdate) {
+                    return getEntityManager().createNamedQuery("XXGroupPermissionUpdates.findByModuleId", XXGroupPermission.class).setParameter("moduleId", moduleId).getResultList();
+                }
+
+                return getEntityManager().createNamedQuery("XXGroupPermission.findByModuleId", XXGroupPermission.class).setParameter("moduleId", moduleId).setParameter("isAllowed", RangerCommonEnums.IS_ALLOWED).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourcegroupId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
+
+    public List<XXGroupPermission> findByGroupId(Long groupId) {
+        if (groupId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupPermission.findByGroupId", XXGroupPermission.class).setParameter("groupId", groupId).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourcegroupId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
+
+    public List<XXGroupPermission> findbyVXPortalUserId(Long userId) {
+        if (userId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupPermission.findByVXPoratUserId", XXGroupPermission.class).setParameter("userId", userId).setParameter("isAllowed", RangerCommonEnums.IS_ALLOWED).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourcegroupId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
+
+    public XXGroupPermission findByModuleIdAndGroupId(Long groupId, Long moduleId) {
+        if (groupId != null && moduleId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupPermission.findByModuleIdAndGroupId", tClass).setParameter("groupId", groupId).setParameter("moduleId", moduleId).getSingleResult();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            return null;
+        }
+
+        return null;
+    }
+
+    public void deleteByModuleId(Long moduleId) {
+        if (moduleId != null) {
+            try {
+                getEntityManager().createNamedQuery("XXGroupPermission.deleteByModuleId", XXGroupPermission.class).setParameter("moduleId", moduleId).executeUpdate();
+            } catch (Exception e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ModuleId not provided.");
+        }
+    }
+
+    public List<String> findModuleGroupsByModuleId(Long moduleId) {
+        if (moduleId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupPermission.findModuleGroupsByModuleId", String.class).setParameter("moduleId", moduleId).setParameter("isAllowed", RangerCommonEnums.IS_ALLOWED).getResultList();
+            } catch (Exception e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ModuleId not provided.");
+        }
 
-	private static final Logger logger = LoggerFactory.getLogger(XXGroupPermissionDao.class);
-
-	public XXGroupPermissionDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public List<XXGroupPermission> findByModuleId(Long moduleId,
-			boolean isUpdate) {
-		if (moduleId != null) {
-			try {
-				if (isUpdate) {
-					return getEntityManager()
-							.createNamedQuery(
-									"XXGroupPermissionUpdates.findByModuleId",
-									XXGroupPermission.class)
-							.setParameter("moduleId", moduleId).getResultList();
-				}
-				return getEntityManager()
-						.createNamedQuery(
-								"XXGroupPermission.findByModuleId",
-								XXGroupPermission.class)
-						.setParameter("moduleId", moduleId)
-						.setParameter("isAllowed", RangerCommonEnums.IS_ALLOWED)
-						.getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourcegropuIdId not provided.");
-			return new ArrayList<XXGroupPermission>();
-		}
-		return null;
-	}
-
-	public List<XXGroupPermission> findByGroupId(Long groupId) {
-		if (groupId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery(
-								"XXGroupPermission.findByGroupId",
-								XXGroupPermission.class)
-						.setParameter("groupId", groupId).getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourcegropuIdId not provided.");
-			return new ArrayList<XXGroupPermission>();
-		}
-		return null;
-	}
-	public List<XXGroupPermission> findbyVXPortalUserId(Long userId) {
-		if (userId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery(
-								"XXGroupPermission.findByVXPoratUserId",
-								XXGroupPermission.class)
-						.setParameter("userId", userId)
-						.setParameter("isAllowed", RangerCommonEnums.IS_ALLOWED)
-						.getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourcegropuIdId not provided.");
-			return new ArrayList<XXGroupPermission>();
-		}
-		return null;
-	}
-
-	public XXGroupPermission findByModuleIdAndGroupId(Long groupId, Long moduleId) {
-		if (groupId != null && moduleId != null) {
-			try {
-				return getEntityManager().createNamedQuery("XXGroupPermission.findByModuleIdAndGroupId", tClass).setParameter("groupId", groupId).setParameter("moduleId", moduleId)
-						.getSingleResult();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			return null;
-		}
-		return null;
-	}
-	public void deleteByModuleId(Long moduleId) {
-		if (moduleId != null) {
-			try {
-				getEntityManager()
-					.createNamedQuery("XXGroupPermission.deleteByModuleId", XXGroupPermission.class)
-					.setParameter("moduleId", moduleId)
-					.executeUpdate();
-			} catch (Exception e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ModuleId not provided.");
-		}
-	}
-
-	public List<String> findModuleGroupsByModuleId(Long moduleId) {
-		if (moduleId != null) {
-			try {
-				return getEntityManager().createNamedQuery("XXGroupPermission.findModuleGroupsByModuleId", String.class)
-				.setParameter("moduleId", moduleId)
-				.setParameter("isAllowed",RangerCommonEnums.IS_ALLOWED)
-				.getResultList();
-			} catch (Exception e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ModuleId not provided.");
-		}
-		return null;
-	}
+        return null;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java
index 76cdd93f5..d64a278b2 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java
@@ -17,12 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-
-import java.util.*;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.common.db.BaseDao;
@@ -31,153 +26,153 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 @Service
 public class XXGroupUserDao extends BaseDao<XXGroupUser> {
-	private static final Logger logger = LoggerFactory.getLogger(XXGroupUserDao.class);
-
-	public XXGroupUserDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public void deleteByGroupIdAndUserId(Long groupId, Long userId) {
-		getEntityManager()
-				.createNamedQuery("XXGroupUser.deleteByGroupIdAndUserId")
-				.setParameter("userId", userId)
-				.setParameter("parentGroupId", groupId).executeUpdate();
-
-	}
-
-	public List<XXGroupUser> findByUserId(Long userId) {
-		if (userId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery("XXGroupUser.findByUserId", XXGroupUser.class)
-						.setParameter("userId", userId)
-						.getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourceId not provided.");
-			return new ArrayList<XXGroupUser>();
-		}
-		return null;
-	}
-
-	/**
-	 * @param xUserId
-	 *            -- Id of X_USER table
-	 * @return
-	 */
-	@SuppressWarnings("unchecked")
-	public List<Long> findGroupIdListByUserId(Long xUserId) {
-		if (xUserId != null) {
-			try {
-				return getEntityManager().createNamedQuery("XXGroupUser.findGroupIdListByUserId").setParameter("xUserId", xUserId).getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("UserId not provided.");
-			return new ArrayList<Long>();
-		}
-		return null;
-	}
-
-	public Set<String> findGroupNamesByUserName(String userName) {
-		List<String> groupList = null;
-
-		if (userName != null) {
-			try {
-				groupList = getEntityManager().createNamedQuery("XXGroupUser.findGroupNamesByUserName", String.class).setParameter("userName", userName).getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("UserId not provided.");
-		}
-
-		if(groupList != null) {
-			return new HashSet<String>(groupList);
-		}
-
-		return new HashSet<String>();
-	}
-
-	public List<XXGroupUser> findByGroupId(Long groupId) {
-		if (groupId == null) {
-			return new ArrayList<XXGroupUser>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXGroupUser.findByGroupId", tClass).setParameter("groupId", groupId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXGroupUser>();
-		}
-	}
-
-	public XXGroupUser findByGroupNameAndUserId(String groupName, Long userId) {
-		if (StringUtils.isNotBlank(groupName) && userId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery("XXGroupUser.findByGroupNameAndUserId", XXGroupUser.class)
-						.setParameter("userId", userId)
-						.setParameter("groupName", groupName)
-						.getSingleResult();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("userId and/or groupId not provided.");
-			return new XXGroupUser();
-		}
-		return null;
-	}
-
-	public Map<String, Set<String>> findUsersByGroupIds() {
-		Map<String, Set<String>> groupUsers = new HashMap<>();
-
-		try {
-			List<Object[]> rows = (List<Object[]>) getEntityManager()
-					.createNamedQuery("XXGroupUser.findUsersByGroupIds")
-					.getResultList();
-			if (rows != null) {
-				for (Object[] row : rows) {
-					if (groupUsers.containsKey((String)row[0])) {
-						groupUsers.get((String)row[0]).add((String)row[1]);
-					} else {
-						Set<String> users = new HashSet<>();
-						users.add((String)row[1]);
-						groupUsers.put((String)row[0], users);
-					}
-				}
-			}
-		} catch (NoResultException e) {
-			//Ignore
-		}
-		return groupUsers;
-	}
-
-	public Map<String, XXGroupUser> findUsersByGroupName(String groupName) {
-		Map<String, XXGroupUser> users = new HashMap<>();
-
-		if (StringUtils.isNotBlank(groupName)) {
-			try {
-				List<Object[]> rows = (List<Object[]>) getEntityManager()
-						.createNamedQuery("XXGroupUser.findUsersByGroupName")
-						.setParameter("groupName", groupName)
-						.getResultList();
-				if (rows != null) {
-					for (Object[] row : rows) {
-							users.put((String)row[0], (XXGroupUser)row[1]);
-					}
-				}
-			} catch (NoResultException e) {
-				if (logger.isDebugEnabled()) {
-					logger.debug(e.getMessage());
-				}
-			}
-		}
-
-		return users;
-	}
+    private static final Logger logger = LoggerFactory.getLogger(XXGroupUserDao.class);
+
+    public XXGroupUserDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public void deleteByGroupIdAndUserId(Long groupId, Long userId) {
+        getEntityManager().createNamedQuery("XXGroupUser.deleteByGroupIdAndUserId").setParameter("userId", userId).setParameter("parentGroupId", groupId).executeUpdate();
+    }
+
+    public List<XXGroupUser> findByUserId(Long userId) {
+        if (userId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupUser.findByUserId", XXGroupUser.class).setParameter("userId", userId).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourceId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
+
+    /**
+     * @param xUserId -- Id of X_USER table
+     * @return
+     */
+    public List<Long> findGroupIdListByUserId(Long xUserId) {
+        if (xUserId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupUser.findGroupIdListByUserId", Long.class).setParameter("xUserId", xUserId).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("UserId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
+
+    public Set<String> findGroupNamesByUserName(String userName) {
+        List<String> groupList = null;
+
+        if (userName != null) {
+            try {
+                groupList = getEntityManager().createNamedQuery("XXGroupUser.findGroupNamesByUserName", String.class).setParameter("userName", userName).getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("UserId not provided.");
+        }
+
+        if (groupList != null) {
+            return new HashSet<>(groupList);
+        }
+
+        return new HashSet<>();
+    }
+
+    public List<XXGroupUser> findByGroupId(Long groupId) {
+        if (groupId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXGroupUser.findByGroupId", tClass).setParameter("groupId", groupId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public XXGroupUser findByGroupNameAndUserId(String groupName, Long userId) {
+        if (StringUtils.isNotBlank(groupName) && userId != null) {
+            try {
+                return getEntityManager().createNamedQuery("XXGroupUser.findByGroupNameAndUserId", XXGroupUser.class).setParameter("userId", userId).setParameter("groupName", groupName).getSingleResult();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("userId and/or groupId not provided.");
+
+            return new XXGroupUser();
+        }
+
+        return null;
+    }
+
+    public Map<String, Set<String>> findUsersByGroupIds() {
+        Map<String, Set<String>> groupUsers = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXGroupUser.findUsersByGroupIds", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    if (groupUsers.containsKey((String) row[0])) {
+                        groupUsers.get((String) row[0]).add((String) row[1]);
+                    } else {
+                        Set<String> users = new HashSet<>();
+
+                        users.add((String) row[1]);
+                        groupUsers.put((String) row[0], users);
+                    }
+                }
+            }
+        } catch (NoResultException e) {
+            //Ignore
+        }
+
+        return groupUsers;
+    }
+
+    public Map<String, XXGroupUser> findUsersByGroupName(String groupName) {
+        Map<String, XXGroupUser> users = new HashMap<>();
+
+        if (StringUtils.isNotBlank(groupName)) {
+            try {
+                List<Object[]> rows = getEntityManager().createNamedQuery("XXGroupUser.findUsersByGroupName", Object[].class).setParameter("groupName", groupName).getResultList();
+
+                if (rows != null) {
+                    for (Object[] row : rows) {
+                        users.put((String) row[0], (XXGroupUser) row[1]);
+                    }
+                }
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        }
+
+        return users;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXModuleDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXModuleDefDao.java
index c5b0daf44..461fcffb3 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXModuleDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXModuleDefDao.java
@@ -17,129 +17,127 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.common.RangerCommonEnums;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXModuleDef;
 import org.springframework.stereotype.Service;
 
-@Service
-public class XXModuleDefDao extends BaseDao<XXModuleDef>{
-
-	public XXModuleDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXModuleDef findByModuleName(String moduleName){
-		if (moduleName == null) {
-			return null;
-		}
-		try {
-
-			return (XXModuleDef) getEntityManager()
-					.createNamedQuery("XXModuleDef.findByModuleName")
-					.setParameter("moduleName", moduleName)
-					.getSingleResult();
-		} catch (Exception e) {
-
-		}
-		return null;
-	}
-
-
-	public XXModuleDef  findByModuleId(Long id) {
-		if(id == null) {
-			return new XXModuleDef();
-		}
-		try {
-			List<XXModuleDef> xxModuelDefs=getEntityManager()
-					.createNamedQuery("XXModuleDef.findByModuleId", tClass)
-					.setParameter("id", id).getResultList();
-			return xxModuelDefs.get(0);
-		} catch (NoResultException e) {
-			return new XXModuleDef();
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String>  findModuleURLOfPemittedModules(Long userId) {
-		try {
-
-			String query="select";
-			query+=" url";
-			query+=" FROM";
-			query+="   x_modules_master";
-			query+=" WHERE";
-			query+="  url NOT IN (SELECT ";
-			query+="    moduleMaster.url";
-			query+=" FROM";
-			query+=" x_modules_master moduleMaster,";
-			query+=" x_user_module_perm userModulePermission";
-			query+=" WHERE";
-			query+=" moduleMaster.id = userModulePermission.module_id";
-			query+=" AND userModulePermission.user_id = "+userId+")";
-			query+=" AND ";
-			query+=" id NOT IN (SELECT DISTINCT";
-			query+=" gmp.module_id";
-			query+=" FROM";
-			query+=" x_group_users xgu,";
-			query+=" x_user xu,";
-			query+=" x_group_module_perm gmp,";
-			query+=" x_portal_user xpu";
-			query+=" WHERE";
-			query+=" xu.user_name = xpu.login_id";
-			query+=" AND xu.id = xgu.user_id";
-			query+=" AND xgu.p_group_id = gmp.group_id";
-			query+=" AND xpu.id = "+userId+")";
-
-			return getEntityManager()
-					.createNativeQuery(query)
-					.getResultList();
-
-		} catch (Exception e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> findAccessibleModulesByGroupIdList(List<Long> grpIdList) {
-		if (CollectionUtils.isEmpty(grpIdList)) {
-			return new ArrayList<String>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXModuleDef.findAccessibleModulesByGroupId").setParameter("grpIdList", grpIdList)
-					.setParameter("isAllowed", RangerCommonEnums.ACCESS_RESULT_ALLOWED).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<String>();
-		}
-	}
-
-	/**
-	 * @param portalUserId
-	 * @param xUserId
-	 * @return This function will return all the modules accessible for particular user, considering all the groups as well in which that user belongs
-	 */
-	@SuppressWarnings("unchecked")
-	public List<String> findAccessibleModulesByUserId(Long portalUserId, Long xUserId) {
-		if (portalUserId == null || xUserId == null) {
-			return new ArrayList<String>();
-		}
-		try {
-
-			List<String> userPermList = getEntityManager().createNamedQuery("XXModuleDef.findAllAccessibleModulesByUserId").setParameter("portalUserId", portalUserId)
-					.setParameter("xUserId", xUserId).setParameter("isAllowed", RangerCommonEnums.ACCESS_RESULT_ALLOWED).getResultList();
-
-			return userPermList;
-
-		} catch (NoResultException e) {
-			return new ArrayList<String>();
-		}
-	}
+import javax.persistence.NoResultException;
 
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class XXModuleDefDao extends BaseDao<XXModuleDef> {
+    public XXModuleDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXModuleDef findByModuleName(String moduleName) {
+        if (moduleName == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXModuleDef.findByModuleName", tClass)
+                    .setParameter("moduleName", moduleName)
+                    .getSingleResult();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    public XXModuleDef findByModuleId(Long id) {
+        if (id == null) {
+            return new XXModuleDef();
+        }
+
+        try {
+            List<XXModuleDef> xxModuelDefs = getEntityManager()
+                    .createNamedQuery("XXModuleDef.findByModuleId", tClass)
+                    .setParameter("id", id).getResultList();
+            return xxModuelDefs.get(0);
+        } catch (NoResultException e) {
+            return new XXModuleDef();
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    public List<String> findModuleURLOfPemittedModules(Long userId) {
+        try {
+            String query = "select";
+
+            query += " url";
+            query += " FROM";
+            query += "   x_modules_master";
+            query += " WHERE";
+            query += "  url NOT IN (SELECT ";
+            query += "    moduleMaster.url";
+            query += " FROM";
+            query += " x_modules_master moduleMaster,";
+            query += " x_user_module_perm userModulePermission";
+            query += " WHERE";
+            query += " moduleMaster.id = userModulePermission.module_id";
+            query += " AND userModulePermission.user_id = " + userId + ")";
+            query += " AND ";
+            query += " id NOT IN (SELECT DISTINCT";
+            query += " gmp.module_id";
+            query += " FROM";
+            query += " x_group_users xgu,";
+            query += " x_user xu,";
+            query += " x_group_module_perm gmp,";
+            query += " x_portal_user xpu";
+            query += " WHERE";
+            query += " xu.user_name = xpu.login_id";
+            query += " AND xu.id = xgu.user_id";
+            query += " AND xgu.p_group_id = gmp.group_id";
+            query += " AND xpu.id = " + userId + ")";
+
+            return getEntityManager()
+                    .createNativeQuery(query)
+                    .getResultList();
+        } catch (Exception e) {
+            e.printStackTrace();
+
+            return null;
+        }
+    }
+
+    public List<String> findAccessibleModulesByGroupIdList(List<Long> grpIdList) {
+        if (CollectionUtils.isEmpty(grpIdList)) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXModuleDef.findAccessibleModulesByGroupId", String.class)
+                    .setParameter("grpIdList", grpIdList)
+                    .setParameter("isAllowed", RangerCommonEnums.ACCESS_RESULT_ALLOWED)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    /**
+     * @param portalUserId
+     * @param xUserId
+     * @return This function will return all the modules accessible for particular user, considering all the groups as well in which that user belongs
+     */
+    public List<String> findAccessibleModulesByUserId(Long portalUserId, Long xUserId) {
+        if (portalUserId == null || xUserId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXModuleDef.findAllAccessibleModulesByUserId", String.class)
+                    .setParameter("portalUserId", portalUserId)
+                    .setParameter("xUserId", xUserId).setParameter("isAllowed", RangerCommonEnums.ACCESS_RESULT_ALLOWED)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java
index 03feb5a79..fcc608214 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java
@@ -17,12 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPermMap;
@@ -30,29 +25,35 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPermMapDao extends BaseDao<XXPermMap> {
-	private static final Logger logger = LoggerFactory.getLogger(XXResourceDao.class);
+    private static final Logger logger = LoggerFactory.getLogger(XXPermMapDao.class);
 
-    public XXPermMapDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXPermMapDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 
-	public List<XXPermMap> findByResourceId(Long resourceId) {
-		if (resourceId != null) {
-			try {
-				return getEntityManager()
-						.createNamedQuery("XXPermMap.findByResourceId", XXPermMap.class)
-						.setParameter("resourceId", resourceId)
-						.getResultList();
-			} catch (NoResultException e) {
-				logger.debug(e.getMessage());
-			}
-		} else {
-			logger.debug("ResourceId not provided.");
-			return new ArrayList<XXPermMap>();
-		}
-		return null;
-	}
+    public List<XXPermMap> findByResourceId(Long resourceId) {
+        if (resourceId != null) {
+            try {
+                return getEntityManager()
+                        .createNamedQuery("XXPermMap.findByResourceId", XXPermMap.class)
+                        .setParameter("resourceId", resourceId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                logger.debug(e.getMessage());
+            }
+        } else {
+            logger.debug("ResourceId not provided.");
+
+            return new ArrayList<>();
+        }
+
+        return null;
+    }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPluginInfoDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPluginInfoDao.java
index 57cdfeaae..409bc06f5 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPluginInfoDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPluginInfoDao.java
@@ -17,92 +17,100 @@
 
 package org.apache.ranger.db;
 
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.DateUtil;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPluginInfo;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.List;
+
 /**
+ *
  */
 @Service
 public class XXPluginInfoDao extends BaseDao<XXPluginInfo> {
-	/**
-	 * Default Constructor
-	 */
-	public XXPluginInfoDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	@Override
-	public XXPluginInfo create(XXPluginInfo obj) {
-		obj.setCreateTime(DateUtil.getUTCDate());
-		obj.setUpdateTime(DateUtil.getUTCDate());
-		return super.create(obj);
-	}
-
-	@Override
-	public XXPluginInfo update(XXPluginInfo obj) {
-		obj.setUpdateTime(DateUtil.getUTCDate());
-		return super.update(obj);
-	}
-	public XXPluginInfo find(String serviceName, String hostName, String appType) {
-		if (serviceName == null || hostName == null || appType == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPluginInfo.find", tClass)
-					.setParameter("serviceName", serviceName)
-					.setParameter("appType", appType)
-					.setParameter("hostName", hostName)
-					.getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-	public List<XXPluginInfo> findByServiceName(String serviceName) {
-		if (serviceName == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPluginInfo.findByServiceName", tClass)
-					.setParameter("serviceName", serviceName).getResultList();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	public List<XXPluginInfo> findByServiceId(Long serviceId) {
-		if (serviceId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPluginInfo.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	public List<XXPluginInfo> findByServiceAndHostName(String serviceName, String hostName) {
-		if (serviceName == null || hostName == null) {
-			return null;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPluginInfo.findByServiceAndHostName", tClass)
-					.setParameter("serviceName", serviceName)
-					.setParameter("hostName", hostName)
-					.getResultList();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
+    /**
+     * Default Constructor
+     */
+    public XXPluginInfoDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    @Override
+    public XXPluginInfo create(XXPluginInfo obj) {
+        obj.setCreateTime(DateUtil.getUTCDate());
+        obj.setUpdateTime(DateUtil.getUTCDate());
+
+        return super.create(obj);
+    }
+
+    @Override
+    public XXPluginInfo update(XXPluginInfo obj) {
+        obj.setUpdateTime(DateUtil.getUTCDate());
+
+        return super.update(obj);
+    }
+
+    public XXPluginInfo find(String serviceName, String hostName, String appType) {
+        if (serviceName == null || hostName == null || appType == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPluginInfo.find", tClass)
+                    .setParameter("serviceName", serviceName)
+                    .setParameter("appType", appType)
+                    .setParameter("hostName", hostName)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPluginInfo> findByServiceName(String serviceName) {
+        if (serviceName == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPluginInfo.findByServiceName", tClass)
+                    .setParameter("serviceName", serviceName).getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPluginInfo> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPluginInfo.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPluginInfo> findByServiceAndHostName(String serviceName, String hostName) {
+        if (serviceName == null || hostName == null) {
+            return null;
+        }
 
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPluginInfo.findByServiceAndHostName", tClass)
+                    .setParameter("serviceName", serviceName)
+                    .setParameter("hostName", hostName)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
index bdf05cdb7..4196c7aca 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
@@ -17,12 +17,6 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.common.db.BaseDao;
@@ -34,11 +28,17 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
 /**
+ *
  */
 @Service
 public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
-
     private static final Logger LOG = LoggerFactory.getLogger(XXPolicyChangeLogDao.class);
 
     private static final int POLICY_CHANGE_LOG_RECORD_ID_COLUMN_NUMBER             = 0;
@@ -58,6 +58,7 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
 
     public List<RangerPolicyDelta> findLaterThan(Long version, Long maxVersion, Long serviceId) {
         final List<RangerPolicyDelta> ret;
+
         if (version != null) {
             List<Object[]> logs = getEntityManager()
                     .createNamedQuery("XXPolicyChangeLog.findSinceVersion", Object[].class)
@@ -68,12 +69,13 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
 
             // Ensure that first record has the same version as the base-version from where the records are fetched
             if (CollectionUtils.isNotEmpty(logs)) {
-                Iterator<Object[]> iter = logs.iterator();
-                boolean foundAndRemoved = false;
+                Iterator<Object[]> iter            = logs.iterator();
+                boolean            foundAndRemoved = false;
 
                 while (iter.hasNext()) {
-                    Object[] record = iter.next();
-                    Long recordVersion = (Long) record[POLICY_CHANGE_LOG_RECORD_POLICY_VERSION_COLUMN_NUMBER];
+                    Object[] record        = iter.next();
+                    Long     recordVersion = (Long) record[POLICY_CHANGE_LOG_RECORD_POLICY_VERSION_COLUMN_NUMBER];
+
                     if (version.equals(recordVersion)) {
                         iter.remove();
                         foundAndRemoved = true;
@@ -81,6 +83,7 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
                         break;
                     }
                 }
+
                 if (foundAndRemoved) {
                     ret = convert(logs);
                 } else {
@@ -92,11 +95,13 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
         } else {
             ret = null;
         }
+
         return ret;
     }
 
     public List<RangerPolicyDelta> findGreaterThan(Long id, Long maxVersion, Long serviceId) {
         final List<RangerPolicyDelta> ret;
+
         if (id != null) {
             List<Object[]> logs = getEntityManager()
                     .createNamedQuery("XXPolicyChangeLog.findGreaterThan", Object[].class)
@@ -108,32 +113,25 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
         } else {
             ret = null;
         }
+
         return ret;
     }
 
     public void deleteOlderThan(int olderThanInDays) {
-
         Date since = new Date(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(olderThanInDays));
 
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Deleting records from x_policy_change_log that are older than " + olderThanInDays + " days, that is,  older than " + since);
-        }
+        LOG.debug("Deleting records from x_policy_change_log that are older than {} days, that is,  older than {}", olderThanInDays, since);
 
         getEntityManager().createNamedQuery("XXPolicyChangeLog.deleteOlderThan").setParameter("olderThan", since).executeUpdate();
     }
 
     private List<RangerPolicyDelta> convert(List<Object[]> queryResult) {
-
         final List<RangerPolicyDelta> ret;
 
         if (CollectionUtils.isNotEmpty(queryResult)) {
-
             ret = new ArrayList<>(queryResult.size());
 
             for (Object[] log : queryResult) {
-
-                RangerPolicy policy;
-
                 Long    logRecordId      = (Long) log[POLICY_CHANGE_LOG_RECORD_ID_COLUMN_NUMBER];
                 Integer policyChangeType = (Integer) log[POLICY_CHANGE_LOG_RECORD_CHANGE_TYPE_COLUMN_NUMBER];
                 Long    policiesVersion  = (Long) log[POLICY_CHANGE_LOG_RECORD_POLICY_VERSION_COLUMN_NUMBER];
@@ -141,28 +139,37 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
                 Long    policyId         = (Long) log[POLICY_CHANGE_LOG_RECORD_POLICY_ID_COLUMN_NUMBER];
 
                 if (policyId != null) {
-                    XXPolicy xxPolicy = daoManager.getXXPolicy().getById(policyId);
+                    XXPolicy     xxPolicy = daoManager.getXXPolicy().getById(policyId);
+                    RangerPolicy policy;
+
                     if (xxPolicy != null) {
                         try {
                             policy = JsonUtils.jsonToObject(xxPolicy.getPolicyText(), RangerPolicy.class);
+
                             policy.setId(policyId);
+
                             if (policy.getServiceType() == null) {
                                 policy.setServiceType(serviceType);
                             }
+
                             policy.setVersion(xxPolicy.getVersion());
                         } catch (Exception e) {
-                            LOG.error("Cannot read policy:[" + policyId + "]. Should not have come here!! Offending log-record-id:[" + logRecordId + "] and returning...", e);
+                            LOG.error("Cannot read policy:[{}]. Should not have come here!! Offending log-record-id:[{}] and returning...", policyId, logRecordId, e);
+
                             ret.clear();
                             ret.add(new RangerPolicyDelta(logRecordId, RangerPolicyDelta.CHANGE_TYPE_LOG_ERROR, null, null));
+
                             break;
                         }
                     } else {
                         if (policyChangeType == RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE || policyChangeType == RangerPolicyDelta.CHANGE_TYPE_POLICY_UPDATE) {
-                            LOG.warn((policyChangeType == RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE ? "POLICY_CREATE" : "POLICY_UPDATE") + " type change for policy-id:[" + policyId + "], log-id:[" + logRecordId + "] was not found.. probably already deleted");
+                            LOG.warn("{} type change for policy-id:[{}], log-id:[{}] was not found.. probably already deleted", (policyChangeType == RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE ? "POLICY_CREATE" : "POLICY_UPDATE"), policyId, logRecordId);
                             // Create a placeholder delta with a dummy policy as the created/updated policy cannot be found - If there is a subsequent POLICY_DELETE, this delta will be cleaned-up in ServiceDBStore.compressDeltas()
                         }
+
                         // Create a placeholder delta with a dummy policy
                         policy = new RangerPolicy();
+
                         policy.setId(policyId);
                         policy.setServiceType(serviceType);
                         policy.setPolicyType((Integer) log[POLICY_CHANGE_LOG_RECORD_POLICY_TYPE_COLUMN_NUMBER]);
@@ -171,17 +178,18 @@ public class XXPolicyChangeLogDao extends BaseDao<XXPolicyChangeLog> {
 
                     ret.add(new RangerPolicyDelta(logRecordId, policyChangeType, policiesVersion, policy));
                 } else {
-                    LOG.info("delta-reset-event: log-record-id=" + logRecordId + "; service-type=" + serviceType + "; policy-change-type=" + policyChangeType + ". Discarding " + ret.size() + " deltas");
+                    LOG.info("delta-reset-event: log-record-id={}; service-type={}; policy-change-type={}. Discarding {} deltas", logRecordId, serviceType, policyChangeType, ret.size());
+
                     ret.clear();
                     ret.add(new RangerPolicyDelta(logRecordId, policyChangeType, null, null));
+
                     break;
                 }
             }
         } else {
             ret = null;
         }
-        return ret;
 
+        return ret;
     }
-
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyConditionDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyConditionDefDao.java
index de2c47dc4..ac17b295a 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyConditionDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyConditionDefDao.java
@@ -17,49 +17,47 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyConditionDef;
 import org.springframework.stereotype.Service;
 
-@Service
-public class XXPolicyConditionDefDao extends BaseDao<XXPolicyConditionDef> {
-
-	public XXPolicyConditionDefDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+import javax.persistence.NoResultException;
 
-	public List<XXPolicyConditionDef> findByServiceDefId(Long serviceDefId) {
-		if (serviceDefId == null) {
-			return new ArrayList<XXPolicyConditionDef>();
-		}
-		try {
-			List<XXPolicyConditionDef> retList = getEntityManager()
-					.createNamedQuery("XXPolicyConditionDef.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-			return retList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyConditionDef>();
-		}
-	}
+import java.util.ArrayList;
+import java.util.List;
 
-	public XXPolicyConditionDef findByServiceDefIdAndName(Long serviceDefId, String name) {
-		if (serviceDefId == null) {
-			return null;
-		}
-		try {
-			XXPolicyConditionDef retList = getEntityManager()
-					.createNamedQuery("XXPolicyConditionDef.findByServiceDefIdAndName", tClass)
-					.setParameter("serviceDefId", serviceDefId)
-					.setParameter("name", name).getSingleResult();
-			return retList;
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-	
+@Service
+public class XXPolicyConditionDefDao extends BaseDao<XXPolicyConditionDef> {
+    public XXPolicyConditionDefDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyConditionDef> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyConditionDef.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public XXPolicyConditionDef findByServiceDefIdAndName(Long serviceDefId, String name) {
+        if (serviceDefId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyConditionDef.findByServiceDefIdAndName", tClass)
+                    .setParameter("serviceDefId", serviceDefId)
+                    .setParameter("name", name).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
index 48ca58c08..e8ea726cb 100755
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
@@ -17,466 +17,499 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.NoResultException;
-import javax.persistence.Query;
-
-import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicy;
 import org.apache.ranger.plugin.model.RangerSecurityZone;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
+ *
  */
 
 @Service
 public class XXPolicyDao extends BaseDao<XXPolicy> {
-	/**
-	 * Default Constructor
-	 */
-	public XXPolicyDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public long getCountById(Long policyId) {
-		return getEntityManager()
-					.createNamedQuery("XXPolicy.countById", Long.class)
-					.setParameter("policyId", policyId)
-					.getSingleResult();
-	}
-
-	public XXPolicy findByNameAndServiceId(String polName, Long serviceId) {
-		return findByNameAndServiceIdAndZoneId(polName, serviceId, RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID);
-	}
-
-	public XXPolicy findByNameAndServiceIdAndZoneId(String polName, Long serviceId, Long zoneId) {
-		if (polName == null || serviceId == null) {
-			return null;
-		}
-
-		XXPolicy ret;
-
-		try {
-			ret = getEntityManager()
-					.createNamedQuery("XXPolicy.findByNameAndServiceIdAndZoneId", tClass)
-					.setParameter("polName", polName).setParameter("serviceId", serviceId).setParameter("zoneId", zoneId)
-					.getSingleResult();
-
-		} catch (NoResultException e) {
-			ret = null;
-		}
-
-		return ret;
-	}
-
-	public XXPolicy findByPolicyName(String polName) {
-		if (polName == null) {
-			return null;
-		}
-		try {
-			XXPolicy xPol = getEntityManager().createNamedQuery("XXPolicy.findByPolicyName", tClass)
-					.setParameter("polName", polName).getSingleResult();
-			return xPol;
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	public List<XXPolicy> findByServiceId(Long serviceId) {
-		if (serviceId == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<Long> findPolicyIdsByServiceId(Long serviceId) {
-		List<Long> ret = new ArrayList<Long>();
-		try {
-			ret = getEntityManager()
-					.createNamedQuery("XXPolicy.findPolicyIdsByServiceId", Long.class)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (Exception e) {
-		}
-		return ret;
-	}
-
-	public Long getMaxIdOfXXPolicy() {
-		try {
-			return (Long) getEntityManager().createNamedQuery("XXPolicy.getMaxIdOfXXPolicy").getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-	
-	public List<XXPolicy> findByResourceSignatureByPolicyStatus(String serviceName, String policySignature, Boolean isPolicyEnabled) {
-		if (policySignature == null || serviceName == null || isPolicyEnabled == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignatureByPolicyStatus", tClass)
-					.setParameter("resSignature", policySignature)
-					.setParameter("serviceName", serviceName)
-					.setParameter("isPolicyEnabled", isPolicyEnabled)
-					.getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<XXPolicy> findByResourceSignature(String serviceName, String policySignature) {
-		if (policySignature == null || serviceName == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignature", tClass)
-					.setParameter("resSignature", policySignature)
-					.setParameter("serviceName", serviceName)
-					.getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<XXPolicy> findByServiceDefId(Long serviceDefId) {
-		if(serviceDefId == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicy.findByServiceDefId", tClass)
-					.setParameter("serviceDefId", serviceDefId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public void updateSequence() {
-		Long maxId = getMaxIdOfXXPolicy();
-
-		if(maxId == null) {
-			return;
-		}
-
-		updateSequence("X_POLICY_SEQ", maxId + 1);
-	}
-	public List<XXPolicy> findByUserId(Long userId) {
-		if(userId == null || userId.equals(Long.valueOf(0L))) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.findByUserId", tClass)
-					.setParameter("userId", userId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-	public List<XXPolicy> findByGroupId(Long groupId) {
-		if(groupId == null || groupId.equals(Long.valueOf(0L))) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.findByGroupId", tClass)
-					.setParameter("groupId", groupId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<Long> findPolicyIdsByServiceNameAndZoneId(String serviceName, Long zoneId) {
-		List<Long> ret = new ArrayList<Long>();
-		try {
-			ret = getEntityManager()
-					.createNamedQuery("XXPolicy.findPolicyIdsByServiceNameAndZoneId", Long.class)
-					.setParameter("serviceName", serviceName)
-					.setParameter("zoneId", zoneId)
-					.getResultList();
-		} catch (Exception e) {
-		}
-		return ret;
-	}
-
-	public List<XXPolicy> findByRoleId(Long roleId) {
-		List<XXPolicy> ret = ListUtils.EMPTY_LIST;
-		if (roleId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXPolicy.findByRoleId", tClass)
-						.setParameter("roleId", roleId)
-						.getResultList();
-			} catch (NoResultException excp) {
-			}
-		}
-		return ret;
-	}
-	public List<Long> findServiceIdsByRoleId(Long roleId) {
-		List<Long> ret = ListUtils.EMPTY_LIST;
-		if (roleId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXPolicy.findServiceIdsByRoleId", Long.class)
-						.setParameter("roleId", roleId)
-						.getResultList();
-			} catch (NoResultException excp) {
-			}
-		}
-		return ret;
-	}
-
-	public long findRoleRefPolicyCount(String roleName, Long serviceId) {
-		long ret = -1;
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.findRoleRefPolicyCount", Long.class)
-					.setParameter("serviceId", serviceId)
-					.setParameter("roleName", roleName).getSingleResult();
-		} catch (Exception e) {
-		}
-		return ret;
-	}
-
-	public long getPoliciesCount(String serviceName) {
-		long ret = 0L;
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.getPoliciesCount", Long.class)
-					.setParameter("serviceName", serviceName).getSingleResult();
-		} catch (Exception e) {
-		}
-		return ret;
-	}
-
-	public XXPolicy findPolicy(String policyName, String serviceName, String zoneName) {
-		if (policyName == null || serviceName == null) {
-			return null;
-		}
-
-		try {
-			if (zoneName == null) {
-				return getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyNameAndServiceName", tClass)
-						.setParameter("policyName", policyName).setParameter("serviceName", serviceName)
-						.setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
-						.getSingleResult();
-			} else {
-				return getEntityManager()
-						.createNamedQuery("XXPolicy.findPolicyByPolicyNameAndServiceNameAndZoneName", tClass)
-						.setParameter("policyName", policyName).setParameter("serviceName", serviceName)
-						.setParameter("zoneName", zoneName).getSingleResult();
-			}
-		} catch (NoResultException e) {
-			return null;
-		}
-
-	}
-
-	public List<XXPolicy> getAllByPolicyItem() {
-		List<XXPolicy> ret = ListUtils.EMPTY_LIST;
-		try {
-			ret = getEntityManager().createNamedQuery("XXPolicy.getAllByPolicyItem", tClass)
-					.getResultList();
-		} catch (NoResultException excp) {
-		}
-		return ret;
-	}
-
-	public XXPolicy findPolicyByGUIDAndServiceNameAndZoneName(String guid, String serviceName, String zoneName) {
-		if (guid == null) {
-			return null;
-		}
-
-		try {
-			if (StringUtils.isNotBlank(serviceName)) {
-				if (StringUtils.isNotBlank(zoneName)) {
-					return getEntityManager()
-						.createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceNameAndZoneName", tClass)
-						.setParameter("guid", guid)
-						.setParameter("serviceName", serviceName)
-						.setParameter("zoneName", zoneName)
-						.getSingleResult();
-				} else {
-					return getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceName", tClass)
-						.setParameter("guid", guid)
-						.setParameter("serviceName", serviceName)
-						.setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
-						.getSingleResult();
-				}
-			} else {
-				if (StringUtils.isNotBlank(zoneName)) {
-					return getEntityManager()
-						.createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndZoneName", tClass)
-						.setParameter("guid", guid)
-						.setParameter("zoneName", zoneName)
-						.getSingleResult();
-				} else {
-					return getEntityManager()
-						.createNamedQuery("XXPolicy.findPolicyByPolicyGUID", tClass)
-						.setParameter("guid", guid)
-						.setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
-						.getSingleResult();
-				}
-			}
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	public List<XXPolicy> findByPolicyStatus(Boolean isPolicyEnabled) {
-		if (isPolicyEnabled == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicy.findByPolicyStatus", tClass)
-					.setParameter("isPolicyEnabled", isPolicyEnabled)
-					.getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<String> findDuplicateGUIDByServiceIdAndZoneId(Long serviceId, Long zoneId) {
-		List<String> ret = ListUtils.EMPTY_LIST;
-		if(serviceId == null || zoneId == null) {
-			return ret;
-		}
-		try {
-			ret = getEntityManager().createNamedQuery("XXPolicy.findDuplicateGUIDByServiceIdAndZoneId", String.class)
-					.setParameter("serviceId", serviceId)
-					.setParameter("zoneId", zoneId)
-					.getResultList();
-
-		} catch (Exception e) {
-		}
-		return ret;
-	}
-
-	public List<XXPolicy> findPolicyByGUIDAndServiceIdAndZoneId(String guid, Long serviceId, Long zoneId) {
-		List<XXPolicy> ret = ListUtils.EMPTY_LIST;
-		if (guid == null || serviceId == null ||  zoneId == null) {
-			return ret;
-		}
-		try {
-			ret = getEntityManager().createNamedQuery("XXPolicy.findPolicyByGUIDAndServiceIdAndZoneId", tClass)
-					.setParameter("guid", guid)
-					.setParameter("serviceId", serviceId)
-					.setParameter("zoneId", zoneId)
-					.getResultList();
-
-		} catch (NoResultException excp) {
-		}
-		return ret;
-	}
-
-	public Map<String, Long> findDuplicatePoliciesByServiceAndResourceSignature() {
-		Map<String, Long> policies = new HashMap<String, Long>();
-		try {
-			List<Object[]> rows = (List<Object[]>) getEntityManager().createNamedQuery("XXPolicy.findDuplicatePoliciesByServiceAndResourceSignature").getResultList();
-			if (rows != null) {
-				for (Object[] row : rows) {
-					policies.put((String) row[0], (Long) row[1]);
-				}
-			}
-		} catch (NoResultException e) {
-			return null;
-		} catch (Exception ex) {
-		}
-		return policies;
-	}
-
-	public List<XXPolicy> findByServiceIdAndResourceSignature(Long serviceId, String policySignature) {
-		if (policySignature == null || serviceId == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicy.findByServiceIdAndResourceSignature", tClass)
-					.setParameter("serviceId", serviceId)
-					.setParameter("resSignature", policySignature)
-					.getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<XXPolicy> findByZoneId(Long zoneId) {
-		if (zoneId == null) {
-			return new ArrayList<XXPolicy>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicy.findByZoneId", tClass)
-					.setParameter("zoneId", zoneId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicy>();
-		}
-	}
-
-	public List<XXPolicy> findByServiceType(String serviceType) {
-		List<XXPolicy> ret = Collections.emptyList();
-
-		if (serviceType != null && !serviceType.isEmpty()) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXPolicy.findByServiceType", tClass)
-				                        .setParameter("serviceType", serviceType)
-				                        .getResultList();
-			} catch (NoResultException e) {
-			    // ignore
-			}
-		}
-
-		return ret;
-	}
-
-	public XXPolicy getProjectPolicy(Long projectId, Long policyId) {
-		XXPolicy ret = null;
-
-		if (projectId != null && policyId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXPolicy.getProjectPolicy", tClass)
-				                        .setParameter("projectId", projectId)
-				                        .setParameter("policyId", policyId)
-				                        .getSingleResult();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
-
-		return ret;
-	}
-
-	public List<Object[]> getMetaAttributesForPolicies(List<Long> policyIds) {
-		if (policyIds == null || policyIds.isEmpty()) {
-			return Collections.emptyList();
-		}
-
-		Query query = getEntityManager().createNamedQuery("XXPolicy.getMetaAttributesForPolicies", tClass);
-		query.setParameter("policyIds", policyIds);
-
-		return query.getResultList();
-	}
-
-	public List<XXPolicy> getProjectPolicies(Long projectId) {
-		List<XXPolicy> ret = Collections.emptyList();
-
-		if (projectId != null) {
-			try {
-				ret = getEntityManager().createNamedQuery("XXPolicy.getProjectPolicies", tClass)
-				                        .setParameter("projectId", projectId)
-				                        .getResultList();
-			} catch (NoResultException e) {
-				// ignore
-			}
-		}
-
-		return ret;
-	}
+    /**
+     * Default Constructor
+     */
+    public XXPolicyDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public long getCountById(Long policyId) {
+        return getEntityManager()
+                .createNamedQuery("XXPolicy.countById", Long.class)
+                .setParameter("policyId", policyId)
+                .getSingleResult();
+    }
+
+    public XXPolicy findByNameAndServiceId(String polName, Long serviceId) {
+        return findByNameAndServiceIdAndZoneId(polName, serviceId, RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID);
+    }
+
+    public XXPolicy findByNameAndServiceIdAndZoneId(String polName, Long serviceId, Long zoneId) {
+        if (polName == null || serviceId == null) {
+            return null;
+        }
+
+        XXPolicy ret;
+
+        try {
+            ret = getEntityManager()
+                    .createNamedQuery("XXPolicy.findByNameAndServiceIdAndZoneId", tClass)
+                    .setParameter("polName", polName).setParameter("serviceId", serviceId).setParameter("zoneId", zoneId)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            ret = null;
+        }
+
+        return ret;
+    }
+
+    public XXPolicy findByPolicyName(String polName) {
+        if (polName == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByPolicyName", tClass)
+                    .setParameter("polName", polName).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPolicy> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<Long> findPolicyIdsByServiceId(Long serviceId) {
+        List<Long> ret;
+
+        try {
+            ret = getEntityManager()
+                    .createNamedQuery("XXPolicy.findPolicyIdsByServiceId", Long.class)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (Exception e) {
+            ret = new ArrayList<>();
+        }
+
+        return ret;
+    }
+
+    public Long getMaxIdOfXXPolicy() {
+        try {
+            return (Long) getEntityManager().createNamedQuery("XXPolicy.getMaxIdOfXXPolicy").getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPolicy> findByResourceSignatureByPolicyStatus(String serviceName, String policySignature, Boolean isPolicyEnabled) {
+        if (policySignature == null || serviceName == null || isPolicyEnabled == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignatureByPolicyStatus", tClass)
+                    .setParameter("resSignature", policySignature)
+                    .setParameter("serviceName", serviceName)
+                    .setParameter("isPolicyEnabled", isPolicyEnabled)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicy> findByResourceSignature(String serviceName, String policySignature) {
+        if (policySignature == null || serviceName == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignature", tClass)
+                    .setParameter("resSignature", policySignature)
+                    .setParameter("serviceName", serviceName)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicy> findByServiceDefId(Long serviceDefId) {
+        if (serviceDefId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByServiceDefId", tClass)
+                    .setParameter("serviceDefId", serviceDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public void updateSequence() {
+        Long maxId = getMaxIdOfXXPolicy();
+
+        if (maxId == null) {
+            return;
+        }
+
+        updateSequence("X_POLICY_SEQ", maxId + 1);
+    }
+
+    public List<XXPolicy> findByUserId(Long userId) {
+        if (userId == null || userId.equals(0L)) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.findByUserId", tClass)
+                    .setParameter("userId", userId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicy> findByGroupId(Long groupId) {
+        if (groupId == null || groupId.equals(0L)) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.findByGroupId", tClass)
+                    .setParameter("groupId", groupId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<Long> findPolicyIdsByServiceNameAndZoneId(String serviceName, Long zoneId) {
+        List<Long> ret;
+
+        try {
+            ret = getEntityManager()
+                    .createNamedQuery("XXPolicy.findPolicyIdsByServiceNameAndZoneId", Long.class)
+                    .setParameter("serviceName", serviceName)
+                    .setParameter("zoneId", zoneId)
+                    .getResultList();
+        } catch (Exception e) {
+            ret = new ArrayList<>();
+        }
+
+        return ret;
+    }
+
+    public List<XXPolicy> findByRoleId(Long roleId) {
+        List<XXPolicy> ret = Collections.emptyList();
+
+        if (roleId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXPolicy.findByRoleId", tClass)
+                        .setParameter("roleId", roleId)
+                        .getResultList();
+            } catch (NoResultException excp) {
+                // ignore
+            }
+        }
+
+        return ret;
+    }
+
+    public List<Long> findServiceIdsByRoleId(Long roleId) {
+        List<Long> ret = Collections.emptyList();
+
+        if (roleId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXPolicy.findServiceIdsByRoleId", Long.class)
+                        .setParameter("roleId", roleId)
+                        .getResultList();
+            } catch (NoResultException excp) {
+                // ignore
+            }
+        }
+
+        return ret;
+    }
+
+    public long findRoleRefPolicyCount(String roleName, Long serviceId) {
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.findRoleRefPolicyCount", Long.class)
+                    .setParameter("serviceId", serviceId)
+                    .setParameter("roleName", roleName).getSingleResult();
+        } catch (Exception e) {
+            // ignore
+        }
+
+        return -1;
+    }
+
+    public long getPoliciesCount(String serviceName) {
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.getPoliciesCount", Long.class)
+                    .setParameter("serviceName", serviceName).getSingleResult();
+        } catch (Exception e) {
+            // ignore
+        }
+
+        return 0L;
+    }
+
+    public XXPolicy findPolicy(String policyName, String serviceName, String zoneName) {
+        if (policyName == null || serviceName == null) {
+            return null;
+        }
+
+        try {
+            if (zoneName == null) {
+                return getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyNameAndServiceName", tClass)
+                        .setParameter("policyName", policyName).setParameter("serviceName", serviceName)
+                        .setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
+                        .getSingleResult();
+            } else {
+                return getEntityManager()
+                        .createNamedQuery("XXPolicy.findPolicyByPolicyNameAndServiceNameAndZoneName", tClass)
+                        .setParameter("policyName", policyName).setParameter("serviceName", serviceName)
+                        .setParameter("zoneName", zoneName).getSingleResult();
+            }
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPolicy> getAllByPolicyItem() {
+        List<XXPolicy> ret;
+
+        try {
+            ret = getEntityManager().createNamedQuery("XXPolicy.getAllByPolicyItem", tClass)
+                    .getResultList();
+        } catch (NoResultException excp) {
+            ret = Collections.emptyList();
+        }
+
+        return ret;
+    }
+
+    public XXPolicy findPolicyByGUIDAndServiceNameAndZoneName(String guid, String serviceName, String zoneName) {
+        if (guid == null) {
+            return null;
+        }
+
+        try {
+            if (StringUtils.isNotBlank(serviceName)) {
+                if (StringUtils.isNotBlank(zoneName)) {
+                    return getEntityManager()
+                            .createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceNameAndZoneName", tClass)
+                            .setParameter("guid", guid)
+                            .setParameter("serviceName", serviceName)
+                            .setParameter("zoneName", zoneName)
+                            .getSingleResult();
+                } else {
+                    return getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceName", tClass)
+                            .setParameter("guid", guid)
+                            .setParameter("serviceName", serviceName)
+                            .setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
+                            .getSingleResult();
+                }
+            } else {
+                if (StringUtils.isNotBlank(zoneName)) {
+                    return getEntityManager()
+                            .createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndZoneName", tClass)
+                            .setParameter("guid", guid)
+                            .setParameter("zoneName", zoneName)
+                            .getSingleResult();
+                } else {
+                    return getEntityManager()
+                            .createNamedQuery("XXPolicy.findPolicyByPolicyGUID", tClass)
+                            .setParameter("guid", guid)
+                            .setParameter("zoneId", RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
+                            .getSingleResult();
+                }
+            }
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPolicy> findByPolicyStatus(Boolean isPolicyEnabled) {
+        if (isPolicyEnabled == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByPolicyStatus", tClass)
+                    .setParameter("isPolicyEnabled", isPolicyEnabled)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<String> findDuplicateGUIDByServiceIdAndZoneId(Long serviceId, Long zoneId) {
+        List<String> ret = Collections.emptyList();
+
+        if (serviceId == null || zoneId == null) {
+            return ret;
+        }
+
+        try {
+            ret = getEntityManager().createNamedQuery("XXPolicy.findDuplicateGUIDByServiceIdAndZoneId", String.class)
+                    .setParameter("serviceId", serviceId)
+                    .setParameter("zoneId", zoneId)
+                    .getResultList();
+        } catch (Exception e) {
+            // ignore
+        }
+
+        return ret;
+    }
+
+    public List<XXPolicy> findPolicyByGUIDAndServiceIdAndZoneId(String guid, Long serviceId, Long zoneId) {
+        List<XXPolicy> ret = Collections.emptyList();
+
+        if (guid == null || serviceId == null || zoneId == null) {
+            return ret;
+        }
+
+        try {
+            ret = getEntityManager().createNamedQuery("XXPolicy.findPolicyByGUIDAndServiceIdAndZoneId", tClass)
+                    .setParameter("guid", guid)
+                    .setParameter("serviceId", serviceId)
+                    .setParameter("zoneId", zoneId)
+                    .getResultList();
+        } catch (NoResultException excp) {
+            // ignore
+        }
+
+        return ret;
+    }
+
+    public Map<String, Long> findDuplicatePoliciesByServiceAndResourceSignature() {
+        Map<String, Long> policies = new HashMap<>();
+
+        try {
+            List<Object[]> rows = getEntityManager().createNamedQuery("XXPolicy.findDuplicatePoliciesByServiceAndResourceSignature", Object[].class).getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    policies.put((String) row[0], (Long) row[1]);
+                }
+            }
+        } catch (NoResultException e) {
+            return null;
+        } catch (Exception ex) {
+            // ignore
+        }
+
+        return policies;
+    }
+
+    public List<XXPolicy> findByServiceIdAndResourceSignature(Long serviceId, String policySignature) {
+        if (policySignature == null || serviceId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicy.findByServiceIdAndResourceSignature", tClass)
+                    .setParameter("serviceId", serviceId)
+                    .setParameter("resSignature", policySignature)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicy> findByZoneId(Long zoneId) {
+        if (zoneId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicy.findByZoneId", tClass)
+                    .setParameter("zoneId", zoneId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicy> findByServiceType(String serviceType) {
+        List<XXPolicy> ret = Collections.emptyList();
+
+        if (serviceType != null && !serviceType.isEmpty()) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXPolicy.findByServiceType", tClass)
+                        .setParameter("serviceType", serviceType)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
+
+        return ret;
+    }
+
+    public XXPolicy getProjectPolicy(Long projectId, Long policyId) {
+        XXPolicy ret = null;
+
+        if (projectId != null && policyId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXPolicy.getProjectPolicy", tClass)
+                        .setParameter("projectId", projectId)
+                        .setParameter("policyId", policyId)
+                        .getSingleResult();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
+
+        return ret;
+    }
+
+    public List<Object[]> getMetaAttributesForPolicies(List<Long> policyIds) {
+        if (policyIds == null || policyIds.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        return getEntityManager().createNamedQuery("XXPolicy.getMetaAttributesForPolicies", Object[].class).setParameter("policyIds", policyIds).getResultList();
+    }
+
+    public List<XXPolicy> getProjectPolicies(Long projectId) {
+        List<XXPolicy> ret = Collections.emptyList();
+
+        if (projectId != null) {
+            try {
+                ret = getEntityManager().createNamedQuery("XXPolicy.getProjectPolicies", tClass)
+                        .setParameter("projectId", projectId)
+                        .getResultList();
+            } catch (NoResultException e) {
+                // ignore
+            }
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java
index 1d13feb02..be253f0b9 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyExportAudit;
@@ -32,8 +32,8 @@ import java.util.concurrent.TimeUnit;
 public class XXPolicyExportAuditDao extends BaseDao<XXPolicyExportAudit> {
     private static final Logger logger = LoggerFactory.getLogger(XXPolicyExportAuditDao.class);
 
-    public XXPolicyExportAuditDao( RangerDaoManagerBase daoManager ) {
-		super(daoManager);
+    public XXPolicyExportAuditDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
     }
 
     public long deleteOlderThan(int olderThanInDays) {
@@ -48,4 +48,3 @@ public class XXPolicyExportAuditDao extends BaseDao<XXPolicyExportAudit> {
         return ret;
     }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemAccessDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemAccessDao.java
index e396d2da6..41f5bada9 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemAccessDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemAccessDao.java
@@ -17,54 +17,55 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItemAccess;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyItemAccessDao extends BaseDao<XXPolicyItemAccess> {
+    public XXPolicyItemAccessDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemAccess> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
 
-	public XXPolicyItemAccessDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemAccess.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemAccess> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemAccess>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemAccess.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemAccess>();
-		}
-	}
+    public List<XXPolicyItemAccess> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemAccess> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemAccess>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemAccess.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemAccess>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemAccess.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemAccess.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemAccess.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemConditionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemConditionDao.java
index bcc30b3ec..1e59e5b36 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemConditionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemConditionDao.java
@@ -17,54 +17,55 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItemCondition;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyItemConditionDao extends BaseDao<XXPolicyItemCondition> {
+    public XXPolicyItemConditionDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemCondition> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
 
-	public XXPolicyItemConditionDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemCondition.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemCondition> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemCondition>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemCondition.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemCondition>();
-		}
-	}
+    public List<XXPolicyItemCondition> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemCondition> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemCondition>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemCondition.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemCondition>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemCondition.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemCondition.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemCondition.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDao.java
index 4c981be7a..223e6ebc4 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDao.java
@@ -17,67 +17,75 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItem;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
+ *
  */
 
 @Service
 public class XXPolicyItemDao extends BaseDao<XXPolicyItem> {
-	/**
-	 * Default Constructor
-	 */
-	public XXPolicyItemDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public List<XXPolicyItem> findByPolicyId(Long policyId) {
-		if (policyId == null) {
-			return new ArrayList<XXPolicyItem>();
-		}
-		try {
-			List<XXPolicyItem> returnList = getEntityManager()
-					.createNamedQuery("XXPolicyItem.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-			if (returnList == null) {
-				return new ArrayList<XXPolicyItem>();
-			}
-			return returnList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItem>();
-		}
-	}
-
-	public List<XXPolicyItem> findByServiceId(Long serviceId) {
-		if (serviceId == null) {
-			return new ArrayList<XXPolicyItem>();
-		}
-		try {
-			List<XXPolicyItem> returnList = getEntityManager()
-					.createNamedQuery("XXPolicyItem.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-			if (returnList == null) {
-				return new ArrayList<XXPolicyItem>();
-			}
-			return returnList;
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItem>();
-		}
-	}
-
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItem.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
-}
\ No newline at end of file
+    /**
+     * Default Constructor
+     */
+    public XXPolicyItemDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItem> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            List<XXPolicyItem> returnList = getEntityManager()
+                    .createNamedQuery("XXPolicyItem.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+
+            if (returnList == null) {
+                return new ArrayList<>();
+            }
+
+            return returnList;
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public List<XXPolicyItem> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            List<XXPolicyItem> returnList = getEntityManager()
+                    .createNamedQuery("XXPolicyItem.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+
+            if (returnList == null) {
+                return new ArrayList<>();
+            }
+
+            return returnList;
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
+
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
+
+        getEntityManager()
+                .createNamedQuery("XXPolicyItem.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDataMaskInfoDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDataMaskInfoDao.java
index fe6d9ea37..0f147509c 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDataMaskInfoDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemDataMaskInfoDao.java
@@ -17,54 +17,56 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItemDataMaskInfo;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyItemDataMaskInfoDao extends BaseDao<XXPolicyItemDataMaskInfo> {
+    public XXPolicyItemDataMaskInfoDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemDataMaskInfo> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemDataMaskInfo.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyItemDataMaskInfoDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyItemDataMaskInfo> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemDataMaskInfo> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemDataMaskInfo>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemDataMaskInfo.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemDataMaskInfo>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemDataMaskInfo.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemDataMaskInfo> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemDataMaskInfo>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemDataMaskInfo.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemDataMaskInfo>();
-		}
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemDataMaskInfo.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemDataMaskInfo.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemGroupPermDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemGroupPermDao.java
index faa0a8c60..68d776a44 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemGroupPermDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemGroupPermDao.java
@@ -17,54 +17,56 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItemGroupPerm;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyItemGroupPermDao extends BaseDao<XXPolicyItemGroupPerm> {
+    public XXPolicyItemGroupPermDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemGroupPerm> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemGroupPerm.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyItemGroupPermDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyItemGroupPerm> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemGroupPerm> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemGroupPerm>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemGroupPerm.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemGroupPerm>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemGroupPerm.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemGroupPerm> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemGroupPerm>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemGroupPerm.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemGroupPerm>();
-		}
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemGroupPerm.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemGroupPerm.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemRowFilterInfoDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemRowFilterInfoDao.java
index d596c1558..7961f835a 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemRowFilterInfoDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemRowFilterInfoDao.java
@@ -22,48 +22,51 @@ import org.apache.ranger.entity.XXPolicyItemRowFilterInfo;
 import org.springframework.stereotype.Service;
 
 import javax.persistence.NoResultException;
+
 import java.util.ArrayList;
 import java.util.List;
 
 @Service
 public class XXPolicyItemRowFilterInfoDao extends BaseDao<XXPolicyItemRowFilterInfo> {
+    public XXPolicyItemRowFilterInfoDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemRowFilterInfo> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemRowFilterInfo.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyItemRowFilterInfoDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyItemRowFilterInfo> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemRowFilterInfo> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemRowFilterInfo>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemRowFilterInfo.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemRowFilterInfo>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemRowFilterInfo.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemRowFilterInfo> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemRowFilterInfo>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemRowFilterInfo.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemRowFilterInfo>();
-		}
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemRowFilterInfo.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemRowFilterInfo.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemUserPermDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemUserPermDao.java
index 96d1e5e43..50a6c1fc9 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemUserPermDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyItemUserPermDao.java
@@ -17,54 +17,56 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyItemUserPerm;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyItemUserPermDao extends BaseDao<XXPolicyItemUserPerm> {
+    public XXPolicyItemUserPermDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyItemUserPerm> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemUserPerm.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyItemUserPermDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyItemUserPerm> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyItemUserPerm> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyItemUserPerm>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemUserPerm.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemUserPerm>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyItemUserPerm.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyItemUserPerm> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyItemUserPerm>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyItemUserPerm.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyItemUserPerm>();
-		}
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyItemUserPerm.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+        getEntityManager()
+                .createNamedQuery("XXPolicyItemUserPerm.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelDao.java
index 9a8f198e4..a4aa45513 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelDao.java
@@ -17,90 +17,92 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyLabel;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyLabelDao extends BaseDao<XXPolicyLabel> {
+    public XXPolicyLabelDao(RangerDaoManagerBase daoMgr) {
+        super(daoMgr);
+    }
 
-        public XXPolicyLabelDao(RangerDaoManagerBase daoMgr) {
-                super(daoMgr);
+    public List<XXPolicyLabel> getAllPolicyLabels() {
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.getAllPolicyLabels", tClass)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
         }
+    }
 
-        public List<XXPolicyLabel> getAllPolicyLabels() {
-                try {
-                        return getEntityManager().createNamedQuery("XXPolicyLabel.getAllPolicyLabels", tClass)
-                                        .getResultList();
-                } catch (NoResultException e) {
-                        return new ArrayList<XXPolicyLabel>();
-                }
+    public XXPolicyLabel findByName(String policyLabel) {
+        if (policyLabel == null) {
+            return null;
         }
 
-        public XXPolicyLabel findByName(String policyLabel) {
-                if (policyLabel == null) {
-                        return null;
-                }
-                try {
-                        return getEntityManager().createNamedQuery("XXPolicyLabel.findByName", tClass)
-                                        .setParameter("policyLabel", policyLabel).getSingleResult();
-                } catch (NoResultException e) {
-                        return null;
-                }
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.findByName", tClass)
+                    .setParameter("policyLabel", policyLabel).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
         }
+    }
 
-        public List<XXPolicyLabel> getByName(String policyLabel) {
-            if (policyLabel == null) {
-                    return null;
-            }
-            try {
-                    return getEntityManager().createNamedQuery("XXPolicyLabel.findByName", tClass)
-                                    .setParameter("policyLabel", policyLabel).getResultList();
-            } catch (NoResultException e) {
-                    return null;
-            }
+    public List<XXPolicyLabel> getByName(String policyLabel) {
+        if (policyLabel == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.findByName", tClass)
+                    .setParameter("policyLabel", policyLabel).getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public XXPolicyLabel findByPolicyLabelId(Long policyLabelId) {
+        if (policyLabelId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.findByPolicyLabelId", tClass)
+                    .setParameter("policyLabelId", policyLabelId).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
     }
 
+    public List<XXPolicyLabel> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return null;
+        }
 
-        public XXPolicyLabel findByPolicyLabelId(Long policyLabelId) {
-                if (policyLabelId == null) {
-                        return null;
-                }
-                try {
-                        return (XXPolicyLabel) getEntityManager().createNamedQuery("XXPolicyLabel.findByPolicyLabelId", tClass)
-                                        .setParameter("policyLabelId", policyLabelId).getSingleResult();
-                } catch (NoResultException e) {
-                        return null;
-                }
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return null;
         }
+    }
 
-                public List<XXPolicyLabel> findByServiceId(Long serviceId) {
-                        if (serviceId == null) {
-                                return null;
-                        }
-                        try {
-                                return getEntityManager().createNamedQuery("XXPolicyLabel.findByServiceId", tClass)
-                                                .setParameter("serviceId", serviceId).getResultList();
-                        } catch (NoResultException e) {
-                                return null;
-                        }
-                }
-
-        public List<XXPolicyLabel> findByPolicyId(Long policyId) {
-                if (policyId == null) {
-                        return null;
-                }
-                try {
-                        return getEntityManager().createNamedQuery("XXPolicyLabel.findByPolicyId", tClass)
-                                        .setParameter("policyId", policyId).getResultList();
-                } catch (NoResultException e) {
-                        return null;
-                }
+    public List<XXPolicyLabel> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return null;
         }
 
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabel.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelMapDao.java
index 942cd1117..9ac6d6c2e 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyLabelMapDao.java
@@ -17,56 +17,57 @@
 
 package org.apache.ranger.db;
 
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyLabelMap;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.List;
+
 @Service
 public class XXPolicyLabelMapDao extends BaseDao<XXPolicyLabelMap> {
+    public XXPolicyLabelMapDao(RangerDaoManagerBase daoMgr) {
+        super(daoMgr);
+    }
 
-        public XXPolicyLabelMapDao(RangerDaoManagerBase daoMgr) {
-                super(daoMgr);
+    public List<XXPolicyLabelMap> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return null;
         }
 
-        public List<XXPolicyLabelMap> findByPolicyId(Long policyId) {
-                if(policyId == null) {
-                        return null;
-                }
-                try {
-                        return getEntityManager()
-                                        .createNamedQuery("XXPolicyLabelMap.findByPolicyId", tClass)
-                                        .setParameter("policyId", policyId).getResultList();
-                } catch (NoResultException e) {
-                        return null;
-                }
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyLabelMap.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return null;
         }
+    }
 
-        public XXPolicyLabelMap findByPolicyLabelId(Long policyLabelId) {
-                if (policyLabelId == null) {
-                        return null;
-                }
-                try {
-                        return (XXPolicyLabelMap) getEntityManager().createNamedQuery("XXPolicyLabelMap.findByPolicyLabelId", tClass)
-                                        .setParameter("policyLabelId", policyLabelId).getResultList();
-                } catch (NoResultException e) {
-                        return null;
-                }
+    public XXPolicyLabelMap findByPolicyLabelId(Long policyLabelId) {
+        if (policyLabelId == null) {
+            return null;
         }
 
-        public List<XXPolicyLabelMap> findByServiceId(Long serviceId) {
-                if (serviceId == null) {
-                        return null;
-                }
-                try {
-                        return getEntityManager().createNamedQuery("XXPolicyLabelMap.findByServiceId", tClass)
-                                        .setParameter("serviceId", serviceId).getResultList();
-                } catch (NoResultException e) {
-                        return null;
-                }
+        try {
+            return (XXPolicyLabelMap) getEntityManager().createNamedQuery("XXPolicyLabelMap.findByPolicyLabelId", tClass)
+                    .setParameter("policyLabelId", policyLabelId).getResultList();
+        } catch (NoResultException e) {
+            return null;
         }
+    }
 
+    public List<XXPolicyLabelMap> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyLabelMap.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefAccessTypeDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefAccessTypeDao.java
index 0857d3500..d83fbc576 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefAccessTypeDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefAccessTypeDao.java
@@ -19,101 +19,106 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefAccessType;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
 public class XXPolicyRefAccessTypeDao extends BaseDao<XXPolicyRefAccessType> {
+    public XXPolicyRefAccessTypeDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefAccessType> findByPolicyId(Long polId) {
+        if (polId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefAccessType.findByPolicyId", tClass)
+                    .setParameter("policyId", polId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefAccessType> findByAccessTypeDefId(Long accessTypeDefId) {
+        if (accessTypeDefId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefAccessType.findByAccessTypeDefId", tClass)
+                    .setParameter("accessDefId", accessTypeDefId)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
 
-	public XXPolicyRefAccessTypeDao(RangerDaoManagerBase daoManager)  {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefAccessType> findByPolicyId(Long polId) {
-		if(polId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefAccessType.findByPolicyId", tClass)
-					.setParameter("policyId", polId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public List<XXPolicyRefAccessType> findByAccessTypeDefId(Long accessTypeDefId) {
-		if (accessTypeDefId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefAccessType.findByAccessTypeDefId", tClass)
-					.setParameter("accessDefId", accessTypeDefId)
-					.getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedAccessNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefAccessType.findUpdatedAccessNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefAccessType.findUpdatedAccessNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	@SuppressWarnings("unchecked")
-	public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedAccessNamesByService(Long serviceId) {
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedAccessNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefAccessType.findUpdatedAccessNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefAccessType.findUpdatedAccessNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefAccessType.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefAccessType.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
 
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
 
-		batchDeleteByIds("XXPolicyRefAccessType.deleteByIds", ids, "ids");
-	}
+        batchDeleteByIds("XXPolicyRefAccessType.deleteByIds", ids, "ids");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefConditionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefConditionDao.java
index aca36e89e..74fc74c8a 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefConditionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefConditionDao.java
@@ -19,112 +19,119 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefCondition;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class XXPolicyRefConditionDao extends BaseDao<XXPolicyRefCondition>  {
-
-	public XXPolicyRefConditionDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefCondition> findByPolicyId(Long polId) {
-		if(polId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefCondition.findByPolicyId", tClass)
-					.setParameter("policyId", polId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-	public List<XXPolicyRefCondition> findByConditionName(String conditionName) {
-		if (conditionName == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefCondition.findByConditionName", tClass)
-					.setParameter("conditionName", conditionName).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public List<XXPolicyRefCondition> findByConditionDefId(Long conditionDefId) {
-		if (conditionDefId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefCondition.findByConditionDefId", tClass)
-					.setParameter("conditionDefId", conditionDefId)
-					.getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
+public class XXPolicyRefConditionDao extends BaseDao<XXPolicyRefCondition> {
+    public XXPolicyRefConditionDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefCondition> findByPolicyId(Long polId) {
+        if (polId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefCondition.findByPolicyId", tClass)
+                    .setParameter("policyId", polId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefCondition> findByConditionName(String conditionName) {
+        if (conditionName == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefCondition.findByConditionName", tClass)
+                    .setParameter("conditionName", conditionName).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefCondition> findByConditionDefId(Long conditionDefId) {
+        if (conditionDefId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefCondition.findByConditionDefId", tClass)
+                    .setParameter("conditionDefId", conditionDefId)
+                    .getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedConditionNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefCondition.findUpdatedConditionNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefCondition.findUpdatedConditionNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	@SuppressWarnings("unchecked")
-	public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedConditionNamesByService(Long serviceId) {
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedConditionNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefCondition.findUpdatedConditionNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefCondition.findUpdatedConditionNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefCondition.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefCondition.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
 
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
 
-		batchDeleteByIds("XXPolicyRefCondition.deleteByIds", ids, "ids");
-	}
+        batchDeleteByIds("XXPolicyRefCondition.deleteByIds", ids, "ids");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefDataMaskTypeDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefDataMaskTypeDao.java
index dd89fbbfb..f4f728228 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefDataMaskTypeDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefDataMaskTypeDao.java
@@ -19,88 +19,92 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefDataMaskType;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class XXPolicyRefDataMaskTypeDao extends BaseDao<XXPolicyRefDataMaskType>{
-
-	public XXPolicyRefDataMaskTypeDao(RangerDaoManagerBase daoManager)  {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefDataMaskType> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefDataMaskType.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
+public class XXPolicyRefDataMaskTypeDao extends BaseDao<XXPolicyRefDataMaskType> {
+    public XXPolicyRefDataMaskTypeDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefDataMaskType> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefDataMaskType.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedDataMaskNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefDataMaskType.findUpdatedDataMaskNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefDataMaskType.findUpdatedDataMaskNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	@SuppressWarnings("unchecked")
-	public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedDataMaskNamesByService(Long serviceId) {
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedDataMaskNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefDataMaskType.findUpdatedDataMaskNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefDataMaskType.findUpdatedDataMaskNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefDataMaskType.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefDataMaskType.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
 
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
 
-		batchDeleteByIds("XXPolicyRefDataMaskType.deleteByIds", ids, "ids");
-	}
+        batchDeleteByIds("XXPolicyRefDataMaskType.deleteByIds", ids, "ids");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefGroupDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefGroupDao.java
index 3ce371306..21496a81a 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefGroupDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefGroupDao.java
@@ -19,100 +19,105 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefGroup;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class XXPolicyRefGroupDao extends BaseDao<XXPolicyRefGroup>{
-
-
-	public XXPolicyRefGroupDao(RangerDaoManagerBase daoManager)  {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefGroup> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefGroup.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-	public List<XXPolicyRefGroup> findByGroupName(String groupName) {
-		if (groupName == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefGroup.findByGroupName", tClass)
-					.setParameter("groupName", groupName).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-    @SuppressWarnings("unchecked")
+public class XXPolicyRefGroupDao extends BaseDao<XXPolicyRefGroup> {
+    public XXPolicyRefGroupDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefGroup> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefGroup.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefGroup> findByGroupName(String groupName) {
+        if (groupName == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefGroup.findByGroupName", tClass)
+                    .setParameter("groupName", groupName).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedGroupNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefGroup.findUpdatedGroupNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefGroup.findUpdatedGroupNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	@SuppressWarnings("unchecked")
-	public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedGroupNamesByService(Long serviceId) {
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedGroupNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefGroup.findUpdatedGroupNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefGroup.findUpdatedGroupNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefGroup.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefGroup.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
 
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
 
-		batchDeleteByIds("XXPolicyRefGroup.deleteByIds", ids, "ids");
-	}
+        batchDeleteByIds("XXPolicyRefGroup.deleteByIds", ids, "ids");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefResourceDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefResourceDao.java
index c198b9301..dc2566281 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefResourceDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefResourceDao.java
@@ -19,100 +19,105 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefResource;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class XXPolicyRefResourceDao extends BaseDao<XXPolicyRefResource>{
-
-	public XXPolicyRefResourceDao(RangerDaoManagerBase daoManager)  {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefResource> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefResource.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public List<XXPolicyRefResource> findByResourceDefID(Long resourceDefId) {
-		if (resourceDefId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefResource.findByResourceDefId", tClass)
-					.setParameter("resourceDefId", resourceDefId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefResource.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
-
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
-
-		batchDeleteByIds("XXPolicyRefResource.deleteByIds", ids, "ids");
-	}
-
-	 @SuppressWarnings("unchecked")
-	    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedResourceNamesByPolicy(Long policyId) {
-	        List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
-	        if (policyId != null) {
-	            List<Object[]> rows = (List<Object[]>) getEntityManager()
-	                    .createNamedQuery("XXPolicyRefResource.findUpdatedResourceNamesByPolicy")
-	                    .setParameter("policy", policyId)
-	                    .getResultList();
-	            if (rows != null) {
-	                for (Object[] row : rows) {
-	                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
-	                }
-	            }
-	        }
-	        return ret;
-	    }
-
-		@SuppressWarnings("unchecked")
-		public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedResourceNamesByService(Long serviceId) {
-	        List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
-	        if (serviceId != null) {
-	            List<Object[]> rows = (List<Object[]>) getEntityManager()
-	                    .createNamedQuery("XXPolicyRefResource.findUpdatedResourceNamesByService")
-	                    .setParameter("service", serviceId)
-	                    .getResultList();
-	            if (rows != null) {
-	                for (Object[] row : rows) {
-	                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
-	                }
-	            }
-	        }
-	        return ret;
-	    }
+public class XXPolicyRefResourceDao extends BaseDao<XXPolicyRefResource> {
+    public XXPolicyRefResourceDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefResource> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefResource.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefResource> findByResourceDefID(Long resourceDefId) {
+        if (resourceDefId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefResource.findByResourceDefId", tClass)
+                    .setParameter("resourceDefId", resourceDefId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
+
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefResource.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
+
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+
+        batchDeleteByIds("XXPolicyRefResource.deleteByIds", ids, "ids");
+    }
+
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedResourceNamesByPolicy(Long policyId) {
+        List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
+        if (policyId != null) {
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefResource.findUpdatedResourceNamesByPolicy", Object[].class)
+                    .setParameter("policy", policyId)
+                    .getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
+                }
+            }
+        }
+
+        return ret;
+    }
+
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedResourceNamesByService(Long serviceId) {
+        List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
+        if (serviceId != null) {
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefResource.findUpdatedResourceNamesByService", Object[].class)
+                    .setParameter("service", serviceId)
+                    .getResultList();
+
+            if (rows != null) {
+                for (Object[] row : rows) {
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
+                }
+            }
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefRoleDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefRoleDao.java
index 29d2bc4c9..69b82d673 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefRoleDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefRoleDao.java
@@ -19,100 +19,106 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefRole;
 import org.springframework.stereotype.Service;
 
-@Service
-public class XXPolicyRefRoleDao extends BaseDao<XXPolicyRefRole>{
+import javax.persistence.NoResultException;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
-    public XXPolicyRefRoleDao(RangerDaoManagerBase daoManager)  {
+@Service
+public class XXPolicyRefRoleDao extends BaseDao<XXPolicyRefRole> {
+    public XXPolicyRefRoleDao(RangerDaoManagerBase daoManager) {
         super(daoManager);
     }
 
     public List<XXPolicyRefRole> findByPolicyId(Long policyId) {
-        if(policyId == null) {
-            return Collections.EMPTY_LIST;
+        if (policyId == null) {
+            return Collections.emptyList();
         }
+
         try {
             return getEntityManager()
                     .createNamedQuery("XXPolicyRefRole.findByPolicyId", tClass)
                     .setParameter("policyId", policyId).getResultList();
         } catch (NoResultException e) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
     }
+
     public List<XXPolicyRefRole> findByRoleName(String roleName) {
         if (roleName == null) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
+
         try {
             return getEntityManager().createNamedQuery("XXPolicyRefRole.findByRoleName", tClass)
                     .setParameter("roleName", roleName).getResultList();
         } catch (NoResultException e) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
     }
 
-    @SuppressWarnings("unchecked")
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedRoleNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefRole.findUpdatedRoleNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefRole.findUpdatedRoleNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-    @SuppressWarnings("unchecked")
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedRoleNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefRole.findUpdatedRoleNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefRole.findUpdatedRoleNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public Long findRoleRefPolicyCount(String roleName) {
-		Long ret = -1L;
+    public Long findRoleRefPolicyCount(String roleName) {
+        Long ret = -1L;
 
-		try {
-			ret = getEntityManager().createNamedQuery("XXPolicyRefRole.findRoleRefPolicyCount", Long.class)
-					.setParameter("roleName", roleName).getSingleResult();
-		} catch (Exception e) {
-		}
+        try {
+            ret = getEntityManager().createNamedQuery("XXPolicyRefRole.findRoleRefPolicyCount", Long.class)
+                    .setParameter("roleName", roleName).getSingleResult();
+        } catch (Exception e) {
+            // ignore
+        }
 
-		return ret;
-	}
+        return ret;
+    }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
         // First select ids according to policyId, then delete records according to ids
         // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
@@ -126,6 +132,5 @@ public class XXPolicyRefRoleDao extends BaseDao<XXPolicyRefRole>{
         }
 
         batchDeleteByIds("XXPolicyRefRole.deleteByIds", ids, "ids");
-	}
+    }
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefUserDao.java
index 07d94ceb9..d70ebd50e 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyRefUserDao.java
@@ -19,112 +19,118 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.biz.RangerPolicyRetriever;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyRefUser;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class XXPolicyRefUserDao extends BaseDao<XXPolicyRefUser>{
-
-
-	public XXPolicyRefUserDao(RangerDaoManagerBase daoManager)  {
-		super(daoManager);
-	}
-
-	public List<XXPolicyRefUser> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyRefUser.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-	public List<XXPolicyRefUser> findByUserName(String userName) {
-		if (userName == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefUser.findByUserName", tClass)
-					.setParameter("userName", userName).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public List<XXPolicyRefUser> findByUserId(String userID) {
-		if (userID == null) {
-			return Collections.EMPTY_LIST;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyRefUser.findByUserId", tClass)
-					.setParameter("userID", userID).getResultList();
-		} catch (NoResultException e) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
+public class XXPolicyRefUserDao extends BaseDao<XXPolicyRefUser> {
+    public XXPolicyRefUserDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyRefUser> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyRefUser.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefUser> findByUserName(String userName) {
+        if (userName == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefUser.findByUserName", tClass)
+                    .setParameter("userName", userName).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
+    public List<XXPolicyRefUser> findByUserId(String userID) {
+        if (userID == null) {
+            return Collections.emptyList();
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyRefUser.findByUserId", tClass)
+                    .setParameter("userID", userID).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
+
     public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedUserNamesByPolicy(Long policyId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (policyId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefUser.findUpdatedUserNamesByPolicy")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefUser.findUpdatedUserNamesByPolicy", Object[].class)
                     .setParameter("policy", policyId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	@SuppressWarnings("unchecked")
-	public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedUserNamesByService(Long serviceId) {
+    public List<RangerPolicyRetriever.PolicyTextNameMap> findUpdatedUserNamesByService(Long serviceId) {
         List<RangerPolicyRetriever.PolicyTextNameMap> ret = new ArrayList<>();
+
         if (serviceId != null) {
-            List<Object[]> rows = (List<Object[]>) getEntityManager()
-                    .createNamedQuery("XXPolicyRefUser.findUpdatedUserNamesByService")
+            List<Object[]> rows = getEntityManager()
+                    .createNamedQuery("XXPolicyRefUser.findUpdatedUserNamesByService", Object[].class)
                     .setParameter("service", serviceId)
                     .getResultList();
+
             if (rows != null) {
                 for (Object[] row : rows) {
-                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long)row[0], (String)row[1], (String)row[2]));
+                    ret.add(new RangerPolicyRetriever.PolicyTextNameMap((Long) row[0], (String) row[1], (String) row[2]));
                 }
             }
         }
+
         return ret;
     }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-		// First select ids according to policyId, then delete records according to ids
-		// The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
-		List<Long> ids = getEntityManager()
-				.createNamedQuery("XXPolicyRefUser.findIdsByPolicyId", Long.class)
-				.setParameter("policyId", policyId)
-				.getResultList();
+        // First select ids according to policyId, then delete records according to ids
+        // The purpose of dividing the delete sql into these two steps is to avoid deadlocks at rr isolation level
+        List<Long> ids = getEntityManager()
+                .createNamedQuery("XXPolicyRefUser.findIdsByPolicyId", Long.class)
+                .setParameter("policyId", policyId)
+                .getResultList();
 
-		if (CollectionUtils.isEmpty(ids)) {
-			return;
-		}
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
 
-		batchDeleteByIds("XXPolicyRefUser.deleteByIds", ids, "ids");
-	}
+        batchDeleteByIds("XXPolicyRefUser.deleteByIds", ids, "ids");
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceDao.java
index 9069e611a..693aff93f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceDao.java
@@ -17,66 +17,68 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyResource;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyResourceDao extends BaseDao<XXPolicyResource> {
+    public XXPolicyResourceDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyResource> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyResource.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyResourceDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyResource> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyResource> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyResource>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyResource.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyResource>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyResource.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyResource> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyResource>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyResource.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyResource>();
-		}
-	}
+    public List<XXPolicyResource> findByResDefId(Long resDefId) {
+        if (resDefId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyResource> findByResDefId(Long resDefId) {
-		if (resDefId == null) {
-			return new ArrayList<XXPolicyResource>();
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPolicyResource.findByResDefId", tClass)
-					.setParameter("resDefId", resDefId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyResource>();
-		}
-	}
+        try {
+            return getEntityManager().createNamedQuery("XXPolicyResource.findByResDefId", tClass)
+                    .setParameter("resDefId", resDefId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyResource.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
+        getEntityManager()
+                .createNamedQuery("XXPolicyResource.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceMapDao.java
index c5e6a2fe3..cee95b32a 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyResourceMapDao.java
@@ -17,54 +17,56 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPolicyResourceMap;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPolicyResourceMapDao extends BaseDao<XXPolicyResourceMap> {
+    public XXPolicyResourceMapDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPolicyResourceMap> findByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return new ArrayList<>();
+        }
+
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyResourceMap.findByPolicyId", tClass)
+                    .setParameter("policyId", policyId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public XXPolicyResourceMapDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<XXPolicyResourceMap> findByServiceId(Long serviceId) {
+        if (serviceId == null) {
+            return new ArrayList<>();
+        }
 
-	public List<XXPolicyResourceMap> findByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return new ArrayList<XXPolicyResourceMap>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyResourceMap.findByPolicyId", tClass)
-					.setParameter("policyId", policyId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyResourceMap>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPolicyResourceMap.findByServiceId", tClass)
+                    .setParameter("serviceId", serviceId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 
-	public List<XXPolicyResourceMap> findByServiceId(Long serviceId) {
-		if(serviceId == null) {
-			return new ArrayList<XXPolicyResourceMap>();
-		}
-		try {
-			return getEntityManager()
-					.createNamedQuery("XXPolicyResourceMap.findByServiceId", tClass)
-					.setParameter("serviceId", serviceId).getResultList();
-		} catch (NoResultException e) {
-			return new ArrayList<XXPolicyResourceMap>();
-		}
-	}
+    public void deleteByPolicyId(Long policyId) {
+        if (policyId == null) {
+            return;
+        }
 
-	public void deleteByPolicyId(Long policyId) {
-		if(policyId == null) {
-			return;
-		}
-		getEntityManager()
-			.createNamedQuery("XXPolicyResourceMap.deleteByPolicyId", tClass)
-			.setParameter("policyId", policyId).executeUpdate();
-	}
+        getEntityManager()
+                .createNamedQuery("XXPolicyResourceMap.deleteByPolicyId", tClass)
+                .setParameter("policyId", policyId).executeUpdate();
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyWithAssignedIdDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyWithAssignedIdDao.java
index 21c4b647a..a27241fa9 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyWithAssignedIdDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyWithAssignedIdDao.java
@@ -23,9 +23,7 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class XXPolicyWithAssignedIdDao extends BaseDao<XXPolicyWithAssignedId> {
-
-	public XXPolicyWithAssignedIdDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
+    public XXPolicyWithAssignedIdDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java
index 18ef22cc7..c2bc655fd 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java
@@ -19,153 +19,156 @@
 
 package org.apache.ranger.db;
 
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.Objects;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.RangerCommonEnums;
 import org.apache.ranger.common.RangerConstants;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPortalUser;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
 @Service
 public class XXPortalUserDao extends BaseDao<XXPortalUser> {
+    public XXPortalUserDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public XXPortalUser findByLoginId(String loginId) {
+        if (daoManager.getStringUtil().isEmpty(loginId)) {
+            return null;
+        }
+
+        List<XXPortalUser> resultList = getEntityManager()
+                .createNamedQuery("XXPortalUser.findByLoginId", tClass)
+                .setParameter("loginId", loginId).getResultList();
+
+        if (!resultList.isEmpty()) {
+            return resultList.get(0);
+        }
+
+        return null;
+    }
+
+    public XXPortalUser findByEmailAddress(String emailAddress) {
+        if (daoManager.getStringUtil().isEmpty(emailAddress)) {
+            return null;
+        }
+
+        List<XXPortalUser> resultList = getEntityManager()
+                .createNamedQuery("XXPortalUser.findByEmailAddress", tClass)
+                .setParameter("emailAddress", emailAddress)
+                .getResultList();
+
+        if (!resultList.isEmpty()) {
+            return resultList.get(0);
+        }
 
-	public XXPortalUserDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	public XXPortalUser findByLoginId(String loginId) {
-		if (daoManager.getStringUtil().isEmpty(loginId)) {
-			return null;
-		}
-
-		@SuppressWarnings("rawtypes")
-		List resultList = getEntityManager()
-				.createNamedQuery("XXPortalUser.findByLoginId")
-				.setParameter("loginId", loginId).getResultList();
-		if (resultList.size() != 0) {
-			return (XXPortalUser) resultList.get(0);
-		}
-		return null;
-	}
-
-	public XXPortalUser findByEmailAddress(String emailAddress) {
-		if (daoManager.getStringUtil().isEmpty(emailAddress)) {
-			return null;
-		}
-
-		@SuppressWarnings("rawtypes")
-		List resultList = getEntityManager()
-				.createNamedQuery("XXPortalUser.findByEmailAddress")
-				.setParameter("emailAddress", emailAddress)
-				.getResultList();
-		if (resultList.size() != 0) {
-			return (XXPortalUser) resultList.get(0);
-		}
-		return null;
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<XXPortalUser> findByRole(String userRole) {
-		return getEntityManager().createNamedQuery("XXPortalUser.findByRole")
-				.setParameter("userRole", userRole.toUpperCase())
-				.getResultList();
-	}
-
-    @SuppressWarnings("unchecked")
-	public List<Object[]> getUserAddedReport(){
-    	return getEntityManager()
-    			.createNamedQuery("XXPortalUser.getUserAddedReport")
-    			.getResultList();
+        return null;
     }
 
-	public XXPortalUser findByXUserId(Long xUserId) {
-		if (xUserId == null) {
-			return null;
-		}
-		try {
-			return getEntityManager().createNamedQuery("XXPortalUser.findByXUserId", tClass)
-					.setParameter("id", xUserId).getSingleResult();
-		} catch (NoResultException e) {
-			return null;
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<XXPortalUser> findAllXPortalUser() {
-
-		try {
-			return getEntityManager().createNamedQuery(
-					"XXPortalUser.findAllXPortalUser").getResultList();
-
-		} catch (Exception e) {
-			return null;
-		}
-
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getNonUserRoleExternalUsers() {
-		try {
-		return getEntityManager().createNamedQuery("XXPortalUser.getNonUserRoleExternalUsers", String.class)
-				.setParameter("userRole", RangerConstants.ROLE_USER)
-				.setParameter("userSource",  RangerCommonEnums.USER_EXTERNAL)
-				.getResultList();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public List<XXPortalUser> findByUserSourceAndStatus(final int source, final int status) {
-		try {
-			return getEntityManager().createNamedQuery("XXPortalUser.findByUserSourceAndStatus", tClass)
-					.setParameter("userSource", source)
-					.setParameter("status", status)
-					.getResultList();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public XXPortalUser findById(Long id) {
-		XXPortalUser xXPortalUser = null;
-		if (id == null) {
-			return xXPortalUser;
-		}
-		try {
-			xXPortalUser = new XXPortalUser();
-			Object[] row = (Object[]) getEntityManager().createNamedQuery("XXPortalUser.findById").setParameter("id", id).getSingleResult();
-			if (row != null) {
-				xXPortalUser.setFirstName((String) row[0]);
-				xXPortalUser.setLastName((String) row[1]);
-				xXPortalUser.setPublicScreenName((String) row[2]);
-				xXPortalUser.setLoginId((String) row[3]);
-				return xXPortalUser;
-			}
-		} catch (NoResultException e) {
-			return null;
-		}
-		return xXPortalUser;
-	}
-
-	public Map<String, Long> getCountByUserRole() {
-		Map<String, Long> ret = Collections.emptyMap();
-		List<Object[]> rows = (List<Object[]>) getEntityManager().createNamedQuery("XXPortalUser.getCountByUserRole").getResultList();
-		if (rows != null) {
-			ret = new HashMap<>();
-			for (Object[] row : rows) {
-				if (Objects.nonNull(row) && Objects.nonNull(row[0]) && Objects.nonNull(row[1]) && (!row[0].toString().isEmpty())) {
-					// since group by query will not return empty count field, no need to check
-					ret.put((String) row[0], (Long) row[1]);
-				}
-			}
-		}
-		return ret;
-	}
+    public List<XXPortalUser> findByRole(String userRole) {
+        return getEntityManager().createNamedQuery("XXPortalUser.findByRole", tClass)
+                .setParameter("userRole", userRole.toUpperCase())
+                .getResultList();
+    }
+
+    public List<Object[]> getUserAddedReport() {
+        return getEntityManager()
+                .createNamedQuery("XXPortalUser.getUserAddedReport", Object[].class)
+                .getResultList();
+    }
+
+    public XXPortalUser findByXUserId(Long xUserId) {
+        if (xUserId == null) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPortalUser.findByXUserId", tClass)
+                    .setParameter("id", xUserId).getSingleResult();
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+
+    public List<XXPortalUser> findAllXPortalUser() {
+        try {
+            return getEntityManager().createNamedQuery("XXPortalUser.findAllXPortalUser", tClass).getResultList();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    public List<String> getNonUserRoleExternalUsers() {
+        try {
+            return getEntityManager().createNamedQuery("XXPortalUser.getNonUserRoleExternalUsers", String.class)
+                    .setParameter("userRole", RangerConstants.ROLE_USER)
+                    .setParameter("userSource", RangerCommonEnums.USER_EXTERNAL)
+                    .getResultList();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    public List<XXPortalUser> findByUserSourceAndStatus(final int source, final int status) {
+        try {
+            return getEntityManager().createNamedQuery("XXPortalUser.findByUserSourceAndStatus", tClass)
+                    .setParameter("userSource", source)
+                    .setParameter("status", status)
+                    .getResultList();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    public XXPortalUser findById(Long id) {
+        XXPortalUser xXPortalUser;
+
+        if (id == null) {
+            return null;
+        }
+
+        try {
+            xXPortalUser = new XXPortalUser();
+
+            Object[] row = getEntityManager().createNamedQuery("XXPortalUser.findById", Object[].class).setParameter("id", id).getSingleResult();
+
+            if (row != null) {
+                xXPortalUser.setFirstName((String) row[0]);
+                xXPortalUser.setLastName((String) row[1]);
+                xXPortalUser.setPublicScreenName((String) row[2]);
+                xXPortalUser.setLoginId((String) row[3]);
+
+                return xXPortalUser;
+            }
+        } catch (NoResultException e) {
+            return null;
+        }
+
+        return xXPortalUser;
+    }
+
+    public Map<String, Long> getCountByUserRole() {
+        Map<String, Long> ret  = Collections.emptyMap();
+        List<Object[]>    rows = getEntityManager().createNamedQuery("XXPortalUser.getCountByUserRole", Object[].class).getResultList();
+
+        if (rows != null) {
+            ret = new HashMap<>();
+
+            for (Object[] row : rows) {
+                if (Objects.nonNull(row) && Objects.nonNull(row[0]) && Objects.nonNull(row[1]) && (!row[0].toString().isEmpty())) {
+                    // since group by query will not return empty count field, no need to check
+                    ret.put((String) row[0], (Long) row[1]);
+                }
+            }
+        }
+
+        return ret;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java
index 8146c51e4..427b01590 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java
@@ -17,59 +17,59 @@
  * under the License.
  */
 
- package org.apache.ranger.db;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
+package org.apache.ranger.db;
 
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXPortalUserRole;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class XXPortalUserRoleDao extends BaseDao<XXPortalUserRole> {
+    public XXPortalUserRoleDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXPortalUserRole> findByUserId(Long userId) {
+        if (userId == null) {
+            return new ArrayList<>();
+        }
+
+        return getEntityManager().createNamedQuery("XXPortalUserRole.findByUserId", tClass)
+                .setParameter("userId", userId).getResultList();
+    }
+
+    public XXPortalUserRole findByRoleUserId(Long userId, String role) {
+        if (userId == null || role == null || role.isEmpty()) {
+            return null;
+        }
+
+        try {
+            return getEntityManager().createNamedQuery("XXPortalUserRole.findByRoleUserId", tClass)
+                    .setParameter("userId", userId)
+                    .setParameter("userRole", role).getSingleResult();
+        } catch (NoResultException e) {
+            //doNothing;
+        }
+
+        return null;
+    }
 
-	public XXPortalUserRoleDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
+    public List<String> findXPortalUserRolebyXPortalUserId(Long userId) {
+        if (userId == null) {
+            return new ArrayList<>();
+        }
 
-	@SuppressWarnings("unchecked")
-	public List<XXPortalUserRole> findByUserId(Long userId) {
-		if (userId == null) {
-			return new ArrayList<XXPortalUserRole>();
-		}
-		return getEntityManager().createNamedQuery("XXPortalUserRole.findByUserId")
-				.setParameter("userId", userId).getResultList();
-	}
-	
-	public XXPortalUserRole findByRoleUserId(Long userId, String role) {
-		if(userId == null || role == null || role.isEmpty()){
-			return null;
-		}
-		try{
-			return (XXPortalUserRole)getEntityManager().createNamedQuery("XXPortalUserRole.findByRoleUserId")
-					.setParameter("userId", userId)
-					.setParameter("userRole", role).getSingleResult();
-		} catch(NoResultException e){
-			//doNothing;
-		}
-		return null;
-	}
-	@SuppressWarnings("unchecked")
-	public List<String> findXPortalUserRolebyXPortalUserId(Long userId) {
-		if (userId == null) {
-			return new ArrayList<String>();
-		}
-		try {
-			List<String> returnList = getEntityManager()
-					.createNamedQuery("XXPortalUserRole.findXPortalUserRolebyXPortalUserId")
-					.setParameter("userId", userId).getResultList();
-			return returnList;
-		} catch (NoResultException e) {
-			return new ArrayList<String>();
-		}
-	}
+        try {
+            return getEntityManager()
+                    .createNamedQuery("XXPortalUserRole.findXPortalUserRolebyXPortalUserId", String.class)
+                    .setParameter("userId", userId).getResultList();
+        } catch (NoResultException e) {
+            return new ArrayList<>();
+        }
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXRMSMappingProviderDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXRMSMappingProviderDao.java
index fd52d6c3e..9dd564c56 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXRMSMappingProviderDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXRMSMappingProviderDao.java
@@ -17,22 +17,22 @@
 
 package org.apache.ranger.db;
 
-import java.util.Date;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXRMSMappingProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.Date;
+import java.util.List;
+
 /**
+ *
  */
 @Service
 public class XXRMSMappingProviderDao extends BaseDao<XXRMSMappingProvider> {
-
     private static final Logger LOG = LoggerFactory.getLogger(XXRMSMappingProviderDao.class);
 
     public XXRMSMappingProviderDao(RangerDaoManagerBase daoManager) {
@@ -40,14 +40,14 @@ public class XXRMSMappingProviderDao extends BaseDao<XXRMSMappingProvider> {
     }
 
     public List<XXRMSMappingProvider> getResource() {
-        List<XXRMSMappingProvider> allResource = getAll();
-        return allResource;
+        return getAll();
     }
 
     public XXRMSMappingProvider findByName(String name) {
         if (name == null) {
             return null;
         }
+
         try {
             return getEntityManager()
                     .createNamedQuery("XXRMSMappingProvider.findByName", tClass)
@@ -58,14 +58,12 @@ public class XXRMSMappingProviderDao extends BaseDao<XXRMSMappingProvider> {
     }
 
     public Long getLastKnownVersion(String providerName) {
-
         XXRMSMappingProvider mappingProvider = findByName(providerName);
 
         return mappingProvider != null ? mappingProvider.getLastKnownVersion() : 0L;
     }
 
     public void updateLastKnownVersion(String providerName, long currentNotificationId) {
-
         XXRMSMappingProvider mappingProvider = findByName(providerName);
 
         if (mappingProvider != null) {
@@ -77,11 +75,7 @@ public class XXRMSMappingProviderDao extends BaseDao<XXRMSMappingProvider> {
                 LOG.error("currentNotificationId cannot be set to a value less than -1");
             }
         } else {
-            LOG.error("Cannot update lastKnownVersion for providerName:[" + providerName + "]");
+            LOG.error("Cannot update lastKnownVersion for providerName:[{}]", providerName);
         }
     }
-
-
-
 }
-
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXRMSNotificationDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXRMSNotificationDao.java
index 2b6cf1a34..b5f2a4c94 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXRMSNotificationDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXRMSNotificationDao.java
@@ -17,11 +17,6 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXRMSNotification;
@@ -29,95 +24,110 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.persistence.NoResultException;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
+ *
  */
 @Service
 public class XXRMSNotificationDao extends BaseDao<XXRMSNotification> {
-
-	private static final Logger LOG = LoggerFactory.getLogger(XXRMSNotificationDao.class);
-
-	public XXRMSNotificationDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-	
-	public List<XXRMSNotification> getResource() {
-		List<XXRMSNotification> allResource = getAll();
-		return allResource;
-	}
-
-	public Long getMaxIdOfNotifications(long llServiceId, long hlServiceId) {
-		Long lastNotificationId = 0L;
-		try {
-			lastNotificationId = getEntityManager()
-					.createNamedQuery("XXRMSNotification.getMaxIdOfNotifications", Long.class)
-					.setParameter("llServiceId", llServiceId)
-					.setParameter("hlServiceId", hlServiceId)
-					.getSingleResult();
-
-		} catch (NoResultException e) {
-			LOG.debug(e.getMessage());
-		} finally{
-			if (lastNotificationId == null){
-				lastNotificationId = 0L;
-			}
-		}
-		return lastNotificationId;
-	}
-
-	public List<XXRMSNotification> getAllAfterNotificationId(long llServiceId, long hlServiceId, long notificationId) {
-		List<XXRMSNotification> notifications = new ArrayList<>();
-		try {
-			notifications = getEntityManager()
-					.createNamedQuery("XXRMSNotification.getAllAfterNotificationId", XXRMSNotification.class)
-					.setParameter("llServiceId", llServiceId)
-					.setParameter("hlServiceId", hlServiceId)
-					.setParameter("notificationId", notificationId)
-					.getResultList();
-		} catch (NoResultException e) {
-			LOG.debug("There are no relevant notifications after notification_id:[" + notificationId + "]");
-		}
-		return notifications;
-	}
-
-	public Long findLatestInvalidNotificationId(long llServiceId, long hlServiceId, long lastKnownVersion) {
-		Long latestInvalidNotificationId = -1L;
-
-		List<XXRMSNotification> notifications = getNotificationWithTypeAfterNotificationId(llServiceId, hlServiceId, "invalid", lastKnownVersion);
-
-		if (CollectionUtils.isNotEmpty(notifications)) {
-			latestInvalidNotificationId = notifications.get(notifications.size()-1).getNotificationId();
-		}
-
-		return latestInvalidNotificationId;
-	}
-
-	public List<XXRMSNotification> getNotificationWithTypeAfterNotificationId(long llServiceId, long hlServiceId, String changeType, long notificationId) {
-		List<XXRMSNotification> notifications = new ArrayList<>();
-		try {
-			notifications = getEntityManager()
-					.createNamedQuery("XXRMSNotification.getNotificationWithTypeAfterNotificationId", XXRMSNotification.class)
-					.setParameter("llServiceId", llServiceId)
-					.setParameter("hlServiceId", hlServiceId)
-					.setParameter("changeType", changeType)
-					.setParameter("notificationId", notificationId)
-					.getResultList();
-		} catch (NoResultException e) {
-
-		}
-		return notifications;
-	}
-
-	public List<XXRMSNotification> getDeletedNotificationsByHlResourceId(long hlResourceId, long lastKnownVersion) {
-		List<XXRMSNotification> notifications = new ArrayList<>();
-		try {
-			notifications = getEntityManager()
-					.createNamedQuery("XXRMSNotification.getDeletedNotificationsByHlResourceId", XXRMSNotification.class)
-					.setParameter("hlResourceId", hlResourceId)
-					.setParameter("lastKnownVersion", lastKnownVersion)
-					.getResultList();
-		} catch (NoResultException e) {
-
-		}
-		return notifications;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(XXRMSNotificationDao.class);
+
+    public XXRMSNotificationDao(RangerDaoManagerBase daoManager) {
+        super(daoManager);
+    }
+
+    public List<XXRMSNotification> getResource() {
+        return getAll();
+    }
+
+    public Long getMaxIdOfNotifications(long llServiceId, long hlServiceId) {
+        Long lastNotificationId = 0L;
+
+        try {
+            lastNotificationId = getEntityManager()
+                    .createNamedQuery("XXRMSNotification.getMaxIdOfNotifications", Long.class)
+                    .setParameter("llServiceId", llServiceId)
+                    .setParameter("hlServiceId", hlServiceId)
+                    .getSingleResult();
+        } catch (NoResultException e) {
+            LOG.debug(e.getMessage());
+        } finally {
+            if (lastNotificationId == null) {
+                lastNotificationId = 0L;
+            }
+        }
+
+        return lastNotificationId;
+    }
+
+    public List<XXRMSNotification> getAllAfterNotificationId(long llServiceId, long hlServiceId, long notificationId) {
+        List<XXRMSNotification> notifications;
+
+        try {
+            notifications = getEntityManager()
+                    .createNamedQuery("XXRMSNotification.getAllAfterNotificationId", XXRMSNotification.class)
+                    .setParameter("llServiceId", llServiceId)
+                    .setParameter("hlServiceId", hlServiceId)
+                    .setParameter("notificationId", notificationId)
+                    .getResultList();
+        } catch (NoResultException e) {
+            LOG.debug("There are no relevant notifications after notification_id:[{}]", notificationId);
+
+            notifications = new ArrayList<>();
+        }
+
+        return notifications;
+    }
+
+    public Long findLatestInvalidNotificationId(long llServiceId, long hlServiceId, long lastKnownVersion) {
+        List<XXRMSNotification> notifications = getNotificationWithTypeAfterNotificationId(llServiceId, hlServiceId, "invalid", lastKnownVersion);
+
+        Long latestInvalidNotificationId;
+
+        if (CollectionUtils.isNotEmpty(notifications)) {
+            latestInvalidNotificationId = notifications.get(notifications.size() - 1).getNotificationId();
+        } else {
+            latestInvalidNotificationId = -1L;
+        }
+
+        return latestInvalidNotificationId;
+    }
+
+    public List<XXRMSNotification> getNotificationWithTypeAfterNotificationId(long llServiceId, long hlServiceId, String changeType, long notificationId) {
+        List<XXRMSNotification> notifications;
+
+        try {
+            notifications = getEntityManager()
+                    .createNamedQuery("XXRMSNotification.getNotificationWithTypeAfterNotificationId", XXRMSNotification.class)
+                    .setParameter("llServiceId", llServiceId)
+                    .setParameter("hlServiceId", hlServiceId)
+                    .setParameter("changeType", changeType)
+                    .setParameter("notificationId", notificationId)
+                    .getResultList();
+        } catch (NoResultException e) {
+            notifications = new ArrayList<>();
+        }
+
+        return notifications;
+    }
+
+    public List<XXRMSNotification> getDeletedNotificationsByHlResourceId(long hlResourceId, long lastKnownVersion) {
+        List<XXRMSNotification> notifications;
+
+        try {
+            notifications = getEntityManager()
+                    .createNamedQuery("XXRMSNotification.getDeletedNotificationsByHlResourceId", XXRMSNotification.class)
+                    .setParameter("hlResourceId", hlResourceId)
+                    .setParameter("lastKnownVersion", lastKnownVersion)
+                    .getResultList();
+        } catch (NoResultException e) {
+            notifications = new ArrayList<>();
+        }
+
+        return notifications;
+    }
 }
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXRMSResourceMappingDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXRMSResourceMappingDao.java
index 763e1ae68..93d085241 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXRMSResourceMappingDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXRMSResourceMappingDao.java
@@ -17,117 +17,116 @@
 
 package org.apache.ranger.db;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.NoResultException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.ranger.common.db.BaseDao;
-import org.apache.ranger.plugin.model.RangerServiceResource;
 import org.apache.ranger.entity.XXRMSResourceMapping;
 import org.apache.ranger.entity.XXRMSServiceResource;
+import org.apache.ranger.plugin.model.RangerServiceResource;
 import org.springframework.stereotype.Service;
 
-/**
- */
-@Service
-public class XXRMSResourceMappingDao extends BaseDao<XXRMSResourceMapping> {
+import javax.persistence.NoResultException;
 
-	//private static final Log LOG = LogFactory.getLog(XXRMSResourceMappingDao.class);
-
-	public XXRMSResourceMappingDao(RangerDaoManagerBase daoManager) {
-		super(daoManager);
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<Object[]> getResourceMappings() {
-		return getEntityManager().createNamedQuery("XXRMSResourceMapping.getResourceMapping").getResultList();
-	}
-
-	public void deleteByHlResourceId(Long resourceId) {
-		getEntityManager()
-			.createNamedQuery("XXRMSResourceMapping.deleteByHlResourceId")
-			.setParameter("resourceId", resourceId)
-			.executeUpdate();
-	}
-
-	public void deleteByLlResourceId(Long resourceId) {
-		getEntityManager()
-				.createNamedQuery("XXRMSResourceMapping.deleteByLlResourceId")
... 6298 lines suppressed ...