Repository: incubator-ranger Updated Branches: refs/heads/ranger-0.5 6af6fe354 -> 1dbb9b05f
RANGER-563: permissions are duplicated in some policyItems after upgrade Signed-off-by: sneethiraj <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/1dbb9b05 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/1dbb9b05 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/1dbb9b05 Branch: refs/heads/ranger-0.5 Commit: 1dbb9b05f08485ef93e5a3a5b316bdef1b9c33f8 Parents: 6af6fe3 Author: Madhan Neethiraj <[email protected]> Authored: Sat Jun 20 23:18:38 2015 -0400 Committer: sneethiraj <[email protected]> Committed: Thu Jun 25 17:31:58 2015 -0700 ---------------------------------------------------------------------- .../ranger/patch/PatchMigration_J10002.java | 22 +++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/1dbb9b05/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java index 44306d8..621159d 100644 --- a/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java +++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java @@ -471,10 +471,10 @@ public class PatchMigration_J10002 extends BaseLoader { if(StringUtils.equalsIgnoreCase(accessType, "Admin")) { policyItem.setDelegateAdmin(Boolean.TRUE); if ( svcDef.getId() == EmbeddedServiceDefsUtil.instance().getHBaseServiceDefId()) { - accessList.add(new RangerPolicyItemAccess(accessType)); + addAccessType(accessType, accessList); } } else { - accessList.add(new RangerPolicyItemAccess(accessType)); + addAccessType(accessType, accessList); } ipAddress = permMap.getIpAddress(); @@ -509,7 +509,23 @@ public class PatchMigration_J10002 extends BaseLoader { return policyItems; } - + + private void addAccessType(String accessType, List<RangerPolicyItemAccess> accessList) { + boolean alreadyExists = false; + + for(RangerPolicyItemAccess access : accessList) { + if(StringUtils.equalsIgnoreCase(accessType, access.getType())) { + alreadyExists = true; + + break; + } + } + + if(!alreadyExists) { + accessList.add(new RangerPolicyItemAccess(accessType)); + } + } + private void updateSequences() { daoMgr.getXXServiceDef().updateSequence(); daoMgr.getXXService().updateSequence();
