Alon Bar-Lev has uploaded a new change for review. Change subject: aaa: fix flatGroups recursive ......................................................................
aaa: fix flatGroups recursive incorrect get of groups of group record from principal record. also clean up the implementation to simplify. Topic: AAA Change-Id: Ief72097b8248ffb0c8d51d170a463453170b51c4 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java 1 file changed, 11 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/29948/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java index c73e01c..46634fe 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java @@ -6,10 +6,11 @@ import java.util.HashSet; import java.util.List; +import org.ovirt.engine.api.extensions.ExtKey; import org.ovirt.engine.api.extensions.ExtMap; -import org.ovirt.engine.api.extensions.aaa.Authz; import org.ovirt.engine.api.extensions.aaa.Authz.GroupRecord; import org.ovirt.engine.api.extensions.aaa.Authz.PrincipalRecord; +import org.ovirt.engine.api.extensions.aaa.Authz; import org.ovirt.engine.core.common.businessentities.DbGroup; import org.ovirt.engine.core.common.businessentities.DbUser; import org.ovirt.engine.core.compat.Guid; @@ -177,11 +178,16 @@ return new DbGroup(mapGroupRecordToDirectoryGroup(directory, groupRecord)); } - public static void flatGroups(ExtMap principal) { - List<ExtMap> accumulator = new ArrayList<>(); - flatGroups(accumulator, principal.get(GroupRecord.GROUPS, Collections.<ExtMap> emptyList())); - principal.put(GroupRecord.GROUPS, accumulator); + principal.put(PrincipalRecord.GROUPS, flatGroups(principal, PrincipalRecord.GROUPS, new ArrayList<ExtMap>())); + } + + private static List<ExtMap> flatGroups(ExtMap entity, ExtKey key, List<ExtMap> accumulator) { + for (ExtMap group : entity.get(key, Collections.<ExtMap> emptyList())) { + accumulator.add(group); + flatGroups(group, GroupRecord.GROUPS, accumulator); + } + return accumulator; } public static List<DirectoryGroup> mapGroupRecordsToDirectoryGroups(final String authzName, final List<ExtMap> groups) { @@ -226,14 +232,6 @@ directoryGroups.add(mapGroupRecordToDirectoryGroup(AuthzUtils.getName(extension), group)); } return directoryGroups; - } - - private static void flatGroups(List<ExtMap> accumulator, List<ExtMap> groupsFrom) { - for (ExtMap group : groupsFrom) { - flatGroups(accumulator, group.get(GroupRecord.GROUPS, Collections.<ExtMap> emptyList())); - accumulator.add(group); - } - } } -- To view, visit http://gerrit.ovirt.org/29948 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ief72097b8248ffb0c8d51d170a463453170b51c4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches