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 2016/06/17 08:24:32 UTC
syncope git commit: [SYNCOPE-862] Ensuring any types ordering on
console
Repository: syncope
Updated Branches:
refs/heads/master e5eed43a3 -> b1626cf0d
[SYNCOPE-862] Ensuring any types ordering on console
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/b1626cf0
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/b1626cf0
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/b1626cf0
Branch: refs/heads/master
Commit: b1626cf0d5b438c466ca2501b23153dc4fed6d4b
Parents: e5eed43
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Fri Jun 17 10:24:25 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Fri Jun 17 10:24:25 2016 +0200
----------------------------------------------------------------------
.../console/commons/AnyTypeComparator.java | 45 ++++++++++++++++++++
.../client/console/panels/AnyTypesPanel.java | 11 +++--
.../console/panels/MembersTogglePanel.java | 6 +--
.../syncope/client/console/panels/Realm.java | 30 ++-----------
.../client/console/rest/AnyTypeRestClient.java | 9 ++++
.../client/console/rest/SchemaRestClient.java | 2 +-
.../client/console/tasks/PushTaskFilters.java | 8 ++--
.../panels/GroupDirectoryPanel.properties | 2 +-
.../panels/GroupDirectoryPanel_it.properties | 2 +-
.../panels/GroupDirectoryPanel_pt_BR.properties | 2 +-
.../panels/GroupDirectoryPanel_ru.properties | 2 +-
.../syncope/fit/console/GroupsITCase.java | 2 +-
12 files changed, 75 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyTypeComparator.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyTypeComparator.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyTypeComparator.java
new file mode 100644
index 0000000..d19d205
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyTypeComparator.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.commons;
+
+import java.util.Comparator;
+import org.apache.commons.collections4.ComparatorUtils;
+import org.apache.syncope.common.lib.to.AnyTypeTO;
+import org.apache.syncope.common.lib.types.AnyTypeKind;
+
+public class AnyTypeComparator implements Comparator<AnyTypeTO> {
+
+ @Override
+ public int compare(final AnyTypeTO o1, final AnyTypeTO o2) {
+ if (o1.getKind() == AnyTypeKind.USER) {
+ return -1;
+ }
+ if (o2.getKind() == AnyTypeKind.USER) {
+ return 1;
+ }
+ if (o1.getKind() == AnyTypeKind.GROUP) {
+ return -1;
+ }
+ if (o2.getKind() == AnyTypeKind.GROUP) {
+ return 1;
+ }
+ return ComparatorUtils.<String>naturalComparator().compare(o1.getKey(), o2.getKey());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
index 2238ad7..38f9de0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
@@ -32,6 +32,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.commons.DirectoryDataProvider;
import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
import org.apache.syncope.client.console.panels.AnyTypesPanel.AnyTypeProvider;
+import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
@@ -56,6 +57,8 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide
private static final long serialVersionUID = 3905038169553185171L;
+ private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
+
public AnyTypesPanel(final String id, final PageReference pageRef) {
super(id, pageRef);
disableCheckBoxes();
@@ -75,10 +78,10 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide
public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
try {
if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) {
- SyncopeConsoleSession.get().getService(AnyTypeService.class).create(modelObject);
+ anyTypeRestClient.create(modelObject);
SyncopeConsoleSession.get().refreshAuth();
} else {
- SyncopeConsoleSession.get().getService(AnyTypeService.class).update(modelObject);
+ anyTypeRestClient.update(modelObject);
}
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
AnyTypesPanel.this.updateResultTable(target);
@@ -229,14 +232,14 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide
@Override
public Iterator<AnyTypeTO> iterator(final long first, final long count) {
- final List<AnyTypeTO> list = SyncopeConsoleSession.get().getService(AnyTypeService.class).list();
+ final List<AnyTypeTO> list = anyTypeRestClient.list();
Collections.sort(list, comparator);
return list.subList((int) first, (int) first + (int) count).iterator();
}
@Override
public long size() {
- return SyncopeConsoleSession.get().getService(AnyTypeService.class).list().size();
+ return anyTypeRestClient.list().size();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
index 1b8695c..bf44efa 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
@@ -56,16 +56,14 @@ public abstract class MembersTogglePanel extends TogglePanel<Serializable> {
@Override
protected List<String> load() {
- final List<String> res = new ArrayList<>();
- CollectionUtils.collect(
+ return CollectionUtils.collect(
CollectionUtils.select(new AnyTypeRestClient().list(), new Predicate<AnyTypeTO>() {
@Override
public boolean evaluate(final AnyTypeTO object) {
return object.getKind() != AnyTypeKind.GROUP;
}
- }), EntityTOUtils.<AnyTypeTO>keyTransformer(), res);
- return res;
+ }), EntityTOUtils.<AnyTypeTO>keyTransformer(), new ArrayList<String>());
}
};
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 4f55d2a..dd62ca8 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -21,11 +21,10 @@ package org.apache.syncope.client.console.panels;
import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections4.ComparatorUtils;
import org.apache.commons.lang3.tuple.Triple;
+import org.apache.syncope.client.console.commons.AnyTypeComparator;
import org.apache.syncope.client.console.layout.AnyObjectFormLayoutInfo;
import org.apache.syncope.client.console.layout.FormLayoutInfoUtils;
import org.apache.syncope.client.console.layout.GroupFormLayoutInfo;
@@ -35,7 +34,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.RealmTO;
-import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -125,8 +123,8 @@ public abstract class Realm extends Panel {
}
});
- final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo
- = FormLayoutInfoUtils.fetch(anyTypeTOs);
+ final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo =
+ FormLayoutInfoUtils.fetch(anyTypeTOs);
Collections.sort(anyTypeTOs, new AnyTypeComparator());
for (final AnyTypeTO anyTypeTO : anyTypeTOs) {
@@ -152,26 +150,4 @@ public abstract class Realm extends Panel {
protected abstract void onClickDelete(final AjaxRequestTarget target, final RealmTO realmTO);
- private static class AnyTypeComparator implements Comparator<AnyTypeTO> {
-
- @Override
- public int compare(final AnyTypeTO o1, final AnyTypeTO o2) {
- if (o1.getKind() == AnyTypeKind.USER) {
- return -1;
- }
- if (o2.getKind() == AnyTypeKind.USER) {
- return 1;
- }
-
- if (o1.getKind() == AnyTypeKind.GROUP) {
- return -1;
- }
- if (o2.getKind() == AnyTypeKind.GROUP) {
- return 1;
- }
-
- return ComparatorUtils.<String>naturalComparator().compare(o1.getKey(), o2.getKey());
- }
-
- }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java
index 06b45df..80b6104 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java
@@ -20,6 +20,7 @@ package org.apache.syncope.client.console.rest;
import java.util.Collections;
import java.util.List;
+import org.apache.syncope.client.console.commons.AnyTypeComparator;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.rest.api.service.AnyTypeService;
@@ -45,6 +46,7 @@ public class AnyTypeRestClient extends BaseRestClient {
try {
types = getService(AnyTypeService.class).list();
+ Collections.sort(types, new AnyTypeComparator());
} catch (SyncopeClientException e) {
LOG.error("While reading all any types", e);
}
@@ -52,4 +54,11 @@ public class AnyTypeRestClient extends BaseRestClient {
return types;
}
+ public void create(final AnyTypeTO anyTypeTO) {
+ getService(AnyTypeService.class).create(anyTypeTO);
+ }
+
+ public void update(final AnyTypeTO anyTypeTO) {
+ getService(AnyTypeService.class).update(anyTypeTO);
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
index d38091b..bbec17d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
@@ -56,7 +56,7 @@ public class SchemaRestClient extends BaseRestClient {
break;
default:
- for (AnyTypeTO anyTypeTO : getService(AnyTypeService.class).list()) {
+ for (AnyTypeTO anyTypeTO : new AnyTypeRestClient().list()) {
if (anyTypeTO.getKind() != AnyTypeKind.USER && anyTypeTO.getKind() != AnyTypeKind.GROUP) {
classes.addAll(anyTypeTO.getClasses());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
index 872ed21..dc8015f 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
@@ -41,8 +41,6 @@ public class PushTaskFilters extends WizardStep {
private static final long serialVersionUID = 855618618337931784L;
- private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
-
public PushTaskFilters(final PushTaskWrapper pushTaskWrapper) {
super();
@@ -52,7 +50,7 @@ public class PushTaskFilters extends WizardStep {
@Override
protected List<AnyTypeTO> load() {
- return anyTypeRestClient.list();
+ return new AnyTypeRestClient().list();
}
};
@@ -61,14 +59,14 @@ public class PushTaskFilters extends WizardStep {
// ------------------------
add(new ListView<AnyTypeTO>("filters", types) {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 9101744072914090143L;
@Override
protected void populateItem(final ListItem<AnyTypeTO> item) {
final String key = item.getModelObject().getKey();
item.add(new Accordion("filters", Collections.<ITab>singletonList(
new AbstractTab(new StringResourceModel(
- "filters", this, new Model<AnyTypeTO>(item.getModelObject()))) {
+ "filters", this, new Model<>(item.getModelObject()))) {
private static final long serialVersionUID = 1037272333056449378L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel.properties
index 13f6c3c..07164b4 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel.properties
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
any.edit=Edit ${anyTO.type} ${anyTO.name}
-group.members='${right}' members of group '${left.name}'
+group.members=${right} members of ${left.name}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_it.properties
index f851f3d..bd97397 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_it.properties
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
any.edit=Modifica ${anyTO.type} ${anyTO.name}
-group.members='${right}' membri del gruppo '${left.name}'
+group.members=Membri ${right} di '${left.name}'
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_pt_BR.properties
index dee981b..9fb316d 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_pt_BR.properties
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
any.edit=Alterar ${anyTO.type} ${anyTO.name}
-group.members='${right}' members of group '${left.name}'
+group.members=${right} members of ${left.name}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_ru.properties
index de2959b..0d6d2de 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/GroupDirectoryPanel_ru.properties
@@ -17,4 +17,4 @@
#
# any.edit=\u00d0\u0098\u00d0\u00b7\u00d0\u00bc\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u0082\u00d1\u008c ${anyTO.type} ${anyTO.key}
any.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c ${anyTO.type} ${anyTO.name}
-group.members='${right}' members of group '${left.name}'
+group.members=${right} members of ${left.name}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b1626cf0/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
index 0b6ff9c..6b43018 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
@@ -61,7 +61,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
formTester.submit("changeit");
wicketTester.assertModelValue("body:content:body:tabbedPanel:panel:searchResult:outerObjectsRepeater:5:outer:"
- + "dialog:header:header-label", "'USER' members of group 'artDirector' ");
+ + "dialog:header:header-label", "USER members of artDirector");
assertNotNull(findComponentByProp("username", "body:content:body:tabbedPanel:panel:searchResult:"
+ "outerObjectsRepeater:5:outer:form:content:searchResult:container:content:searchContainer:"