Hello Yair Zaslavsky,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/30460
to review the following change.
Change subject: aaa: Using collection instead of list
......................................................................
aaa: Using collection instead of list
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1120720
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(+), 40 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/30460/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..7c16814 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,7 +1,7 @@
package org.ovirt.engine.core.aaa;
import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
import org.ovirt.engine.api.extensions.Base;
import org.ovirt.engine.api.extensions.ExtMap;
@@ -13,7 +13,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 +39,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 +73,7 @@
}
- public static List<ExtMap> queryGroupRecords(
+ public static Collection<ExtMap> queryGroupRecords(
final ExtensionProxy extension,
final String namespace,
final ExtMap filter,
@@ -100,15 +100,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 +124,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 +163,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 +190,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 +215,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 8ad22c5..107d18c 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/30460
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5aec7cc3de308e5be3601b87c0543267fa5c018d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Alon Bar-Lev <[email protected]>
Gerrit-Reviewer: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches