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:"