You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by ma...@apache.org on 2016/01/28 18:02:31 UTC

syncope git commit: Parameters order and boolean management, #SYNCOPE-156

Repository: syncope
Updated Branches:
  refs/heads/master cb4059fab -> bc4976f5a


Parameters order and boolean management, #SYNCOPE-156


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

Branch: refs/heads/master
Commit: bc4976f5a6fcf88cec9804f7e20aaf9c30655755
Parents: cb4059f
Author: Massimiliano Perrone <ma...@tirasa.net>
Authored: Thu Jan 28 17:59:03 2016 +0100
Committer: Massimiliano Perrone <ma...@tirasa.net>
Committed: Thu Jan 28 18:00:31 2016 +0100

----------------------------------------------------------------------
 .../panels/ParametersCreateWizardAttrStep.java  | 35 +++++++++++++++++--
 .../console/panels/ParametersDetailsPanel.java  | 36 ++++++++++++++++++--
 .../client/console/panels/ParametersPanel.java  | 11 ++++--
 .../client/console/wizards/any/PlainAttrs.java  |  1 -
 4 files changed, 74 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/bc4976f5/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java
index 4ddb9a7..f33276c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java
@@ -94,6 +94,34 @@ public class ParametersCreateWizardAttrStep extends WizardStep {
                 panel = new AjaxDateFieldPanel(
                         id, valueHeaderName, new Model<Date>(), plainSchemaTO.getConversionPattern());
                 break;
+            case Boolean:
+                panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false);
+                ((AjaxDropDownChoicePanel<String>) panel).setChoices(Arrays.asList("true", "false"));
+
+                if (!attrTO.getValues().isEmpty()) {
+                    ((AjaxDropDownChoicePanel) panel).setChoiceRenderer(new IChoiceRenderer<String>() {
+
+                        private static final long serialVersionUID = -3724971416312135885L;
+
+                        @Override
+                        public String getDisplayValue(final String value) {
+                            return value;
+                        }
+
+                        @Override
+                        public String getIdValue(final String value, final int i) {
+                            return value;
+                        }
+
+                        @Override
+                        public String getObject(
+                                final String id, final IModel<? extends List<? extends String>> choices) {
+                            return id;
+                        }
+                    });
+                }
+                ((AjaxDropDownChoicePanel<String>) panel).setNullValid(false);
+                break;
             case Enum:
                 panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false);
                 ((AjaxDropDownChoicePanel<String>) panel).setChoices(SchemaUtils.getEnumeratedValues(plainSchemaTO));
@@ -120,6 +148,8 @@ public class ParametersCreateWizardAttrStep extends WizardStep {
                         }
                     });
                 }
+                ((AjaxDropDownChoicePanel<String>) panel).setNullValid(
+                        "true".equalsIgnoreCase(plainSchemaTO.getMandatoryCondition()));
                 break;
 
             case Long:
@@ -139,9 +169,8 @@ public class ParametersCreateWizardAttrStep extends WizardStep {
         } else {
             panel.setNewModel(attrTO.getValues());
         }
-        if (plainSchemaTO.getMandatoryCondition().equalsIgnoreCase("true")) {
-            panel.setRequired(true);
-        }
+
+        panel.setRequired("true".equalsIgnoreCase(plainSchemaTO.getMandatoryCondition()));
         return panel;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/bc4976f5/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java
index eae63bc..8e6662d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.client.console.panels;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
@@ -80,6 +81,34 @@ public class ParametersDetailsPanel extends Panel {
                 panel = new AjaxDateFieldPanel(
                         id, valueHeaderName, new Model<Date>(), schemaTO.getConversionPattern());
                 break;
+            case Boolean:
+                panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false);
+                ((AjaxDropDownChoicePanel<String>) panel).setChoices(Arrays.asList("true", "false"));
+
+                if (!attrTO.getValues().isEmpty()) {
+                    ((AjaxDropDownChoicePanel) panel).setChoiceRenderer(new IChoiceRenderer<String>() {
+
+                        private static final long serialVersionUID = -3724971416312135885L;
+
+                        @Override
+                        public String getDisplayValue(final String value) {
+                            return value;
+                        }
+
+                        @Override
+                        public String getIdValue(final String value, final int i) {
+                            return value;
+                        }
+
+                        @Override
+                        public String getObject(
+                                final String id, final IModel<? extends List<? extends String>> choices) {
+                            return id;
+                        }
+                    });
+                }
+                ((AjaxDropDownChoicePanel<String>) panel).setNullValid(false);
+                break;
             case Enum:
                 panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false);
                 ((AjaxDropDownChoicePanel<String>) panel).setChoices(SchemaUtils.getEnumeratedValues(schemaTO));
@@ -106,6 +135,8 @@ public class ParametersDetailsPanel extends Panel {
                         }
                     });
                 }
+                ((AjaxDropDownChoicePanel<String>) panel).setNullValid(
+                        "false".equalsIgnoreCase(schemaTO.getMandatoryCondition()));
                 break;
 
             case Long:
@@ -125,9 +156,8 @@ public class ParametersDetailsPanel extends Panel {
         } else {
             panel.setNewModel(attrTO.getValues());
         }
-        if (schemaTO.getMandatoryCondition().equalsIgnoreCase("true")) {
-            panel.setRequired(true);
-        }
+
+        panel.setRequired("true".equalsIgnoreCase(schemaTO.getMandatoryCondition()));
         return panel;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/bc4976f5/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java
index 803f478..d5e1ec3 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java
@@ -31,6 +31,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.commons.SearchableDataProvider;
+import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.ParametersPanel.ParametersProvider;
 import org.apache.syncope.client.console.rest.BaseRestClient;
@@ -47,6 +48,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.WindowClosedCallback;
 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -210,8 +212,8 @@ public class ParametersPanel extends AbstractSearchResultPanel<
 
                 final AttrTO attrTO = model.getObject();
 
-                final ActionLinksPanel.Builder<Serializable> actionLinks =
-                        ActionLinksPanel.builder(page.getPageReference());
+                final ActionLinksPanel.Builder<Serializable> actionLinks = ActionLinksPanel.builder(page.
+                        getPageReference());
                 actionLinks.setDisableIndicator(true);
                 ActionLinksPanel.Builder<Serializable> addWithRoles = actionLinks
                         .addWithRoles(new ActionLink<Serializable>() {
@@ -261,13 +263,18 @@ public class ParametersPanel extends AbstractSearchResultPanel<
 
         private static final long serialVersionUID = -185944053385660794L;
 
+        private final SortableDataProviderComparator<AttrTO> comparator;
+
         private ParametersProvider(final int paginatorRows) {
             super(paginatorRows);
+            setSort("schema", SortOrder.DESCENDING);
+            comparator = new SortableDataProviderComparator<>(this);
         }
 
         @Override
         public Iterator<AttrTO> iterator(final long first, final long count) {
             final List<AttrTO> list = SyncopeConsoleSession.get().getService(ConfigurationService.class).list();
+            Collections.sort(list, comparator);
             return list.subList((int) first, (int) first + (int) count).iterator();
         }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/bc4976f5/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 0088163..0f8ade9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -199,7 +199,6 @@ public class PlainAttrs extends AbstractAttrs {
                 panel = new AjaxCheckBoxPanel("panel", schemaTO.getKey(), new Model<Boolean>(), false);
                 panel.setRequired(required);
                 break;
-
             case Date:
                 panel = new AjaxDateFieldPanel(
                         "panel", schemaTO.getKey(), new Model<Date>(), schemaTO.getConversionPattern());