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 2015/08/29 03:07:35 UTC
incubator-ranger git commit: RANGER-595: updated tag-db-store to: 1)
persist resource_signature 2) increment tagVersion when a service-resource is
updatede
Repository: incubator-ranger
Updated Branches:
refs/heads/tag-policy 303f7b702 -> 5876e2272
RANGER-595: updated tag-db-store to: 1) persist resource_signature 2) increment tagVersion when a service-resource is updatede
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/5876e227
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/5876e227
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/5876e227
Branch: refs/heads/tag-policy
Commit: 5876e22723c3ba82c405efbb29d97fae28e189aa
Parents: 303f7b7
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Fri Aug 28 16:55:48 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Fri Aug 28 16:59:33 2015 -0700
----------------------------------------------------------------------
.../store/RangerServiceResourceSignature.java | 4 +---
.../apache/ranger/db/XXServiceResourceDao.java | 20 ++++++++++++++++++++
.../java/org/apache/ranger/db/XXTagDao.java | 19 +++++++++++++++++++
.../apache/ranger/db/XXTagResourceMapDao.java | 20 --------------------
.../java/org/apache/ranger/rest/TagREST.java | 4 ----
.../service/RangerServiceResourceService.java | 9 +++++++++
.../RangerServiceResourceServiceBase.java | 2 ++
.../service/RangerTagResourceMapService.java | 6 +++---
.../apache/ranger/service/RangerTagService.java | 11 +++++++++++
.../resources/META-INF/jpa_named_queries.xml | 18 ++++++++++++------
10 files changed, 77 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/agents-common/src/main/java/org/apache/ranger/plugin/store/RangerServiceResourceSignature.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/RangerServiceResourceSignature.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/RangerServiceResourceSignature.java
index 3e32a36..1affec5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/RangerServiceResourceSignature.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/RangerServiceResourceSignature.java
@@ -28,12 +28,10 @@ import java.util.*;
public class RangerServiceResourceSignature {
private final String _string;
private final String _hash;
- private final RangerServiceResource serviceResource;
public RangerServiceResourceSignature(RangerServiceResource serviceResource) {
- this.serviceResource = serviceResource;
_string = ServiceResourceSpecSerializer.toString(serviceResource);
- _hash = DigestUtils.md5Hex(_string);
+ _hash = DigestUtils.md5Hex(_string);
}
String asString() {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/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 63cdc6e..7e29e36 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
@@ -20,6 +20,7 @@
package org.apache.ranger.db;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import javax.persistence.NoResultException;
@@ -82,4 +83,23 @@ public class XXServiceResourceDao extends BaseDao<XXServiceResource> {
return new ArrayList<XXServiceResource>();
}
}
+
+ public void updateServiceForServiceResourceUpdate(Long resourceId, Date updateTime) {
+ if (resourceId == null) {
+ return;
+ }
+
+ if(updateTime == null) {
+ updateTime = new Date();
+ }
+
+ try {
+ getEntityManager().createNamedQuery("XXServiceResource.updateTagVersionInService", tClass)
+ .setParameter("resourceId", resourceId)
+ .setParameter("tagUpdateTime", updateTime)
+ .executeUpdate();
+ } catch (NoResultException e) {
+ return;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/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 667238f..e5b5bb2 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,4 +124,23 @@ public class XXTagDao extends BaseDao<XXTag> {
return new ArrayList<XXTag>();
}
}
+
+ public void updateServiceForTagUpdate(Long tagId, Date updateTime) {
+ if (tagId == null) {
+ return;
+ }
+
+ if(updateTime == null) {
+ updateTime = new Date();
+ }
+
+ try {
+ getEntityManager().createNamedQuery("XXTag.updateTagVersionInService", tClass)
+ .setParameter("tagId", tagId)
+ .setParameter("tagUpdateTime", updateTime)
+ .executeUpdate();
+ } catch (NoResultException e) {
+ return;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/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 1db0cef..75d04ae 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
@@ -20,7 +20,6 @@
package org.apache.ranger.db;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import javax.persistence.NoResultException;
@@ -120,23 +119,4 @@ public class XXTagResourceMapDao extends BaseDao<XXTagResourceMap> {
return new ArrayList<XXTagResourceMap>();
}
}
-
- public void updateServiceForTagUpdate(Long tagId, Date updateTime) {
- if (tagId == null) {
- return;
- }
-
- if(updateTime == null) {
- updateTime = new Date();
- }
-
- try {
- getEntityManager().createNamedQuery("XXTagResourceMap.updateTagVersionInService", tClass)
- .setParameter("tagId", tagId)
- .setParameter("tagUpdateTime", updateTime)
- .executeUpdate();
- } catch (NoResultException e) {
- return;
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java b/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java
index 0b0d4ca..b06f5cc 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java
@@ -87,8 +87,6 @@ public class TagREST {
RangerTagDef ret;
try {
- //RangerTagDefValidator validator = validatorFactory.getTagDefValidator(tagStore);
- //validator.validate(tagDef, Action.CREATE);
ret = tagStore.createTagDef(tagDef);
} catch(Exception excp) {
LOG.error("createTagDef(" + tagDef + ") failed", excp);
@@ -143,8 +141,6 @@ public class TagREST {
}
try {
- //RangerTagDefValidator validator = validatorFactory.getTagDefValidator(tagStore);
- //validator.validate(guid, Action.DELETE);
tagStore.deleteTagDefById(id);
} catch(Exception excp) {
LOG.error("deleteTagDef(" + id + ") failed", excp);
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/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 3bbd344..a81b981 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
@@ -49,6 +49,15 @@ public class RangerServiceResourceService extends RangerServiceResourceServiceBa
protected void validateForUpdate(RangerServiceResource vObj, XXServiceResource entityObj) {
}
+
+ @Override
+ public RangerServiceResource postUpdate(XXServiceResource resource) {
+ RangerServiceResource ret = super.postUpdate(resource);
+
+ daoMgr.getXXServiceResource().updateServiceForServiceResourceUpdate(resource.getId(), resource.getUpdateTime());
+
+ return ret;
+ }
public RangerServiceResource getPopulatedViewObject(XXServiceResource xObj) {
return populateViewBean(xObj);
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java
index f6a1dca..1510ffa 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java
@@ -51,6 +51,7 @@ public abstract class RangerServiceResourceServiceBase<T extends XXServiceResour
xObj.setGuid(guid);
xObj.setVersion(vObj.getVersion());
xObj.setIsEnabled(vObj.getIsEnabled());
+ xObj.setResourceSignature(vObj.getResourceSignature());
XXService xService = daoMgr.getXXService().findByName(vObj.getServiceName());
if (xService == null) {
@@ -68,6 +69,7 @@ public abstract class RangerServiceResourceServiceBase<T extends XXServiceResour
vObj.setGuid(xObj.getGuid());
vObj.setVersion(xObj.getVersion());
vObj.setIsEnabled(xObj.getIsEnabled());
+ vObj.setResourceSignature(xObj.getResourceSignature());
XXService xService = daoMgr.getXXService().getById(xObj.getServiceId());
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/security-admin/src/main/java/org/apache/ranger/service/RangerTagResourceMapService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerTagResourceMapService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerTagResourceMapService.java
index 503df82..6894e4e 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerTagResourceMapService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerTagResourceMapService.java
@@ -54,7 +54,7 @@ public class RangerTagResourceMapService extends RangerTagResourceMapServiceBase
public RangerTagResourceMap postCreate(XXTagResourceMap tagResMap) {
RangerTagResourceMap ret = super.postCreate(tagResMap);
- daoMgr.getXXTagResourceMap().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
+ daoMgr.getXXTag().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
return ret;
}
@@ -63,7 +63,7 @@ public class RangerTagResourceMapService extends RangerTagResourceMapServiceBase
public RangerTagResourceMap postUpdate(XXTagResourceMap tagResMap) {
RangerTagResourceMap ret = super.postUpdate(tagResMap);
- daoMgr.getXXTagResourceMap().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
+ daoMgr.getXXTag().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
return ret;
}
@@ -73,7 +73,7 @@ public class RangerTagResourceMapService extends RangerTagResourceMapServiceBase
XXTagResourceMap tagResMap = super.preDelete(id);
if (tagResMap != null) {
- daoMgr.getXXTagResourceMap().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
+ daoMgr.getXXTag().updateServiceForTagUpdate(tagResMap.getTagId(), tagResMap.getUpdateTime());
}
return tagResMap;
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/security-admin/src/main/java/org/apache/ranger/service/RangerTagService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerTagService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerTagService.java
index 1251454..3d7ea24 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerTagService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerTagService.java
@@ -6,7 +6,9 @@ import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.ranger.common.SearchField;
import org.apache.ranger.entity.XXTag;
+import org.apache.ranger.entity.XXTagDef;
import org.apache.ranger.plugin.model.RangerTag;
+import org.apache.ranger.plugin.model.RangerTagDef;
import org.apache.ranger.plugin.util.SearchFilter;
import org.springframework.stereotype.Service;
@@ -29,6 +31,15 @@ public class RangerTagService extends RangerTagServiceBase<XXTag, RangerTag> {
}
+ @Override
+ public RangerTag postUpdate(XXTag tag) {
+ RangerTag ret = super.postUpdate(tag);
+
+ daoMgr.getXXTag().updateServiceForTagUpdate(tag.getId(), tag.getUpdateTime());
+
+ return ret;
+ }
+
public RangerTag getPopulatedViewObject(XXTag xObj) {
return populateViewBean(xObj);
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/5876e227/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 b8fd003..a05e0bd 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
@@ -576,12 +576,6 @@
where obj.resourceId = res.id and res.serviceId = :serviceId
order by obj.resourceId</query>
</named-query>
-
- <named-query name="XXTagResourceMap.updateTagVersionInService">
- <query>update XXService obj set obj.tagVersion = obj.tagVersion + 1, obj.tagUpdateTime = :tagUpdateTime
- where obj.id in (select res.serviceId from XXServiceResource res, XXTagResourceMap tagRes, XXTag tag
- where res.id = tagRes.resourceId and tagRes.tagId = tag.id and tag.id = :tagId)</query>
- </named-query>
<named-query name="XXTagDef.findByGuid">
<query>select obj from XXTagDef obj where obj.guid = :guid</query>
@@ -632,6 +626,12 @@
<query>select obj from XXTag obj where obj.id in
(select tagRes.tagId from XXTagResourceMap tagRes, XXServiceResource resource where tagRes.resourceId = resource.id and resource.serviceId = :serviceId)</query>
</named-query>
+
+ <named-query name="XXTag.updateTagVersionInService">
+ <query>update XXService obj set obj.tagVersion = obj.tagVersion + 1, obj.tagUpdateTime = :tagUpdateTime
+ where obj.id in (select res.serviceId from XXServiceResource res, XXTagResourceMap tagRes, XXTag tag
+ where res.id = tagRes.resourceId and tagRes.tagId = tag.id and tag.id = :tagId)</query>
+ </named-query>
<named-query name="XXTagAttribute.findByTagId">
<query>select obj from XXTagAttribute obj where obj.tagId = :tagId</query>
@@ -655,6 +655,12 @@
<query>select obj from XXServiceResource obj where obj.serviceId = :serviceId and obj.resourceSignature = :resourceSignature</query>
</named-query>
+ <named-query name="XXServiceResource.updateTagVersionInService">
+ <query>update XXService obj set obj.tagVersion = obj.tagVersion + 1, obj.tagUpdateTime = :tagUpdateTime
+ where obj.id in (select res.serviceId from XXServiceResource res, XXTagResourceMap tagRes
+ where res.id = :resourceId and res.id = tagRes.resourceId)</query>
+ </named-query>
+
<!-- End <== JPA Queries for Tag Based Policies -->
</entity-mappings>