From c3cbf3a90ef6f095aab272266b3ea35a69f8d3c0 Mon Sep 17 00:00:00 2001 From: tosmers Date: Wed, 5 Apr 2017 15:09:14 +0000 Subject: [PATCH] [UPDATE] - excludes remove process in GroupConversion - changes process of PermissionConverion - new error message in PermissionIdGenerator git-svn-id: https://svn.libreccm.org/ccm/trunk@4660 8810af33-2d31-482b-a856-94f89814c4df --- .../core/security/GroupConversion.java | 8 +-- .../core/security/PermissionConversion.java | 61 ++++++++----------- .../core/security/PermissionIdGenerator.java | 7 ++- 3 files changed, 34 insertions(+), 42 deletions(-) diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java index f99538d40..d9bfa9114 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java @@ -49,12 +49,12 @@ public class GroupConversion { roleGroups = new ArrayList<>(); trunkGroups = com.arsdigita.kernel.Group.getAllObjectGroups(); - List trunkRoles = com.arsdigita.kernel - .Role.getAllObjectRoles(); - trunkRoles.forEach(role -> roleGroups.add(role.getGroup())); +// List trunkRoles = com.arsdigita.kernel +// .Role.getAllObjectRoles(); +// trunkRoles.forEach(role -> roleGroups.add(role.getGroup())); // remove subgroups representing roles - trunkGroups.removeAll(roleGroups); +// trunkGroups.removeAll(roleGroups); createGroupsAndSetAssociations(trunkGroups); } diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java index 92e89c71d..ff2f9858b 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java @@ -145,48 +145,39 @@ public class PermissionConversion { com.arsdigita.kernel.Group trunkGranteeGroup = (com.arsdigita.kernel.Group) trunkGranteeParty; - RoleCollection roleCollection = ((com.arsdigita.kernel. - Group) trunkGranteeParty).getRoles(); + RoleCollection roleCollection = trunkGranteeGroup.getRoles(); // if group contains 1 or more roles if (!roleCollection.isEmpty()) { - boolean multipleGrantees = false; while (roleCollection.next()) { Role grantee = NgCollection.roles.get(roleCollection .getRole().getID().longValue()); - // set grantee and opposed associations - if (!multipleGrantees) { - permission.setGrantee(grantee); - grantee.addPermission(permission); - multipleGrantees = true; - } else { - Permission duplicatePermission = new Permission - (permission); - duplicatePermission.setGrantee(grantee); - grantee.addPermission(duplicatePermission); + Permission duplicatePermission = new Permission + (permission); + duplicatePermission.setGrantee(grantee); + grantee.addPermission(duplicatePermission); - CcmObject object = duplicatePermission.getObject(); - long objectId = 0; - if (object != null) { - objectId = object.getObjectId(); - } - - long oldId = objectId + grantee.getRoleId(); - PermissionIdMapper.map.put(oldId, - duplicatePermission.getPermissionId()); + CcmObject object = duplicatePermission.getObject(); + long objectId = 0; + if (object != null) { + objectId = object.getObjectId(); } + + long oldId = objectId + grantee.getRoleId(); + PermissionIdMapper.map.put(oldId, + duplicatePermission.getPermissionId()); } - // if group contains no roles, new Role necessary - } else { - Group member = NgCollection.groups.get - (trunkGranteeParty.getID().longValue()); - - Role granteeRole = createNewRole(member); - - // set grantee and opposed association - permission.setGrantee(granteeRole); - granteeRole.addPermission(permission); } + // new Role for this group + Group member = NgCollection.groups.get + (trunkGranteeGroup.getID().longValue()); + + Role granteeRole = createNewRole(member); + + // set grantee and opposed association + permission.setGrantee(granteeRole); + granteeRole.addPermission(permission); + // grantee instance of User, new Role necessary } else if (trunkGranteeParty instanceof com.arsdigita.kernel @@ -202,10 +193,10 @@ public class PermissionConversion { // set grantee and opposed association permission.setGrantee(granteeRole); granteeRole.addPermission(permission); + } else { + System.err.printf("!!!Failed to convert grantee for permission %s%n", + trunkPermission.getOID().toString()); } - - System.err.printf("!!!Failed to convert grantee for permission %s%n", - trunkPermission.getOID().toString()); } } } diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionIdGenerator.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionIdGenerator.java index fc9fcec3b..57e8f461e 100644 --- a/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionIdGenerator.java +++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionIdGenerator.java @@ -74,9 +74,10 @@ public class PermissionIdGenerator extends ObjectIdGenerator { b = true; } -// if (!(a || b)) { -// throw new IllegalStateException(); -// } + if (!(a || b)) { + System.err.printf("!!!Object and Grantee are empty.. %s%n", + permission.getGrantedPrivilege()); + } return id; }