Yair Zaslavsky has uploaded a new change for review. Change subject: aaa: Using collection instead of list ......................................................................
aaa: Using collection instead of list Change-Id: I5aec7cc3de308e5be3601b87c0543267fa5c018d Topic: AAA Signed-off-by: Yair Zaslavsky <[email protected]> --- M backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java M backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/SearchQueryParsingUtils.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/aaa/DirectoryUtils.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java 4 files changed, 45 insertions(+), 39 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/30280/1 diff --git a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java index a8abdd3..9b328d3 100644 --- a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java +++ b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java @@ -1,6 +1,7 @@ package org.ovirt.engine.core.aaa; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import org.ovirt.engine.api.extensions.Base; @@ -13,7 +14,7 @@ private static interface QueryResultHandler { - public boolean handle(List<ExtMap> queryResults); + public boolean handle(Collection<ExtMap> queryResults); } private static final int QUERIES_RESULTS_LIMIT = 1000; @@ -39,14 +40,14 @@ return ret; } - public static List<ExtMap> fetchPrincipalsByIdsRecursively( + public static Collection<ExtMap> fetchPrincipalsByIdsRecursively( final ExtensionProxy extension, final String namespace, - final List<String> ids) { + final Collection<String> ids) { return findPrincipalsByIds(extension, namespace, ids, true, true); } - public static List<ExtMap> queryPrincipalRecords( + public static Collection<ExtMap> queryPrincipalRecords( final ExtensionProxy extension, final String namespace, final ExtMap filter, @@ -73,7 +74,7 @@ } - public static List<ExtMap> queryGroupRecords( + public static Collection<ExtMap> queryGroupRecords( final ExtensionProxy extension, final String namespace, final ExtMap filter, @@ -100,15 +101,15 @@ } - public static List<ExtMap> populatePrincipalRecords( + public static Collection<ExtMap> populatePrincipalRecords( final ExtensionProxy extension, final String namespace, final ExtMap input) { - final List<ExtMap> principalRecords = new ArrayList<>(); + final Collection<ExtMap> principalRecords = new ArrayList<>(); queryImpl(extension, namespace, input, new QueryResultHandler() { @Override - public boolean handle(List<ExtMap> queryResults) { + public boolean handle(Collection<ExtMap> queryResults) { boolean result = true; for (ExtMap queryResult : queryResults) { if (principalRecords.size() < QUERIES_RESULTS_LIMIT) { @@ -124,12 +125,12 @@ return principalRecords; } - public static List<ExtMap> populateGroups(final ExtensionProxy extension, final String namespace, + public static Collection<ExtMap> populateGroups(final ExtensionProxy extension, final String namespace, final ExtMap input) { - final List<ExtMap> groups = new ArrayList<>(); + final Collection<ExtMap> groups = new ArrayList<>(); queryImpl(extension, namespace, input, new QueryResultHandler() { @Override - public boolean handle(List<ExtMap> queryResults) { + public boolean handle(Collection<ExtMap> queryResults) { boolean result = true; for (ExtMap queryResult : queryResults) { @@ -163,7 +164,7 @@ input ) ).get(Authz.InvokeKeys.QUERY_OPAQUE); - List<ExtMap> result = null; + Collection<ExtMap> result = null; try { do { result = extension.invoke(new ExtMap().mput( @@ -190,15 +191,15 @@ } } - public static List<ExtMap> findPrincipalsByIds( + public static Collection<ExtMap> findPrincipalsByIds( final ExtensionProxy extension, final String namespace, - final List<String> ids, + final Collection<String> ids, final boolean groupsResolving, final boolean groupsResolvingRecursive ) { - List<ExtMap> results = new ArrayList<>(); - for (List<String> batch : SearchQueryParsingUtils.getIdsBatches(extension.getContext(), ids)) { + Collection<ExtMap> results = new ArrayList<>(); + for (Collection<String> batch : SearchQueryParsingUtils.getIdsBatches(extension.getContext(), ids)) { results.addAll( queryPrincipalRecords( extension, @@ -215,15 +216,15 @@ return results; } - public static List<ExtMap> findGroupRecordsByIds( + public static Collection<ExtMap> findGroupRecordsByIds( final ExtensionProxy extension, final String namespace, - final List<String> ids, + final Collection<String> ids, final boolean groupsResolving, final boolean groupsResolvingRecursive ) { - List<ExtMap> results = new ArrayList<>(); - for (List<String> batch : SearchQueryParsingUtils.getIdsBatches(extension.getContext(), ids)) { + Collection<ExtMap> results = new ArrayList<>(); + for (Collection<String> batch : SearchQueryParsingUtils.getIdsBatches(extension.getContext(), ids)) { results.addAll( queryGroupRecords( extension, diff --git a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/SearchQueryParsingUtils.java b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/SearchQueryParsingUtils.java index 3b578bc..636a8b4 100644 --- a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/SearchQueryParsingUtils.java +++ b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/SearchQueryParsingUtils.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,7 +41,7 @@ attributesToKeys.put("$PRINCIPAL_NAME", Authz.PrincipalRecord.NAME); } - public static ExtMap generateQueryMap(List<String> ids, ExtUUID queryEntity) { + public static ExtMap generateQueryMap(Collection<String> ids, ExtUUID queryEntity) { ExtMap result = new ExtMap().mput( Authz.InvokeKeys.QUERY_ENTITY, queryEntity); @@ -128,12 +129,13 @@ return queryPrefix; } - public static List<List<String>> getIdsBatches(final ExtMap context, final List<String> ids) { + public static Collection<? extends Collection<String>> getIdsBatches(final ExtMap context, final Collection<String> ids) { + List<String> idsList = new ArrayList<String>(ids); int chunk = context.<Integer> get(Authz.ContextKeys.QUERY_MAX_FILTER_SIZE, 100) - 10; List<List<String>> batchOfIdsList = new ArrayList<>(); for (int counter = 0; counter < ids.size(); counter = counter + chunk) { - batchOfIdsList.add(ids.subList(counter, counter + chunk > ids.size() ? ids.size() : counter + chunk)); + batchOfIdsList.add(idsList.subList(counter, counter + chunk > idsList.size() ? idsList.size() : counter + chunk)); } return batchOfIdsList; } 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 46634fe..5ea5230 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 @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -32,7 +33,7 @@ return results; } - public static List<DirectoryUser> findDirectoryUsersByQuery( + public static Collection<DirectoryUser> findDirectoryUsersByQuery( final ExtensionProxy extension, final String namespace, final String query) { @@ -53,18 +54,18 @@ final boolean resolveGroups, final boolean resolveGroupsRecursive ) { - List<DirectoryGroup> groups = + Collection<DirectoryGroup> groups = findDirectoryGroupsByIds(extension, namespace, Arrays.asList(id), resolveGroups, resolveGroupsRecursive); - if (groups.isEmpty()) { + if (groups.size() == 0) { return null; } - return groups.get(0); + return new ArrayList<DirectoryGroup>(groups).get(0); } - public static List<DirectoryUser> findDirectoryUserByIds( + public static Collection<DirectoryUser> findDirectoryUserByIds( final ExtensionProxy extension, final String namespace, - final List<String> ids, + final Collection<String> ids, final boolean groupsResolving, final boolean groupsResolvingRecursive ) { @@ -87,20 +88,20 @@ final boolean groupsResolving, final boolean groupsResolvingRecursive ) { - List<DirectoryUser> users = + Collection<DirectoryUser> users = findDirectoryUserByIds( extension, namespace, Arrays.asList(id), groupsResolving, groupsResolvingRecursive); - if (users.isEmpty()) { + if (users.size() == 0) { return null; } - return users.get(0); + return new ArrayList<DirectoryUser>(users).get(0); } - public static List<DirectoryGroup> findDirectoryGroupsByQuery( + public static Collection<DirectoryGroup> findDirectoryGroupsByQuery( final ExtensionProxy extension, final String namespace, final String query) { @@ -112,10 +113,10 @@ false); } - public static List<DirectoryGroup> findDirectoryGroupsByIds( + public static Collection<DirectoryGroup> findDirectoryGroupsByIds( final ExtensionProxy extension, final String namespace, - final List<String> ids, + final Collection<String> ids, final boolean resolveGroups, final boolean resolveGroupsRecursive) { return mapGroupRecordsToDirectoryGroups(AuthzUtils.getName(extension), @@ -190,7 +191,8 @@ return accumulator; } - public static List<DirectoryGroup> mapGroupRecordsToDirectoryGroups(final String authzName, final List<ExtMap> groups) { + public static Collection<DirectoryGroup> mapGroupRecordsToDirectoryGroups(final String authzName, + final Collection<ExtMap> groups) { List<DirectoryGroup> results = new ArrayList<>(); for (ExtMap group : groups) { results.add(mapGroupRecordToDirectoryGroup(authzName, group)); @@ -198,7 +200,8 @@ return results; } - public static List<DirectoryUser> mapPrincipalRecordsToDirectoryUsers(final String authzName, final List<ExtMap> users) { + public static Collection<DirectoryUser> mapPrincipalRecordsToDirectoryUsers(final String authzName, + final Collection<ExtMap> users) { List<DirectoryUser> results = new ArrayList<>(); for (ExtMap user : users) { results.add(mapPrincipalRecordToDirectoryUser(authzName, user)); @@ -206,7 +209,7 @@ return results; } - private static List<DirectoryUser> queryDirectoryUsers( + private static Collection<DirectoryUser> queryDirectoryUsers( final ExtensionProxy extension, final String namespace, final ExtMap filter, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java index bce943e..2e3c49d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SyncUsers.java @@ -47,7 +47,7 @@ ExtMap principal : AuthzUtils.fetchPrincipalsByIdsRecursively( authzExtension, userIdsPerNamespace.getKey(), - new ArrayList<String>(userIdsPerNamespace.getValue())) + userIdsPerNamespace.getValue()) ) { DirectoryUtils.flatGroups(principal); DbUser dbUser = DirectoryUtils.mapPrincipalRecordToDbUser(authz, principal); -- To view, visit http://gerrit.ovirt.org/30280 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5aec7cc3de308e5be3601b87c0543267fa5c018d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yair Zaslavsky <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
