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());