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/04/27 11:16:33 UTC

[2/3] syncope git commit: [SYNCOPE-156] Fixing appearance of key columns when no pref cookie is set yet

[SYNCOPE-156] Fixing appearance of key columns when no pref cookie is set yet


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/baf62abc
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/baf62abc
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/baf62abc

Branch: refs/heads/master
Commit: baf62abcfb636590d1b6a535e109eaa13c53dd9f
Parents: 8b98a33
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Apr 27 10:24:43 2016 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Apr 27 10:24:43 2016 +0200

----------------------------------------------------------------------
 .../console/panels/AnyDirectoryPanel.java       | 47 ++++++++++++++++----
 .../console/panels/AnyObjectDirectoryPanel.java | 16 +------
 .../console/panels/GroupDirectoryPanel.java     | 17 +------
 .../console/panels/UserDirectoryPanel.java      | 25 +----------
 4 files changed, 44 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/baf62abc/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index 62ef279..ff834f6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -20,8 +20,10 @@ package org.apache.syncope.client.console.panels;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import java.io.Serializable;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.tuple.Pair;
@@ -31,6 +33,10 @@ import org.apache.syncope.client.console.commons.status.ConnObjectWrapper;
 import org.apache.syncope.client.console.commons.status.StatusBean;
 import org.apache.syncope.client.console.rest.AbstractAnyRestClient;
 import org.apache.syncope.client.console.rest.SchemaRestClient;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.TokenColumn;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wizards.any.AnyHandler;
@@ -42,11 +48,14 @@ import org.apache.syncope.common.lib.to.PropagationStatus;
 import org.apache.syncope.common.lib.to.ProvisioningResult;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.ListModel;
 
-public abstract class AnyDirectoryPanel<T extends AnyTO>
-        extends DirectoryPanel<T, AnyHandler<T>, AnyDataProvider<T>, AbstractAnyRestClient<T>> {
+public abstract class AnyDirectoryPanel<A extends AnyTO>
+        extends DirectoryPanel<A, AnyHandler<A>, AnyDataProvider<A>, AbstractAnyRestClient<A>> {
 
     private static final long serialVersionUID = -1100228004207271270L;
 
@@ -73,7 +82,7 @@ public abstract class AnyDirectoryPanel<T extends AnyTO>
 
     protected final BaseModal<Serializable> utilityModal = new BaseModal<>("outer");
 
-    protected AnyDirectoryPanel(final String id, final Builder<T> builder) {
+    protected AnyDirectoryPanel(final String id, final Builder<A> builder) {
         super(id, builder);
         this.realm = builder.realm;
         this.type = builder.type;
@@ -98,9 +107,29 @@ public abstract class AnyDirectoryPanel<T extends AnyTO>
         initResultTable();
     }
 
+    protected void addPropertyColumn(
+            final String name,
+            final Field field,
+            final List<IColumn<A, String>> columns) {
+
+        if ("key".equalsIgnoreCase(name)) {
+            columns.add(new KeyPropertyColumn<A>(new ResourceModel(name, name), name, name));
+        } else if ("token".equalsIgnoreCase(name)) {
+            columns.add(new TokenColumn<A>(new ResourceModel(name, name), name));
+        } else if (field != null
+                && (field.getType().equals(Boolean.class) || field.getType().equals(boolean.class))) {
+
+            columns.add(new BooleanPropertyColumn<A>(new ResourceModel(name, name), name, name));
+        } else if (field != null && field.getType().equals(Date.class)) {
+            columns.add(new DatePropertyColumn<A>(new ResourceModel(name, name), name, name));
+        } else {
+            columns.add(new PropertyColumn<A, String>(new ResourceModel(name, name), name, name));
+        }
+    }
+
     @Override
-    protected AnyDataProvider<T> dataProvider() {
-        final AnyDataProvider<T> dp = new AnyDataProvider<>(restClient, rows, filtered, realm, type);
+    protected AnyDataProvider<A> dataProvider() {
+        final AnyDataProvider<A> dp = new AnyDataProvider<>(restClient, rows, filtered, realm, type);
         return dp.setFIQL(this.fiql);
     }
 
@@ -168,17 +197,17 @@ public abstract class AnyDirectoryPanel<T extends AnyTO>
 
     @Override
     @SuppressWarnings("unchecked")
-    protected Panel customResultBody(final String panelId, final AnyHandler<T> item, final Serializable result) {
+    protected Panel customResultBody(final String panelId, final AnyHandler<A> item, final Serializable result) {
         if (!(result instanceof ProvisioningResult)) {
             throw new IllegalStateException("Unsupported result type");
         }
 
         return new StatusPanel(
                 panelId,
-                ((ProvisioningResult<T>) result).getAny(),
+                ((ProvisioningResult<A>) result).getAny(),
                 new ListModel<>(new ArrayList<StatusBean>()),
                 CollectionUtils.collect(
-                        ((ProvisioningResult<T>) result).getPropagationStatuses(),
+                        ((ProvisioningResult<A>) result).getPropagationStatuses(),
                         new SerializableTransformer<PropagationStatus, Pair<ConnObjectTO, ConnObjectWrapper>>() {
 
                     private static final long serialVersionUID = -4931455531906427515L;
@@ -187,7 +216,7 @@ public abstract class AnyDirectoryPanel<T extends AnyTO>
                     public Pair<ConnObjectTO, ConnObjectWrapper> transform(final PropagationStatus input) {
                         ConnObjectTO before = input.getBeforeObj();
                         ConnObjectWrapper afterObjWrapper = new ConnObjectWrapper(
-                                ((ProvisioningResult<T>) result).getAny(),
+                                ((ProvisioningResult<A>) result).getAny(),
                                 input.getResource(),
                                 input.getAfterObj());
                         return Pair.of(before, afterObjWrapper);

http://git-wip-us.apache.org/repos/asf/syncope/blob/baf62abc/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
index 6721e1a..1e5c161 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
@@ -19,10 +19,8 @@
 package org.apache.syncope.client.console.panels;
 
 import java.io.Serializable;
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,7 +32,6 @@ import org.apache.syncope.client.console.status.StatusModal;
 import org.apache.syncope.client.console.tasks.AnyPropagationTasks;
 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.AttrColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
@@ -52,7 +49,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -80,15 +76,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
         for (String name : prefMan.getList(
                 getRequest(), String.format(Constants.PREF_ANY_OBJECT_DETAILS_VIEW, type))) {
 
-            final Field field = ReflectionUtils.findField(AnyObjectTO.class, name);
-
-            if ("key".equalsIgnoreCase(name)) {
-                columns.add(new KeyPropertyColumn<AnyObjectTO>(new ResourceModel(name, name), name, name));
-            } else if (field != null && field.getType().equals(Date.class)) {
-                columns.add(new PropertyColumn<AnyObjectTO, String>(new ResourceModel(name, name), name, name));
-            } else {
-                columns.add(new PropertyColumn<AnyObjectTO, String>(new ResourceModel(name, name), name, name));
-            }
+            addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), columns);
         }
 
         for (String name : prefMan.getList(
@@ -110,7 +98,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
         // Add defaults in case of no selection
         if (columns.isEmpty()) {
             for (String name : AnyObjectDisplayAttributesModalPanel.DEFAULT_SELECTION) {
-                columns.add(new PropertyColumn<AnyObjectTO, String>(new ResourceModel(name, name), name, name));
+                addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), columns);
             }
 
             prefMan.setList(getRequest(), getResponse(),

http://git-wip-us.apache.org/repos/asf/syncope/blob/baf62abc/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 71cd7de..52587ed 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
@@ -19,10 +19,8 @@
 package org.apache.syncope.client.console.panels;
 
 import java.io.Serializable;
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,8 +32,6 @@ import org.apache.syncope.client.console.status.StatusModal;
 import org.apache.syncope.client.console.tasks.AnyPropagationTasks;
 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.AttrColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
@@ -53,7 +49,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -79,15 +74,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
         final List<IColumn<GroupTO, String>> columns = new ArrayList<>();
 
         for (String name : prefMan.getList(getRequest(), Constants.PREF_GROUP_DETAILS_VIEW)) {
-            final Field field = ReflectionUtils.findField(GroupTO.class, name);
-
-            if ("key".equalsIgnoreCase(name)) {
-                columns.add(new KeyPropertyColumn<GroupTO>(new ResourceModel(name, name), name, name));
-            } else if (field != null && field.getType().equals(Date.class)) {
-                columns.add(new DatePropertyColumn<GroupTO>(new ResourceModel(name, name), name, name));
-            } else {
-                columns.add(new PropertyColumn<GroupTO, String>(new ResourceModel(name, name), name, name));
-            }
+            addPropertyColumn(name, ReflectionUtils.findField(GroupTO.class, name), columns);
         }
 
         for (String name : prefMan.getList(getRequest(), Constants.PREF_GROUP_PLAIN_ATTRS_VIEW)) {
@@ -105,7 +92,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
         // Add defaults in case of no selection
         if (columns.isEmpty()) {
             for (String name : GroupDisplayAttributesModalPanel.DEFAULT_SELECTION) {
-                columns.add(new PropertyColumn<GroupTO, String>(new ResourceModel(name, name), name, name));
+                addPropertyColumn(name, ReflectionUtils.findField(GroupTO.class, name), columns);
             }
 
             prefMan.setList(getRequest(), getResponse(), Constants.PREF_GROUP_DETAILS_VIEW,

http://git-wip-us.apache.org/repos/asf/syncope/blob/baf62abc/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
index e3e9424..e5f8583 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
@@ -19,11 +19,9 @@
 package org.apache.syncope.client.console.panels;
 
 import java.io.Serializable;
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Date;
 import java.util.List;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -35,10 +33,6 @@ import org.apache.syncope.client.console.status.StatusModal;
 import org.apache.syncope.client.console.tasks.AnyPropagationTasks;
 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.AttrColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.TokenColumn;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
@@ -55,7 +49,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -93,21 +86,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
         final List<IColumn<UserTO, String>> columns = new ArrayList<>();
 
         for (String name : prefMan.getList(getRequest(), Constants.PREF_USERS_DETAILS_VIEW)) {
-            final Field field = ReflectionUtils.findField(UserTO.class, name);
-
-            if ("key".equalsIgnoreCase(name)) {
-                columns.add(new KeyPropertyColumn<UserTO>(new ResourceModel(name, name), name, name));
-            } else if ("token".equalsIgnoreCase(name)) {
-                columns.add(new TokenColumn<UserTO>(new ResourceModel(name, name), name));
-            } else if (field != null
-                    && (field.getType().equals(Boolean.class) || field.getType().equals(boolean.class))) {
-
-                columns.add(new BooleanPropertyColumn<UserTO>(new ResourceModel(name, name), name, name));
-            } else if (field != null && field.getType().equals(Date.class)) {
-                columns.add(new DatePropertyColumn<UserTO>(new ResourceModel(name, name), name, name));
-            } else {
-                columns.add(new PropertyColumn<UserTO, String>(new ResourceModel(name, name), name, name));
-            }
+            addPropertyColumn(name, ReflectionUtils.findField(UserTO.class, name), columns);
         }
 
         for (String name : prefMan.getList(getRequest(), Constants.PREF_USERS_PLAIN_ATTRS_VIEW)) {
@@ -125,7 +104,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
         // Add defaults in case of no selection
         if (columns.isEmpty()) {
             for (String name : UserDisplayAttributesModalPanel.DEFAULT_SELECTION) {
-                columns.add(new PropertyColumn<UserTO, String>(new ResourceModel(name, name), name, name));
+                addPropertyColumn(name, ReflectionUtils.findField(UserTO.class, name), columns);
             }
 
             prefMan.setList(getRequest(), getResponse(), Constants.PREF_USERS_DETAILS_VIEW,