You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2016/11/02 05:18:54 UTC
incubator-ranger git commit: RANGER-1199: Optimize tag-download to
include only tags that have policies
Repository: incubator-ranger
Updated Branches:
refs/heads/master 08a94c741 -> 01326be73
RANGER-1199: Optimize tag-download to include only tags that have policies
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/01326be7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/01326be7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/01326be7
Branch: refs/heads/master
Commit: 01326be73368a0700dce2c13e1850d620112780c
Parents: 08a94c7
Author: Abhay Kulkarni <ak...@hortonworks.com>
Authored: Wed Oct 26 17:28:12 2016 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Tue Nov 1 21:34:40 2016 -0700
----------------------------------------------------------------------
.../apache/ranger/biz/RangerTagDBRetriever.java | 18 ++--
.../org/apache/ranger/biz/ServiceDBStore.java | 36 +++++---
.../apache/ranger/db/XXServiceResourceDao.java | 4 +-
.../ranger/db/XXServiceResourceElementDao.java | 4 +-
.../db/XXServiceResourceElementValueDao.java | 4 +-
.../org/apache/ranger/db/XXTagAttributeDao.java | 4 +-
.../apache/ranger/db/XXTagAttributeDefDao.java | 12 +++
.../java/org/apache/ranger/db/XXTagDao.java | 13 +++
.../java/org/apache/ranger/db/XXTagDefDao.java | 13 +++
.../apache/ranger/db/XXTagResourceMapDao.java | 12 +++
.../service/RangerServiceResourceService.java | 2 +-
.../resources/META-INF/jpa_named_queries.xml | 94 +++++++++++++++++++-
12 files changed, 183 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
index 0949092..04c27a7 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
@@ -96,7 +96,7 @@ public class RangerTagDBRetriever {
private List<RangerTagResourceMap> getAllTagResourceMaps() {
- List<XXTagResourceMap> xTagResourceMaps = daoMgr.getXXTagResourceMap().findByServiceId(xService.getId());
+ List<XXTagResourceMap> xTagResourceMaps = daoMgr.getXXTagResourceMap().findForServicePlugin(xService.getId());
ListIterator<XXTagResourceMap> iterTagResourceMap = xTagResourceMaps.listIterator();
List<RangerTagResourceMap> ret = new ArrayList<RangerTagResourceMap>();
@@ -203,9 +203,9 @@ public class RangerTagDBRetriever {
TagRetrieverServiceResourceContext(XXService xService) {
Long serviceId = xService == null ? null : xService.getId();
- List<XXServiceResource> xServiceResources = daoMgr.getXXServiceResource().findTaggedResourcesInServiceId(serviceId);
- List<XXServiceResourceElement> xServiceResourceElements = daoMgr.getXXServiceResourceElement().findForTaggedResourcesInServiceId(serviceId);
- List<XXServiceResourceElementValue> xServiceResourceElementValues = daoMgr.getXXServiceResourceElementValue().findForTaggedResourcesInServiceId(serviceId);
+ List<XXServiceResource> xServiceResources = daoMgr.getXXServiceResource().findForServicePlugin(serviceId);
+ List<XXServiceResourceElement> xServiceResourceElements = daoMgr.getXXServiceResourceElement().findForServicePlugin(serviceId);
+ List<XXServiceResourceElementValue> xServiceResourceElementValues = daoMgr.getXXServiceResourceElementValue().findForServicePlugin(serviceId);
this.service = xService;
this.iterServiceResource = xServiceResources.listIterator();
@@ -318,7 +318,7 @@ public class RangerTagDBRetriever {
List<RangerServiceResource> ret = null;
if (service != null) {
- List<XXServiceResource> xServiceResources = daoMgr.getXXServiceResource().findTaggedResourcesInServiceId(service.getId());
+ List<XXServiceResource> xServiceResources = daoMgr.getXXServiceResource().findForServicePlugin(service.getId());
if (CollectionUtils.isNotEmpty(xServiceResources)) {
ret = new ArrayList<RangerServiceResource>(xServiceResources.size());
@@ -348,8 +348,8 @@ public class RangerTagDBRetriever {
TagRetrieverTagDefContext(XXService xService) {
Long serviceId = xService == null ? null : xService.getId();
- List<XXTagDef> xTagDefs = daoMgr.getXXTagDef().findByServiceId(serviceId);
- List<XXTagAttributeDef> xTagAttributeDefs = daoMgr.getXXTagAttributeDef().findByServiceId(serviceId);
+ List<XXTagDef> xTagDefs = daoMgr.getXXTagDef().findForServicePlugin(serviceId);
+ List<XXTagAttributeDef> xTagAttributeDefs = daoMgr.getXXTagAttributeDef().findForServicePlugin(serviceId);
this.service = xService;
this.iterTagDef = xTagDefs.listIterator();
@@ -473,8 +473,8 @@ public class RangerTagDBRetriever {
TagRetrieverTagContext(XXService xService) {
Long serviceId = xService == null ? null : xService.getId();
- List<XXTag> xTags = daoMgr.getXXTag().findByServiceId(serviceId);
- List<XXTagAttribute> xTagAttributes = daoMgr.getXXTagAttribute().findByServiceId(serviceId);
+ List<XXTag> xTags = daoMgr.getXXTag().findForServicePlugin(serviceId);
+ List<XXTagAttribute> xTagAttributes = daoMgr.getXXTagAttribute().findForServicePlugin(serviceId);
this.service = xService;
this.iterTag = xTags.listIterator();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index d709869..b6b2dc5 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -34,11 +34,9 @@ import java.util.Map.Entry;
import java.util.StringTokenizer;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.TreeMap;
@@ -1515,7 +1513,7 @@ public class ServiceDBStore extends AbstractServiceStore {
service = svcService.update(service);
if (hasTagServiceValueChanged || hasIsEnabledChanged) {
- updatePolicyVersion(service);
+ updatePolicyVersion(service, false);
}
}
@@ -1786,7 +1784,7 @@ public class ServiceDBStore extends AbstractServiceStore {
createNewPolicyItemsForPolicy(policy, xCreatedPolicy, denyExceptions, xServiceDef, RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_DENY_EXCEPTIONS);
createNewDataMaskPolicyItemsForPolicy(policy, xCreatedPolicy, dataMaskItems, xServiceDef, RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_DATAMASK);
createNewRowFilterPolicyItemsForPolicy(policy, xCreatedPolicy, rowFilterItems, xServiceDef, RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_ROWFILTER);
- handlePolicyUpdate(service);
+ handlePolicyUpdate(service, true);
RangerPolicy createdPolicy = policyService.getPopulatedViewObject(xCreatedPolicy);
dataHistService.createObjectDataHistory(createdPolicy, RangerDataHistService.ACTION_CREATE);
@@ -1846,9 +1844,14 @@ public class ServiceDBStore extends AbstractServiceStore {
policy.setVersion(xxExisting.getVersion());
List<XXTrxLog> trxLogList = policyService.getTransactionLog(policy, xxExisting, RangerPolicyService.OPERATION_UPDATE_CONTEXT);
-
+
updatePolicySignature(policy);
-
+
+ boolean isTagVersionUpdateNeeded = false;
+ if (service.getType().equals(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_TAG_NAME)) {
+ isTagVersionUpdateNeeded = existing.getIsEnabled() ? !policy.getIsEnabled() : policy.getIsEnabled();
+ isTagVersionUpdateNeeded = isTagVersionUpdateNeeded || !StringUtils.equals(existing.getResourceSignature(), policy.getResourceSignature());
+ }
policy = policyService.update(policy);
XXPolicy newUpdPolicy = daoMgr.getXXPolicy().getById(policy.getId());
@@ -1863,7 +1866,7 @@ public class ServiceDBStore extends AbstractServiceStore {
createNewDataMaskPolicyItemsForPolicy(policy, newUpdPolicy, dataMaskPolicyItems, xServiceDef, RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_DATAMASK);
createNewRowFilterPolicyItemsForPolicy(policy, newUpdPolicy, rowFilterItems, xServiceDef, RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_ROWFILTER);
- handlePolicyUpdate(service);
+ handlePolicyUpdate(service, isTagVersionUpdateNeeded);
RangerPolicy updPolicy = policyService.getPopulatedViewObject(newUpdPolicy);
dataHistService.createObjectDataHistory(updPolicy, RangerDataHistService.ACTION_UPDATE);
@@ -1907,7 +1910,7 @@ public class ServiceDBStore extends AbstractServiceStore {
deleteExistingPolicyResources(policy);
policyService.delete(policy);
- handlePolicyUpdate(service);
+ handlePolicyUpdate(service, true);
dataHistService.createObjectDataHistory(policy, RangerDataHistService.ACTION_DELETE);
@@ -2690,11 +2693,11 @@ public class ServiceDBStore extends AbstractServiceStore {
return validConfigs;
}
- private void handlePolicyUpdate(RangerService service) throws Exception {
- updatePolicyVersion(service);
+ private void handlePolicyUpdate(RangerService service, boolean isTagVersionUpdateNeeded) throws Exception {
+ updatePolicyVersion(service, isTagVersionUpdateNeeded);
}
- private void updatePolicyVersion(RangerService service) throws Exception {
+ private void updatePolicyVersion(RangerService service, boolean isTagVersionUpdateNeeded) throws Exception {
if(service == null || service.getId() == null) {
return;
}
@@ -2739,20 +2742,27 @@ public class ServiceDBStore extends AbstractServiceStore {
if(CollectionUtils.isNotEmpty(referringServices)) {
for(XXService referringService : referringServices) {
-
serviceVersionInfoDbObj = serviceVersionInfoDao.findByServiceId(referringService.getId());
if (serviceVersionInfoDbObj != null) {
serviceVersionInfoDbObj.setPolicyVersion(getNextVersion(serviceVersionInfoDbObj.getPolicyVersion()));
serviceVersionInfoDbObj.setPolicyUpdateTime(service.getPolicyUpdateTime());
+ if (isTagVersionUpdateNeeded) {
+ serviceVersionInfoDbObj.setTagVersion(getNextVersion(serviceVersionInfoDbObj.getTagVersion()));
+ serviceVersionInfoDbObj.setTagUpdateTime(service.getTagUpdateTime());
+ }
serviceVersionInfoDao.update(serviceVersionInfoDbObj);
} else {
LOG.warn("updatePolicyVersion(service=" + referringService.getName() + "): serviceVersionInfo not found, creating it..");
serviceVersionInfoDbObj = new XXServiceVersionInfo();
serviceVersionInfoDbObj.setServiceId(referringService.getId());
serviceVersionInfoDbObj.setPolicyVersion(getNextVersion(referringService.getPolicyVersion()));
- serviceVersionInfoDbObj.setTagVersion(referringService.getTagVersion());
+ if (isTagVersionUpdateNeeded) {
+ serviceVersionInfoDbObj.setTagVersion(getNextVersion(referringService.getTagVersion()));
+ } else {
+ serviceVersionInfoDbObj.setTagVersion(referringService.getTagVersion());
+ }
serviceVersionInfoDbObj.setPolicyUpdateTime(new Date());
serviceVersionInfoDbObj.setTagUpdateTime(referringService.getTagUpdateTime());
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
index 71bbfab..ef90a45 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
@@ -72,12 +72,12 @@ public class XXServiceResourceDao extends BaseDao<XXServiceResource> {
}
}
- public List<XXServiceResource> findTaggedResourcesInServiceId(Long serviceId) {
+ public List<XXServiceResource> findForServicePlugin(Long serviceId) {
if (serviceId == null) {
return new ArrayList<XXServiceResource>();
}
try {
- return getEntityManager().createNamedQuery("XXServiceResource.findTaggedResourcesInServiceId", tClass)
+ return getEntityManager().createNamedQuery("XXServiceResource.findForServicePlugin", tClass)
.setParameter("serviceId", serviceId).getResultList();
} catch (NoResultException e) {
return new ArrayList<XXServiceResource>();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementDao.java
index 240eb62..4f958ea 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementDao.java
@@ -59,12 +59,12 @@ public class XXServiceResourceElementDao extends BaseDao<XXServiceResourceElemen
}
}
- public List<XXServiceResourceElement> findForTaggedResourcesInServiceId(Long serviceId) {
+ public List<XXServiceResourceElement> findForServicePlugin(Long serviceId) {
if (serviceId == null) {
return new ArrayList<XXServiceResourceElement>();
}
try {
- return getEntityManager().createNamedQuery("XXServiceResourceElement.findForTaggedResourcesInServiceId", tClass)
+ return getEntityManager().createNamedQuery("XXServiceResourceElement.findForServicePlugin", tClass)
.setParameter("serviceId", serviceId)
.getResultList();
} catch (NoResultException e) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementValueDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementValueDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementValueDao.java
index d324331..e780bc1 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementValueDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceElementValueDao.java
@@ -72,12 +72,12 @@ public class XXServiceResourceElementValueDao extends BaseDao<XXServiceResourceE
}
@SuppressWarnings("unchecked")
- public List<XXServiceResourceElementValue> findForTaggedResourcesInServiceId(Long serviceId) {
+ public List<XXServiceResourceElementValue> findForServicePlugin(Long serviceId) {
if (serviceId == null) {
return new ArrayList<XXServiceResourceElementValue>();
}
try {
- return getEntityManager().createNamedQuery("XXServiceResourceElementValue.findForTaggedResourcesInServiceId")
+ return getEntityManager().createNamedQuery("XXServiceResourceElementValue.findForServicePlugin")
.setParameter("serviceId", serviceId).getResultList();
} catch (NoResultException e) {
return new ArrayList<XXServiceResourceElementValue>();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDao.java
index a24e3db..a5b7fac 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDao.java
@@ -45,12 +45,12 @@ public class XXTagAttributeDao extends BaseDao<XXTagAttribute> {
}
}
- public List<XXTagAttribute> findByServiceId(Long serviceId) {
+ public List<XXTagAttribute> findForServicePlugin(Long serviceId) {
if (serviceId == null) {
return new ArrayList<XXTagAttribute>();
}
try {
- return getEntityManager().createNamedQuery("XXTagAttribute.findByServiceId", tClass)
+ return getEntityManager().createNamedQuery("XXTagAttribute.findForServicePlugin", tClass)
.setParameter("serviceId", serviceId).getResultList();
} catch (NoResultException e) {
return new ArrayList<XXTagAttribute>();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDefDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDefDao.java
index 294c222..145399f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXTagAttributeDefDao.java
@@ -57,6 +57,18 @@ public class XXTagAttributeDefDao extends BaseDao<XXTagAttributeDef> {
}
}
+ public List<XXTagAttributeDef> findForServicePlugin(Long serviceId) {
+ if (serviceId == null) {
+ return new ArrayList<XXTagAttributeDef>();
+ }
+ try {
+ return getEntityManager().createNamedQuery("XXTagAttributeDef.findForServicePlugin", tClass)
+ .setParameter("serviceId", serviceId).getResultList();
+ } catch (NoResultException e) {
+ return new ArrayList<XXTagAttributeDef>();
+ }
+ }
+
public List<XXTagAttributeDef> findByResourceId(Long resourceId) {
if (resourceId == null) {
return new ArrayList<XXTagAttributeDef>();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXTagDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTagDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTagDao.java
index 199a155..77428db 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXTagDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXTagDao.java
@@ -124,6 +124,19 @@ public class XXTagDao extends BaseDao<XXTag> {
}
}
+ public List<XXTag> findForServicePlugin(Long serviceId) {
+ if (serviceId == null) {
+ return new ArrayList<XXTag>();
+ }
+
+ try {
+ return getEntityManager().createNamedQuery("XXTag.findForServicePlugin", tClass)
+ .setParameter("serviceId", serviceId).getResultList();
+ } catch (NoResultException e) {
+ return new ArrayList<XXTag>();
+ }
+ }
+
public List<XXTag> findByServiceIdAndOwner(Long serviceId, Short owner) {
if (serviceId == null) {
return new ArrayList<XXTag>();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXTagDefDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTagDefDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTagDefDao.java
index 86793ec..dfd2fcb 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXTagDefDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXTagDefDao.java
@@ -73,6 +73,19 @@ public class XXTagDefDao extends BaseDao<XXTagDef> {
}
}
+ public List<XXTagDef> findForServicePlugin(Long serviceId) {
+ if (serviceId == null) {
+ return new ArrayList<XXTagDef>();
+ }
+
+ try {
+ return getEntityManager().createNamedQuery("XXTagDef.findForServicePlugin", tClass)
+ .setParameter("serviceId", serviceId).getResultList();
+ } catch (NoResultException e) {
+ return new ArrayList<XXTagDef>();
+ }
+ }
+
public List<String> getAllNames() {
try {
return getEntityManager().createNamedQuery("XXTagDef.getAllNames", String.class).getResultList();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/db/XXTagResourceMapDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTagResourceMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTagResourceMapDao.java
index 40dbe86..bbcd546 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXTagResourceMapDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXTagResourceMapDao.java
@@ -140,4 +140,16 @@ public class XXTagResourceMapDao extends BaseDao<XXTagResourceMap> {
return new ArrayList<XXTagResourceMap>();
}
}
+
+ public List<XXTagResourceMap> findForServicePlugin(Long serviceId) {
+ if (serviceId == null) {
+ return new ArrayList<XXTagResourceMap>();
+ }
+ try {
+ return getEntityManager().createNamedQuery("XXTagResourceMap.findForServicePlugin", tClass)
+ .setParameter("serviceId", serviceId).getResultList();
+ } catch (NoResultException e) {
+ return new ArrayList<XXTagResourceMap>();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java
index e5937e6..d725680 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java
@@ -116,7 +116,7 @@ public class RangerServiceResourceService extends RangerServiceResourceServiceBa
public List<RangerServiceResource> getTaggedResourcesInServiceId(Long serviceId) {
List<RangerServiceResource> ret = new ArrayList<RangerServiceResource>();
- List<XXServiceResource> xxServiceResources = daoMgr.getXXServiceResource().findTaggedResourcesInServiceId(serviceId);
+ List<XXServiceResource> xxServiceResources = daoMgr.getXXServiceResource().findByServiceId(serviceId);
if(CollectionUtils.isNotEmpty(xxServiceResources)) {
for(XXServiceResource xxServiceResource : xxServiceResources) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/01326be7/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 4fcf0ea..a94b9a0 100644
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -781,6 +781,20 @@
</query>
</named-query>
+ <named-query name="XXServiceResourceElement.findForServicePlugin">
+ <query>
+ select obj from XXServiceResourceElement obj where obj.resourceId in
+ (select serviceRes.id from XXServiceResource serviceRes, XXService service where service.id = :serviceId and service.tagService is not null and serviceRes.serviceId = service.id and serviceRes.id in
+ (select tagResMap.resourceId from XXTagResourceMap tagResMap, XXTag tag, XXTagDef tagDef
+ where tagResMap.tagId = tag.id and tag.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ )
+ order by obj.resourceId, obj.id
+ </query>
+ </named-query>
+
<named-query name="XXServiceResourceElement.findByServiceId">
<query>select obj from XXServiceResourceElement obj where obj.resourceId in
(select serviceresource.id from XXServiceResource serviceresource where serviceresource.serviceId = :serviceId)
@@ -805,6 +819,20 @@
</query>
</named-query>
+ <named-query name="XXServiceResourceElementValue.findForServicePlugin">
+ <query>
+ select obj from XXServiceResourceElementValue obj, XXServiceResourceElement serviceResElem where obj.resElementId = serviceResElem.id and
+ serviceResElem.resourceId in
+ (select serviceRes.id from XXServiceResource serviceRes, XXService service where service.id = :serviceId and service.tagService is not null and serviceRes.serviceId = service.id and serviceRes.id in
+ (select tagResMap.resourceId from XXTagResourceMap tagResMap, XXTag tag, XXTagDef tagDef
+ where tagResMap.tagId = tag.id and tag.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ )
+ order by serviceResElem.resourceId, serviceResElem.id
+ </query>
+ </named-query>
<named-query name="XXServiceResourceElementValue.findByServiceId">
<query>select obj from XXServiceResourceElementValue obj, XXServiceResourceElement resElem where obj.resElementId = resElem.id and resElem.resourceId in
(select res.id from XXServiceResource res where res.serviceId = :serviceId)
@@ -852,6 +880,17 @@
order by obj.resourceId</query>
</named-query>
+ <named-query name="XXTagResourceMap.findForServicePlugin">
+ <query>
+ select obj from XXTagResourceMap obj, XXService service where service.id = :serviceId and service.tagService is not null and obj.tagId in
+ (select tag.id from XXTag tag, XXTagDef tagDef where tag.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ order by obj.resourceId
+ </query>
+ </named-query>
+
<named-query name="XXTagResourceMap.getTagIdsForResourceId">
<query>select obj.tagId from XXTagResourceMap obj
where obj.resourceId = :resourceId order by obj.id
@@ -873,6 +912,14 @@
</query>
</named-query>
+ <named-query name="XXTagDef.findForServicePlugin">
+ <query>select obj from XXTagDef obj, XXService service where service.id = :serviceId and service.tagService is not null and
+ obj.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ order by obj.id
+ </query>
+ </named-query>
<named-query name="XXTagDef.findByResourceId">
<query>select obj from XXTagDef obj where obj.id in
(select tag.type from XXTag tag, XXTagResourceMap tagRes where tag.id = tagRes.tagId and tagRes.resourceId = :resourceId)
@@ -894,7 +941,16 @@
order by obj.tagDefId
</query>
</named-query>
-
+ <named-query name="XXTagAttributeDef.findForServicePlugin">
+ <query>select obj from XXTagAttributeDef obj where obj.tagDefId in
+ (select tagDef.id from XXTagDef tagDef, XXService service where service.id = :serviceId and service.tagService is not null and
+ tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ order by obj.tagDefId
+ </query>
+ </named-query>
<named-query name="XXTagAttributeDef.findByResourceId">
<query>select obj from XXTagAttributeDef obj where obj.tagDefId in
(select tag.type from XXTag tag, XXTagResourceMap tagRes where tag.id = tagRes.tagId and tagRes.resourceId = :resourceId)
@@ -930,6 +986,16 @@
</query>
</named-query>
+ <named-query name="XXTag.findForServicePlugin">
+ <query>
+ select obj from XXTag obj, XXTagDef tagDef, XXService service where service.id = :serviceId and service.tagService is not null and
+ obj.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ order by obj.id
+ </query>
+ </named-query>
+
<named-query name="XXTag.findByServiceIdAndOwner">
<query>select obj from XXTag obj where obj.owner = :owner and obj.id in
(select tagRes.tagId from XXTagResourceMap tagRes, XXServiceResource resource where tagRes.resourceId = resource.id and resource.serviceId = :serviceId)
@@ -964,6 +1030,18 @@
</query>
</named-query>
+ <named-query name="XXTagAttribute.findForServicePlugin">
+ <query>
+ select obj from XXTagAttribute obj where obj.tagId in
+ (select tag.id from XXTag tag, XXTagDef tagDef, XXService service where service.id = :serviceId and service.tagService is not null and
+ tag.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ order by obj.tagId
+ </query>
+ </named-query>
+
<named-query name="XXServiceResource.findByGuid">
<query>select obj from XXServiceResource obj where obj.guid = :guid</query>
</named-query>
@@ -973,7 +1051,7 @@
order by obj.id
</query>
</named-query>
-
+
<named-query name="XXServiceResource.findTaggedResourcesInServiceId">
<query>select obj from XXServiceResource obj where obj.serviceId = :serviceId and obj.id in
(select tagResMap.resourceId from XXTagResourceMap tagResMap)
@@ -981,6 +1059,18 @@
</query>
</named-query>
+ <named-query name="XXServiceResource.findForServicePlugin">
+ <query>
+ select obj from XXServiceResource obj, XXService service where service.id = :serviceId and service.tagService is not null and obj.serviceId = service.id and obj.id in
+ (select tagResMap.resourceId from XXTagResourceMap tagResMap, XXTag tag, XXTagDef tagDef
+ where tagResMap.tagId = tag.id and tag.type = tagDef.id and tagDef.name in
+ (select policyResMap.value from XXPolicyResourceMap policyResMap, XXPolicyResource policyRes, XXPolicy policy
+ where policy.service = service.tagService and policyRes.policyId = policy.id and policyResMap.resourceId = policyRes.id)
+ )
+ order by obj.id
+ </query>
+ </named-query>
+
<named-query name="XXServiceResource.findByServiceAndResourceSignature">
<query>select obj from XXServiceResource obj where obj.serviceId = :serviceId and obj.resourceSignature = :resourceSignature</query>
</named-query>