You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/07/24 08:06:05 UTC
[3/3] syncope git commit: Extensive usage of
SyncopeConstants.ROOT_REALM + review group search only when entitlement is
owned
Extensive usage of SyncopeConstants.ROOT_REALM + review group search only when entitlement is owned
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/d420c398
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/d420c398
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/d420c398
Branch: refs/heads/2_0_X
Commit: d420c398f58495b7e46ae7128245382940cb7004
Parents: f07fadc
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jul 24 09:47:28 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jul 24 10:05:51 2018 +0200
----------------------------------------------------------------------
.../console/panels/GroupDirectoryPanel.java | 4 +--
.../console/panels/RoleDirectoryPanel.java | 7 +++--
.../panels/search/AbstractSearchPanel.java | 12 ++++----
.../panels/search/AnyObjectSearchPanel.java | 4 ++-
.../panels/search/SearchClausePanel.java | 7 +++--
.../console/panels/search/UserSearchPanel.java | 1 -
.../client/console/rest/GroupRestClient.java | 32 ++------------------
.../client/console/wizards/any/Groups.java | 7 +++--
8 files changed, 26 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
index 6bef561..188e21a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
@@ -116,7 +116,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
panel = new UserDirectoryPanel.Builder(
classRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
- setRealm("/").
+ setRealm(SyncopeConstants.ROOT_REALM).
setFiltered(true).
setFiql(query).
disableCheckBoxes().
@@ -136,7 +136,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
panel = new AnyObjectDirectoryPanel.Builder(
classRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
- setRealm("/").
+ setRealm(SyncopeConstants.ROOT_REALM).
setFiltered(true).
setFiql(query).
disableCheckBoxes().
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
index d382c7b..579ab16 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
@@ -47,6 +47,7 @@ import org.apache.syncope.client.console.wizards.WizardMgtPanel;
import org.apache.syncope.client.console.wizards.role.RoleWrapper;
import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.common.lib.SyncopeClientException;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.RoleTO;
import org.apache.syncope.common.lib.to.UserTO;
@@ -144,7 +145,7 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
@Override
public void onClick(final AjaxRequestTarget target, final RoleTO ignore) {
- final RoleTO clone = SerializationUtils.clone(model.getObject());
+ RoleTO clone = SerializationUtils.clone(model.getObject());
clone.setKey(null);
send(RoleDirectoryPanel.this, Broadcast.EXACT,
new AjaxWizard.NewItemActionEvent<>(new RoleWrapper(clone), target));
@@ -172,9 +173,9 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
@Override
protected Panel getDirectoryPanel(final String id) {
- final Panel panel = new UserDirectoryPanel.Builder(
+ Panel panel = new UserDirectoryPanel.Builder(
classRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
- setRealm("/").
+ setRealm(SyncopeConstants.ROOT_REALM).
setFiltered(true).
setFiql(query).
disableCheckBoxes().
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
index be1d2b1..0f93fea 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
@@ -25,19 +25,21 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.rest.GroupRestClient;
import org.apache.syncope.client.console.rest.ResourceRestClient;
import org.apache.syncope.client.console.rest.SchemaRestClient;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.common.lib.EntityTOUtils;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.search.SearchableFields;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.SchemaType;
+import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.wicket.event.IEventSink;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -128,11 +130,9 @@ public abstract class AbstractSearchPanel extends Panel {
super(id);
populate();
Pair<IModel<Map<String, String>>, Integer> groupInfo =
- Pair.of(groupNames, groupRestClient.search("/",
- null,
- 1,
- 1,
- new SortParam<>("name", true)).getTotalCount());
+ SyncopeConsoleSession.get().owns(StandardEntitlement.GROUP_SEARCH)
+ ? Pair.of(groupNames, groupRestClient.count(SyncopeConstants.ROOT_REALM, null, null))
+ : Pair.of(groupNames, 0);
this.model = builder.model;
this.typeKind = kind;
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
index 0a94110..8197d15 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
@@ -79,7 +80,8 @@ public class AnyObjectSearchPanel extends AbstractSearchPanel {
@Override
protected Map<String, String> load() {
- List<GroupTO> res = groupRestClient.search("/",
+ List<GroupTO> res = groupRestClient.search(
+ SyncopeConstants.ROOT_REALM,
null,
1,
MAX_GROUP_LIST_CARDINALITY,
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
index 80c0452..aca3887 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
@@ -45,6 +45,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPa
import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.common.lib.EntityTOUtils;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
import org.apache.wicket.AttributeModifier;
@@ -393,8 +394,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
if (field.getModel().getObject().getType() == Type.GROUP_MEMBERSHIP) {
String[] inputAsArray = property.getField().getInputAsArray();
- if (StringUtils.isBlank(property.getField().getInput())
- || inputAsArray.length == 0) {
+ if (StringUtils.isBlank(property.getField().getInput()) || inputAsArray.length == 0) {
property.setChoices(properties.getObject());
} else {
String inputValue = (inputAsArray.length > 1 && inputAsArray[1] != null)
@@ -408,7 +408,8 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
? inputValue : "*" + inputValue + "*");
if (groupInfo.getRight() > AnyObjectSearchPanel.MAX_GROUP_LIST_CARDINALITY) {
- List<GroupTO> filteredGroups = groupRestClient.search("/",
+ List<GroupTO> filteredGroups = groupRestClient.search(
+ SyncopeConstants.ROOT_REALM,
SyncopeClient.getGroupSearchConditionBuilder().
is("name").equalToIgnoreCase(inputValue).
query(),
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
index faaecb8..049ea25 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
@@ -83,5 +83,4 @@ public final class UserSearchPanel extends AnyObjectSearchPanel {
result.add(SearchClause.Type.RELATIONSHIP);
return result;
}
-
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
index 9ecd9ca..e5d642b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
@@ -18,13 +18,11 @@
*/
package org.apache.syncope.client.console.rest;
-import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;
import org.apache.syncope.common.lib.patch.GroupPatch;
import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.PagedResult;
import org.apache.syncope.common.lib.to.ProvisioningResult;
import org.apache.syncope.common.lib.types.BulkMembersActionType;
import org.apache.syncope.common.rest.api.beans.AnyQuery;
@@ -77,33 +75,9 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> {
final SortParam<String> sort,
final String type) {
- List<GroupTO> result = new ArrayList<>();
- PagedResult<GroupTO> res;
- do {
- res = getService(GroupService.class).
- search(new AnyQuery.Builder().realm(realm).fiql(fiql).page(page).size(size).
- orderBy(toOrderBy(sort)).details(false).build());
- result.addAll(res.getResult());
- } while (page == -1 && size == -1 && res.getNext() != null);
-
- return result;
- }
-
- public PagedResult<GroupTO> search(
- final String realm,
- final String fiql,
- final int page,
- final int size,
- final SortParam<String> sort) {
-
- PagedResult<GroupTO> res;
- do {
- res = getService(GroupService.class).
- search(new AnyQuery.Builder().realm(realm).fiql(fiql).page(page).size(size).
- orderBy(toOrderBy(sort)).details(false).build());
- } while (page == -1 && size == -1 && res.getNext() != null);
-
- return res;
+ return getService(GroupService.class).
+ search(new AnyQuery.Builder().realm(realm).fiql(fiql).page(page).size(size).
+ orderBy(toOrderBy(sort)).details(false).build()).getResult();
}
public void bulkMembersAction(final String key, final BulkMembersActionType actionType) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/d420c398/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
index 2c28a23..d22a270 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Groups.java
@@ -36,6 +36,7 @@ import org.apache.syncope.client.console.wicket.ajax.markup.html.LabelInfo;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.common.lib.EntityTOUtils;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.search.GroupFiqlSearchConditionBuilder;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.DynRealmTO;
@@ -312,7 +313,7 @@ public class Groups extends WizardStep implements ICondition {
private void reloadDynMemberships() {
GroupFiqlSearchConditionBuilder searchConditionBuilder = SyncopeClient.getGroupSearchConditionBuilder();
- ArrayList<CompleteCondition> conditions = new ArrayList<>();
+ List<CompleteCondition> conditions = new ArrayList<>();
for (MembershipTO membership : GroupableRelatableTO.class.cast(anyTO).getDynMemberships()) {
conditions.add(searchConditionBuilder.is("key").equalTo(membership.getGroupKey()).wrap());
}
@@ -320,7 +321,7 @@ public class Groups extends WizardStep implements ICondition {
Map<String, GroupTO> assignedGroups = new HashMap<>();
if (!conditions.isEmpty()) {
for (GroupTO group : groupRestClient.search(
- "/",
+ SyncopeConstants.ROOT_REALM,
searchConditionBuilder.or(conditions).query(),
-1,
-1,
@@ -347,7 +348,7 @@ public class Groups extends WizardStep implements ICondition {
if (Groups.this.templateMode) {
reload = realm == null;
- realm = "/";
+ realm = SyncopeConstants.ROOT_REALM;
} else {
reload = !Groups.this.anyTO.getRealm().equalsIgnoreCase(realm);
realm = Groups.this.anyTO.getRealm();