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 2017/07/18 10:22:49 UTC
[06/12] syncope git commit: [SYNCOPE-1164] Realm provisioning now
features complete mapping, as Anys
[SYNCOPE-1164] Realm provisioning now features complete mapping, as Anys
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/e21971bf
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/e21971bf
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/e21971bf
Branch: refs/heads/2_0_X
Commit: e21971bf5abb8c9724c464b4ae402ffa2ceb1981
Parents: d540e51
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jul 18 12:20:31 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jul 18 12:20:37 2017 +0200
----------------------------------------------------------------------
.../syncope/client/cli/commands/info/Info.java | 2 +-
.../resource/ResourceResultManager.java | 8 +-
.../client/console/bulk/BulkContent.java | 6 +-
.../console/commons/status/StatusBean.java | 31 +-
.../console/commons/status/StatusUtils.java | 38 +-
.../client/console/panels/ConnObjects.java | 9 +-
.../client/console/panels/ListViewPanel.java | 4 +-
.../panels/ProvisionAuxClassesPanel.java | 29 +-
.../console/rest/AbstractAnyRestClient.java | 5 -
.../client/console/rest/AnyTypeRestClient.java | 7 +
.../console/status/AnyStatusDirectoryPanel.java | 8 +-
.../console/status/ChangePasswordModal.java | 4 +-
.../status/ResourceStatusDirectoryPanel.java | 3 +-
.../console/status/ResourceStatusModal.java | 28 +-
.../html/form/ActionLinksTogglePanel.java | 2 +-
.../console/widgets/ItemTransformerWidget.java | 83 +++
.../console/widgets/JEXLTransformerWidget.java | 20 +-
.../widgets/MappingItemTransformerWidget.java | 83 ---
.../console/wizards/AbstractMappingPanel.java | 64 +-
.../client/console/wizards/any/StatusPanel.java | 8 +-
.../console/wizards/any/UserWizardBuilder.java | 2 +-
.../resources/ItemTransformersTogglePanel.java | 118 ++++
.../resources/JEXLTransformersTogglePanel.java | 8 +-
.../MappingItemTransformersTogglePanel.java | 121 ----
.../resources/ProvisionWizardBuilder.java | 102 +--
.../wizards/resources/ResourceMappingPanel.java | 75 ++-
.../wizards/resources/ResourceProvision.java | 151 +++++
.../resources/ResourceProvisionPanel.java | 247 ++-----
.../META-INF/resources/css/syncopeConsole.css | 6 +-
.../widgets/ItemTransformerWidget.properties | 18 +
.../widgets/ItemTransformerWidget_it.properties | 18 +
.../ItemTransformerWidget_pt_BR.properties | 18 +
.../widgets/ItemTransformerWidget_ru.properties | 19 +
.../MappingItemTransformerWidget.properties | 18 -
.../MappingItemTransformerWidget_it.properties | 18 -
...appingItemTransformerWidget_pt_BR.properties | 18 -
.../MappingItemTransformerWidget_ru.properties | 19 -
.../console/wizards/AbstractMappingPanel.html | 2 +-
.../resources/ItemTransformersTogglePanel.html | 32 +
.../ItemTransformersTogglePanel.properties | 19 +
.../ItemTransformersTogglePanel_it.properties | 19 +
...ItemTransformersTogglePanel_pt_BR.properties | 19 +
.../ItemTransformersTogglePanel_ru.properties | 20 +
.../MappingItemTransformersTogglePanel.html | 32 -
...appingItemTransformersTogglePanel.properties | 19 -
...ingItemTransformersTogglePanel_it.properties | 19 -
...ItemTransformersTogglePanel_pt_BR.properties | 19 -
...ingItemTransformersTogglePanel_ru.properties | 20 -
.../resources/ResourceProvisionPanel.html | 8 -
.../resources/ResourceProvisionPanel.properties | 5 -
.../ResourceProvisionPanel_it.properties | 5 -
.../ResourceProvisionPanel_pt_BR.properties | 5 -
.../ResourceProvisionPanel_ru.properties | 5 -
.../syncope/common/lib/info/PlatformInfo.java | 12 +-
.../syncope/common/lib/to/ItemContainerTO.java | 32 +
.../apache/syncope/common/lib/to/ItemTO.java | 163 +++++
.../syncope/common/lib/to/MappingItemTO.java | 163 -----
.../apache/syncope/common/lib/to/MappingTO.java | 28 +-
.../apache/syncope/common/lib/to/OrgUnitTO.java | 62 +-
.../syncope/core/logic/ResourceLogic.java | 66 +-
.../apache/syncope/core/logic/SyncopeLogic.java | 4 +-
.../init/ClassPathScanImplementationLookup.java | 12 +-
.../persistence/api/ImplementationLookup.java | 2 +-
.../core/persistence/api/dao/RealmDAO.java | 2 +
.../api/entity/LinkingMappingItem.java | 2 +-
.../persistence/api/entity/resource/Item.java | 60 ++
.../api/entity/resource/Mapping.java | 8 +-
.../api/entity/resource/MappingItem.java | 40 +-
.../api/entity/resource/OrgUnit.java | 12 +-
.../api/entity/resource/OrgUnitItem.java | 26 +
.../core/persistence/jpa/dao/JPARealmDAO.java | 11 +
.../jpa/entity/JPAEntityFactory.java | 4 +
.../jpa/entity/resource/AbstractItem.java | 176 +++++
.../jpa/entity/resource/JPAMapping.java | 4 +-
.../jpa/entity/resource/JPAMappingItem.java | 157 +----
.../jpa/entity/resource/JPAOrgUnit.java | 47 +-
.../jpa/entity/resource/JPAOrgUnitItem.java | 72 +++
.../entity/ExternalResourceValidator.java | 74 ++-
.../test/resources/domains/MasterContent.xml | 12 +-
.../core/provisioning/api/MappingManager.java | 32 +
.../provisioning/api/data/ItemTransformer.java | 60 ++
.../api/data/JEXLItemTransformer.java | 30 +
.../api/data/JEXLMappingItemTransformer.java | 30 -
.../api/data/MappingItemTransformer.java | 60 --
.../provisioning/api/pushpull/PullActions.java | 8 +-
.../provisioning/java/MappingManagerImpl.java | 173 ++++-
.../java/data/AbstractAnyDataBinder.java | 4 +-
.../java/data/DefaultItemTransformer.java | 47 ++
.../data/DefaultMappingItemTransformer.java | 54 --
.../java/data/JEXLItemTransformerImpl.java | 102 +++
.../data/JEXLMappingItemTransformerImpl.java | 99 ---
.../java/data/ResourceDataBinderImpl.java | 95 ++-
.../AbstractPropagationTaskExecutor.java | 47 +-
.../propagation/PropagationManagerImpl.java | 36 +-
.../pushpull/AbstractPullResultHandler.java | 38 +-
.../java/pushpull/DBPasswordPullActions.java | 5 +-
.../java/pushpull/DefaultPullActions.java | 5 +-
.../java/pushpull/LDAPPasswordPullActions.java | 5 +-
.../pushpull/PlainAttrsPullCorrelationRule.java | 6 +-
.../java/pushpull/PullJobDelegate.java | 15 +-
.../provisioning/java/pushpull/PullUtils.java | 65 +-
.../pushpull/RealmPullResultHandlerImpl.java | 638 +++++++++++--------
.../pushpull/RealmPushResultHandlerImpl.java | 62 +-
.../java/utils/ConnObjectUtils.java | 15 +-
.../provisioning/java/utils/MappingUtils.java | 211 +++---
.../java/ResourceDataBinderTest.java | 4 +-
.../console/wizards/SAML2IdPMappingPanel.java | 8 +-
.../console/wizards/SAML2IdPWizardBuilder.java | 12 +-
.../syncope/common/lib/to/SAML2IdPTO.java | 18 +-
.../syncope/core/logic/SAML2IdPLogic.java | 4 +-
.../apache/syncope/core/logic/SAML2SPLogic.java | 8 +-
.../syncope/core/logic/saml2/SAML2IdPCache.java | 4 +-
.../core/logic/saml2/SAML2IdPEntity.java | 10 +-
.../validation/entity/SAML2IdPValidator.java | 6 +-
.../java/data/SAML2IdPDataBinderImpl.java | 10 +-
.../core/reference/ITImplementationLookup.java | 8 +-
.../core/reference/PrefixItemTransformer.java | 66 ++
.../reference/PrefixMappingItemTransformer.java | 66 --
.../fit/core/reference/TestPullActions.java | 4 +-
.../syncope/fit/console/BulkActionITCase.java | 6 +-
.../syncope/fit/console/RealmsITCase.java | 28 +-
.../syncope/fit/console/TopologyITCase.java | 40 +-
.../syncope/fit/core/ConnectorITCase.java | 4 +-
.../apache/syncope/fit/core/GroupITCase.java | 6 +-
.../syncope/fit/core/MembershipITCase.java | 12 +-
.../syncope/fit/core/MigrationITCase.java | 34 +-
.../syncope/fit/core/MultitenancyITCase.java | 10 +-
.../syncope/fit/core/PropagationTaskITCase.java | 10 +-
.../apache/syncope/fit/core/PullTaskITCase.java | 19 +-
.../apache/syncope/fit/core/PushTaskITCase.java | 4 +-
.../apache/syncope/fit/core/RealmITCase.java | 52 +-
.../apache/syncope/fit/core/ResourceITCase.java | 60 +-
.../apache/syncope/fit/core/SAML2ITCase.java | 4 +-
.../syncope/fit/core/UserIssuesITCase.java | 12 +-
.../apache/syncope/fit/core/VirAttrITCase.java | 16 +-
135 files changed, 3047 insertions(+), 2357 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
----------------------------------------------------------------------
diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
index 369ee8e..7df6fb7 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/info/Info.java
@@ -131,7 +131,7 @@ public class Info {
public void mappingItemTransformers() {
try {
- infoResultManager.printMappingItemTransformers(platformInfo.getMappingItemTransformers());
+ infoResultManager.printMappingItemTransformers(platformInfo.getItemTransformers());
} catch (final Exception ex) {
LOG.error("Information error", ex);
infoResultManager.genericError(ex.getMessage());
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceResultManager.java
----------------------------------------------------------------------
diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceResultManager.java
index aefb7c1..7e57e01 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceResultManager.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceResultManager.java
@@ -21,7 +21,7 @@ package org.apache.syncope.client.cli.commands.resource;
import java.util.List;
import java.util.Map;
import org.apache.syncope.client.cli.commands.CommonsResultManager;
-import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.ItemTO;
import org.apache.syncope.common.lib.to.MappingTO;
import org.apache.syncope.common.lib.to.ProvisionTO;
import org.apache.syncope.common.lib.to.ResourceTO;
@@ -74,8 +74,8 @@ public class ResourceResultManager extends CommonsResultManager {
printMappingItem(mappingTO.getItems());
}
- private void printMappingItem(final List<MappingItemTO> mappingItemTOs) {
- for (final MappingItemTO mappingItemTO : mappingItemTOs) {
+ private void printMappingItem(final List<ItemTO> mappingItemTOs) {
+ for (final ItemTO mappingItemTO : mappingItemTOs) {
System.out.println(" mapping key: " + mappingItemTO.getKey());
System.out.println(" internal attribute name: " + mappingItemTO.getIntAttrName());
System.out.println(" external attribute name: " + mappingItemTO.getExtAttrName());
@@ -85,7 +85,7 @@ public class ResourceResultManager extends CommonsResultManager {
System.out.println(" JEXL pull transformer: "
+ mappingItemTO.getPullJEXLTransformer());
System.out.println(" transformers classes: "
- + mappingItemTO.getMappingItemTransformerClassNames());
+ + mappingItemTO.getTransformerClassNames());
System.out.println(" purpose: " + mappingItemTO.getPurpose());
System.out.println(" connector object key: " + mappingItemTO.isConnObjectKey());
System.out.println(" password: " + mappingItemTO.isPassword());
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java b/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
index 2a46141..de3ceb7 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
@@ -171,11 +171,11 @@ public class BulkContent<T extends Serializable, S> extends MultilevelPanel.Seco
for (T bean : items) {
final StatusBean sb = StatusBean.class.cast(bean);
final List<StatusBean> sblist;
- if (beans.containsKey(sb.getAnyKey())) {
- sblist = beans.get(sb.getAnyKey());
+ if (beans.containsKey(sb.getKey())) {
+ sblist = beans.get(sb.getKey());
} else {
sblist = new ArrayList<>();
- beans.put(sb.getAnyKey(), sblist);
+ beans.put(sb.getKey(), sblist);
}
sblist.add(sb);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusBean.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusBean.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusBean.java
index a34425a..c8bba79 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusBean.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusBean.java
@@ -25,17 +25,18 @@ import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.GroupTO;
+import org.apache.syncope.common.lib.to.RealmTO;
import org.apache.syncope.common.lib.to.UserTO;
public class StatusBean implements Serializable {
private static final long serialVersionUID = -5207260204921071129L;
- private final String anyKey;
+ private final String key;
- private final String anyName;
+ private final String name;
- private final String resourceName;
+ private final String resource;
private String connObjectLink;
@@ -44,11 +45,17 @@ public class StatusBean implements Serializable {
private boolean linked = true;
public StatusBean(final AnyTO any, final String resourceName) {
- this.anyKey = any.getKey();
- this.anyName = any instanceof UserTO
+ this.key = any.getKey();
+ this.name = any instanceof UserTO
? ((UserTO) any).getUsername()
: any instanceof GroupTO ? ((GroupTO) any).getName() : String.valueOf(any.getKey());
- this.resourceName = resourceName;
+ this.resource = resourceName;
+ }
+
+ public StatusBean(final RealmTO realm, final String resourceName) {
+ this.key = realm.getKey();
+ this.name = realm.getFullPath();
+ this.resource = resourceName;
}
public String getConnObjectLink() {
@@ -59,8 +66,8 @@ public class StatusBean implements Serializable {
this.connObjectLink = connObjectLink;
}
- public String getResourceName() {
- return resourceName;
+ public String getResource() {
+ return resource;
}
public Status getStatus() {
@@ -71,12 +78,12 @@ public class StatusBean implements Serializable {
this.status = status;
}
- public String getAnyKey() {
- return anyKey;
+ public String getKey() {
+ return key;
}
- public String getAnyName() {
- return anyName;
+ public String getName() {
+ return name;
}
public boolean isLinked() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
index 6da9246..8a9aa09 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
@@ -32,6 +32,7 @@ import org.apache.syncope.common.lib.patch.StatusPatch;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.ConnObjectTO;
+import org.apache.syncope.common.lib.to.RealmTO;
import org.apache.syncope.common.lib.types.PropagationTaskExecStatus;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.basic.Label;
@@ -88,7 +89,7 @@ public class StatusUtils implements Serializable {
final AnyTO anyTO,
final String resourceName,
final ConnObjectTO objectTO,
- final boolean isGroup) {
+ final boolean notUser) {
final StatusBean statusBean = new StatusBean(anyTO, resourceName);
@@ -96,7 +97,32 @@ public class StatusUtils implements Serializable {
final Boolean enabled = isEnabled(objectTO);
final Status status = enabled == null
- ? (isGroup ? Status.ACTIVE : Status.UNDEFINED)
+ ? (notUser ? Status.ACTIVE : Status.UNDEFINED)
+ : enabled
+ ? Status.ACTIVE
+ : Status.SUSPENDED;
+
+ String connObjectLink = getConnObjectLink(objectTO);
+
+ statusBean.setStatus(status);
+ statusBean.setConnObjectLink(connObjectLink);
+ }
+
+ return statusBean;
+ }
+
+ public StatusBean getStatusBean(
+ final RealmTO anyTO,
+ final String resourceName,
+ final ConnObjectTO objectTO) {
+
+ final StatusBean statusBean = new StatusBean(anyTO, resourceName);
+
+ if (objectTO != null) {
+ final Boolean enabled = isEnabled(objectTO);
+
+ final Status status = enabled == null
+ ? Status.ACTIVE
: enabled
? Status.ACTIVE
: Status.SUSPENDED;
@@ -129,10 +155,10 @@ public class StatusUtils implements Serializable {
builder.value(password);
for (StatusBean status : statuses) {
- if (Constants.SYNCOPE.equalsIgnoreCase(status.getResourceName())) {
+ if (Constants.SYNCOPE.equalsIgnoreCase(status.getResource())) {
builder.onSyncope(true);
} else {
- builder.resource(status.getResourceName());
+ builder.resource(status.getResource());
}
}
return builder.build();
@@ -150,10 +176,10 @@ public class StatusUtils implements Serializable {
if (enable == null
|| (enable && !status.getStatus().isActive()) || (!enable && status.getStatus().isActive())) {
- if ("syncope".equalsIgnoreCase(status.getResourceName())) {
+ if ("syncope".equalsIgnoreCase(status.getResource())) {
statusPatch.setOnSyncope(true);
} else {
- statusPatch.getResources().add(status.getResourceName());
+ statusPatch.getResources().add(status.getResource());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjects.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjects.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjects.java
index 595ff5a..d29ce1a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjects.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjects.java
@@ -19,10 +19,12 @@
package org.apache.syncope.client.console.panels;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
import org.apache.syncope.common.lib.SyncopeConstants;
@@ -48,16 +50,17 @@ public class ConnObjects extends Panel implements ModalPanel {
public ConnObjects(final ResourceTO resource, final PageReference pageRef) {
super(BaseModal.CONTENT_ID);
- List<String> availableAnyTypes = CollectionUtils.collect(resource.getProvisions(),
- new Transformer<ProvisionTO, String>() {
+ List<String> availableAnyTypes = CollectionUtils.collect(
+ resource.getProvisions(), new Transformer<ProvisionTO, String>() {
@Override
public String transform(final ProvisionTO provision) {
return provision.getAnyType();
}
}, new ArrayList<String>());
+ Collections.sort(availableAnyTypes, new AnyTypeRestClient.AnyTypeKeyComparator());
if (resource.getOrgUnit() != null) {
- availableAnyTypes.add(SyncopeConstants.REALM_ANYTYPE);
+ availableAnyTypes.add(0, SyncopeConstants.REALM_ANYTYPE);
}
anyTypes = new AjaxDropDownChoicePanel<>("anyTypes", "anyTypes", new Model<String>());
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
index 16c4b77..e028cc3 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
@@ -241,7 +241,7 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
super(pageRef);
this.reference = reference;
this.items = null;
- this.actions = new ActionsPanel<T>("actions", null);
+ this.actions = new ActionsPanel<>("actions", null);
}
public Builder<T> setModel(final IModel<? extends Collection<T>> model) {
@@ -376,7 +376,7 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
return new ListViewPanel<T>(
id, items, reference, includes, actions, check, reuseItem, wizardInModal, model) {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = -1715389337530657988L;
@Override
protected Component getValueComponent(final String key, final T bean) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/panels/ProvisionAuxClassesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ProvisionAuxClassesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ProvisionAuxClassesPanel.java
index 3e7116c..574939a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ProvisionAuxClassesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ProvisionAuxClassesPanel.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.panels;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
import org.apache.syncope.client.console.rest.AnyTypeRestClient;
@@ -27,6 +28,7 @@ import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.ProvisionTO;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.util.ListModel;
@@ -47,16 +49,27 @@ public class ProvisionAuxClassesPanel extends Panel {
protected void onBeforeRender() {
super.onBeforeRender();
- AnyTypeTO anyType = new AnyTypeRestClient().read(provisionTO.getAnyType());
- List<String> choices = new ArrayList<>();
- for (AnyTypeClassTO aux : new AnyTypeClassRestClient().list()) {
- if (!anyType.getClasses().contains(aux.getKey())) {
- choices.add(aux.getKey());
+ IModel<List<String>> model;
+ List<String> choices;
+ if (provisionTO == null) {
+ model = new ListModel<>(Collections.<String>emptyList());
+ choices = Collections.emptyList();
+ } else {
+ model = new PropertyModel<>(provisionTO, "auxClasses");
+
+ AnyTypeTO anyType = new AnyTypeRestClient().read(provisionTO.getAnyType());
+ choices = new ArrayList<>();
+ for (AnyTypeClassTO aux : new AnyTypeClassRestClient().list()) {
+ if (!anyType.getClasses().contains(aux.getKey())) {
+ choices.add(aux.getKey());
+ }
}
}
- addOrReplace(new AjaxPalettePanel.Builder<String>().build("auxClasses",
- new PropertyModel<List<String>>(provisionTO, "auxClasses"),
- new ListModel<>(choices)).hideLabel().setOutputMarkupId(true));
+ addOrReplace(
+ new AjaxPalettePanel.Builder<String>().build("auxClasses", model, new ListModel<>(choices)).
+ hideLabel().
+ setOutputMarkupId(true).
+ setEnabled(provisionTO != null));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
index 9d7d1d7..1386e62 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
@@ -28,7 +28,6 @@ import org.apache.syncope.common.lib.patch.AssociationPatch;
import org.apache.syncope.common.lib.patch.DeassociationPatch;
import org.apache.syncope.common.lib.patch.StatusPatch;
import org.apache.syncope.common.lib.to.AnyTO;
-import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.to.ProvisioningResult;
import org.apache.syncope.common.lib.types.ResourceAssociationAction;
@@ -188,8 +187,4 @@ public abstract class AbstractAnyRestClient<TO extends AnyTO, P extends AnyPatch
}
return result;
}
-
- public BulkActionResult bulkAction(final BulkAction action) {
- return getService(getAnyServiceClass()).bulk(action).readEntity(BulkActionResult.class);
- }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/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 86d27c1..fc1e004 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
@@ -24,6 +24,7 @@ import java.util.Comparator;
import java.util.List;
import org.apache.commons.collections4.ComparatorUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
+import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.rest.api.service.AnyTypeService;
@@ -103,6 +104,12 @@ public class AnyTypeRestClient extends BaseRestClient {
@Override
public int compare(final String o1, final String o2) {
+ if (SyncopeConstants.REALM_ANYTYPE.equals(o1)) {
+ return -1;
+ }
+ if (SyncopeConstants.REALM_ANYTYPE.equals(o2)) {
+ return 1;
+ }
if (AnyTypeKind.USER.name().equals(o1)) {
return -1;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
index 992f3fb..6fcc84b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
@@ -121,7 +121,7 @@ public class AnyStatusDirectoryPanel
final String componentId,
final IModel<StatusBean> model) {
- cellItem.add(new Label(componentId, model.getObject().getResourceName()) {
+ cellItem.add(new Label(componentId, model.getObject().getResource()) {
private static final long serialVersionUID = 8432079838783825801L;
@@ -171,14 +171,14 @@ public class AnyStatusDirectoryPanel
@Override
protected boolean statusCondition(final StatusBean bean) {
return bean != null && bean.getConnObjectLink() != null
- && !bean.getResourceName().equalsIgnoreCase(Constants.SYNCOPE);
+ && !bean.getResource().equalsIgnoreCase(Constants.SYNCOPE);
}
@Override
public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
- multiLevelPanelRef.next(bean.getResourceName(),
+ multiLevelPanelRef.next(bean.getResource(),
new ConnObjectDetails(resourceRestClient.readConnObject(
- bean.getResourceName(), anyTO.getType(), anyTO.getKey())), target);
+ bean.getResource(), anyTO.getType(), anyTO.getKey())), target);
target.add(multiLevelPanelRef);
AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java b/client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java
index dff996f..336f4d1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java
@@ -80,10 +80,10 @@ public class ChangePasswordModal extends AbstractModalPanel<AnyWrapper<UserTO>>
final List<String> resources = new ArrayList<String>();
boolean isOnSyncope = false;
for (StatusBean sb : statusModel.getObject()) {
- if (sb.getResourceName().equals(Constants.SYNCOPE)) {
+ if (sb.getResource().equals(Constants.SYNCOPE)) {
isOnSyncope = true;
} else {
- resources.add(sb.getResourceName());
+ resources.add(sb.getResource());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
index 93a0ffa..2844a74 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
@@ -36,6 +36,7 @@ import org.apache.syncope.client.console.rest.GroupRestClient;
import org.apache.syncope.client.console.rest.UserRestClient;
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.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -145,7 +146,7 @@ public class ResourceStatusDirectoryPanel
@Override
protected ResourceStatusDataProvider dataProvider() {
- return new ResourceStatusDataProvider(type, resourceTO.getKey(), rows, "/");
+ return new ResourceStatusDataProvider(type, resourceTO.getKey(), rows, SyncopeConstants.ROOT_REALM);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusModal.java b/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusModal.java
index 1a379a9..960bd12 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusModal.java
@@ -18,7 +18,11 @@
*/
package org.apache.syncope.client.console.status;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Transformer;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.commons.DirectoryDataProvider;
import org.apache.syncope.client.console.commons.status.StatusBean;
@@ -28,11 +32,12 @@ import org.apache.syncope.client.console.rest.AbstractAnyRestClient;
import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.common.lib.to.ProvisionTO;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
public class ResourceStatusModal extends StatusModal<ResourceTO> {
@@ -44,23 +49,26 @@ public class ResourceStatusModal extends StatusModal<ResourceTO> {
public ResourceStatusModal(
final BaseModal<?> baseModal,
final PageReference pageReference,
- final ResourceTO resourceTO) {
+ final ResourceTO resource) {
- super(baseModal, pageReference, resourceTO, null, false);
+ super(baseModal, pageReference, resource, null, false);
- final LoadableDetachableModel<List<String>> types = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
+ List<String> availableAnyTypes = CollectionUtils.collect(
+ resource.getProvisions(), new Transformer<ProvisionTO, String>() {
@Override
- protected List<String> load() {
- return new AnyTypeRestClient().list();
+ public String transform(final ProvisionTO provision) {
+ return provision.getAnyType();
}
- };
+ }, new ArrayList<String>());
+ Collections.sort(availableAnyTypes, new AnyTypeRestClient.AnyTypeKeyComparator());
+ if (resource.getOrgUnit() != null) {
+ availableAnyTypes.add(0, SyncopeConstants.REALM_ANYTYPE);
+ }
AjaxDropDownChoicePanel<String> anyTypes =
new AjaxDropDownChoicePanel<>("anyTypes", "anyTypes", typeModel, false);
- anyTypes.setChoices(types);
+ anyTypes.setChoices(availableAnyTypes);
anyTypes.hideLabel();
add(anyTypes);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
index 78c175a..fb8ab83 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
@@ -99,7 +99,7 @@ public class ActionLinksTogglePanel<T extends Serializable> extends TogglePanel<
} else if (modelObject instanceof EntityTO) {
header = ((EntityTO) modelObject).getKey();
} else if (modelObject instanceof StatusBean) {
- header = ((StatusBean) modelObject).getResourceName();
+ header = ((StatusBean) modelObject).getResource();
} else if (modelObject instanceof PolicyRuleWrapper) {
header = ((PolicyRuleWrapper) modelObject).getName();
} else if (modelObject instanceof PolicyRuleWrapper) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
new file mode 100644
index 0000000..9aa4142
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
@@ -0,0 +1,83 @@
+/*
+ * 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.widgets;
+
+import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import java.util.List;
+import org.apache.syncope.client.console.wizards.resources.ItemTransformersTogglePanel;
+import org.apache.syncope.common.lib.to.ItemTO;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.link.AbstractLink;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class ItemTransformerWidget extends AlertWidget<String> {
+
+ private static final long serialVersionUID = 7667120094526529934L;
+
+ private final ItemTO item;
+
+ private final ItemTransformersTogglePanel transformers;
+
+ public ItemTransformerWidget(
+ final String id,
+ final ItemTO item,
+ final ItemTransformersTogglePanel transformers) {
+
+ super(id);
+ this.item = item;
+ this.transformers = transformers;
+ setOutputMarkupId(true);
+ }
+
+ @Override
+ protected IModel<List<String>> getLatestAlerts() {
+ return new ListModel<String>() {
+
+ private static final long serialVersionUID = 1232998477036705088L;
+
+ @Override
+ public List<String> getObject() {
+ return item.getTransformerClassNames();
+ }
+ };
+ }
+
+ @Override
+ protected AbstractLink getEventsLink(final String linkid) {
+ return new AjaxLink<String>(linkid) {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ transformers.setItem(target, ItemTransformerWidget.this.item);
+ transformers.toggle(target, true);
+ }
+ };
+ }
+
+ @Override
+ protected Icon getIcon(final String iconid) {
+ return new Icon(
+ iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.magic).build());
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
index a4dec3d..6c4dd7b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
@@ -24,7 +24,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.wizards.resources.JEXLTransformersTogglePanel;
-import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.ItemTO;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.link.AbstractLink;
@@ -35,21 +35,21 @@ public class JEXLTransformerWidget extends AlertWidget<String> {
private static final long serialVersionUID = 7667120094526529934L;
- private final MappingItemTO mapItem;
+ private final ItemTO item;
private final JEXLTransformersTogglePanel transformers;
public JEXLTransformerWidget(
final String id,
- final MappingItemTO mapItem,
+ final ItemTO item,
final JEXLTransformersTogglePanel transformers) {
super(id);
setOutputMarkupId(true);
- this.mapItem = mapItem;
+ this.item = item;
this.transformers = transformers;
-
+
this.latestAlertsList.setVisible(false);
}
@@ -62,11 +62,11 @@ public class JEXLTransformerWidget extends AlertWidget<String> {
@Override
public List<String> getObject() {
List<String> result = new ArrayList<>();
- if (StringUtils.isNotBlank(mapItem.getPropagationJEXLTransformer())) {
- result.add(mapItem.getPropagationJEXLTransformer());
+ if (StringUtils.isNotBlank(item.getPropagationJEXLTransformer())) {
+ result.add(item.getPropagationJEXLTransformer());
}
- if (StringUtils.isNotBlank(mapItem.getPullJEXLTransformer())) {
- result.add(mapItem.getPullJEXLTransformer());
+ if (StringUtils.isNotBlank(item.getPullJEXLTransformer())) {
+ result.add(item.getPullJEXLTransformer());
}
return result;
}
@@ -81,7 +81,7 @@ public class JEXLTransformerWidget extends AlertWidget<String> {
@Override
public void onClick(final AjaxRequestTarget target) {
- transformers.setMappingItem(target, JEXLTransformerWidget.this.mapItem);
+ transformers.setItem(target, JEXLTransformerWidget.this.item);
transformers.toggle(target, true);
}
};
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
deleted file mode 100644
index 6e363dd..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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.widgets;
-
-import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
-import java.util.List;
-import org.apache.syncope.client.console.wizards.resources.MappingItemTransformersTogglePanel;
-import org.apache.syncope.common.lib.to.MappingItemTO;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.markup.html.link.AbstractLink;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.util.ListModel;
-
-public class MappingItemTransformerWidget extends AlertWidget<String> {
-
- private static final long serialVersionUID = 7667120094526529934L;
-
- private final MappingItemTO mapItem;
-
- private final MappingItemTransformersTogglePanel transformers;
-
- public MappingItemTransformerWidget(
- final String id,
- final MappingItemTO mapItem,
- final MappingItemTransformersTogglePanel transformers) {
-
- super(id);
- this.mapItem = mapItem;
- this.transformers = transformers;
- setOutputMarkupId(true);
- }
-
- @Override
- protected IModel<List<String>> getLatestAlerts() {
- return new ListModel<String>() {
-
- private static final long serialVersionUID = 1232998477036705088L;
-
- @Override
- public List<String> getObject() {
- return mapItem.getMappingItemTransformerClassNames();
- }
- };
- }
-
- @Override
- protected AbstractLink getEventsLink(final String linkid) {
- return new AjaxLink<String>(linkid) {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target) {
- transformers.setMappingItem(target, MappingItemTransformerWidget.this.mapItem);
- transformers.toggle(target, true);
- }
- };
- }
-
- @Override
- protected Icon getIcon(final String iconid) {
- return new Icon(
- iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.magic).build());
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java
index 6872cde..5532f86 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java
@@ -44,12 +44,12 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPan
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MappingPurposePanel;
import org.apache.syncope.client.console.widgets.JEXLTransformerWidget;
-import org.apache.syncope.client.console.widgets.MappingItemTransformerWidget;
+import org.apache.syncope.client.console.widgets.ItemTransformerWidget;
import org.apache.syncope.client.console.wizards.resources.JEXLTransformersTogglePanel;
-import org.apache.syncope.client.console.wizards.resources.MappingItemTransformersTogglePanel;
+import org.apache.syncope.client.console.wizards.resources.ItemTransformersTogglePanel;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.GroupTO;
-import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.ItemTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.types.MappingPurpose;
import org.apache.syncope.common.lib.types.StandardEntitlement;
@@ -120,20 +120,18 @@ public abstract class AbstractMappingPanel extends Panel {
/**
* All mappings.
*/
- protected final ListView<MappingItemTO> mappings;
+ protected final ListView<ItemTO> mappings;
/**
* Mapping container.
*/
protected final WebMarkupContainer mappingContainer;
- protected final IModel<List<MappingItemTO>> model;
-
public AbstractMappingPanel(
final String id,
- final MappingItemTransformersTogglePanel mapItemTransformers,
+ final ItemTransformersTogglePanel itemTransformers,
final JEXLTransformersTogglePanel jexlTransformers,
- final IModel<List<MappingItemTO>> model,
+ final IModel<List<ItemTO>> model,
final boolean addMappingBtnVisible,
final boolean hidePurpose,
final MappingPurpose defaultPurpose) {
@@ -141,8 +139,6 @@ public abstract class AbstractMappingPanel extends Panel {
super(id);
setOutputMarkupId(true);
- this.model = model;
-
mappingContainer = new WebMarkupContainer("mappingContainer");
mappingContainer.setOutputMarkupId(true);
add(mappingContainer);
@@ -173,10 +169,10 @@ public abstract class AbstractMappingPanel extends Panel {
mappingContainer.add(Constants.getJEXLPopover(this, TooltipConfig.Placement.bottom));
- Collections.sort(model.getObject(), new Comparator<MappingItemTO>() {
+ Collections.sort(model.getObject(), new Comparator<ItemTO>() {
@Override
- public int compare(final MappingItemTO left, final MappingItemTO right) {
+ public int compare(final ItemTO left, final ItemTO right) {
int compared;
if (left == null && right == null) {
compared = 0;
@@ -216,15 +212,15 @@ public abstract class AbstractMappingPanel extends Panel {
}
});
- mappings = new ListView<MappingItemTO>("mappings", model.getObject()) {
+ mappings = new ListView<ItemTO>("mappings", model) {
private static final long serialVersionUID = 4949588177564901031L;
@Override
- protected void populateItem(final ListItem<MappingItemTO> item) {
- final MappingItemTO mapItem = item.getModelObject();
- if (mapItem.getPurpose() == null) {
- mapItem.setPurpose(defaultPurpose);
+ protected void populateItem(final ListItem<ItemTO> item) {
+ final ItemTO itemTO = item.getModelObject();
+ if (itemTO.getPurpose() == null) {
+ itemTO.setPurpose(defaultPurpose);
}
//--------------------------------
@@ -233,7 +229,7 @@ public abstract class AbstractMappingPanel extends Panel {
AjaxTextFieldPanel intAttrName = new AjaxTextFieldPanel(
"intAttrName",
getString("intAttrName"),
- new PropertyModel<String>(mapItem, "intAttrName"),
+ new PropertyModel<String>(itemTO, "intAttrName"),
false);
intAttrName.setChoices(Collections.<String>emptyList());
intAttrName.setRequired(true).hideLabel();
@@ -246,10 +242,10 @@ public abstract class AbstractMappingPanel extends Panel {
final AjaxTextFieldPanel extAttrName = new AjaxTextFieldPanel(
"extAttrName",
getString("extAttrName"),
- new PropertyModel<String>(mapItem, "extAttrName"));
+ new PropertyModel<String>(itemTO, "extAttrName"));
extAttrName.setChoices(getExtAttrNames().getObject());
- boolean required = !mapItem.isPassword();
+ boolean required = !itemTO.isPassword();
extAttrName.setRequired(required).hideLabel();
extAttrName.setEnabled(required);
item.add(extAttrName);
@@ -259,14 +255,14 @@ public abstract class AbstractMappingPanel extends Panel {
// JEXL transformers
// -------------------------------
item.add(new JEXLTransformerWidget(
- "jexlTransformers", mapItem, jexlTransformers).setRenderBodyOnly(true));
+ "jexlTransformers", itemTO, jexlTransformers).setRenderBodyOnly(true));
// -------------------------------
//--------------------------------
// Mapping item transformers
// -------------------------------
- item.add(new MappingItemTransformerWidget(
- "mappingItemTransformers", mapItem, mapItemTransformers).setRenderBodyOnly(true));
+ item.add(new ItemTransformerWidget(
+ "itemTransformers", itemTO, itemTransformers).setRenderBodyOnly(true));
// -------------------------------
//--------------------------------
@@ -275,10 +271,10 @@ public abstract class AbstractMappingPanel extends Panel {
final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel(
"mandatoryCondition",
new ResourceModel("mandatoryCondition", "mandatoryCondition").getObject(),
- new PropertyModel<String>(mapItem, "mandatoryCondition"));
+ new PropertyModel<String>(itemTO, "mandatoryCondition"));
mandatory.hideLabel();
mandatory.setChoices(Arrays.asList(new String[] { "true", "false" }));
- mandatory.setEnabled(!mapItem.isConnObjectKey());
+ mandatory.setEnabled(!itemTO.isConnObjectKey());
item.add(mandatory);
// -------------------------------
@@ -288,7 +284,7 @@ public abstract class AbstractMappingPanel extends Panel {
final AjaxCheckBoxPanel connObjectKey = new AjaxCheckBoxPanel(
"connObjectKey",
new ResourceModel("connObjectKey", "connObjectKey").getObject(),
- new PropertyModel<Boolean>(mapItem, "connObjectKey"), false);
+ new PropertyModel<Boolean>(itemTO, "connObjectKey"), false);
connObjectKey.hideLabel();
item.add(connObjectKey);
// -------------------------------
@@ -299,7 +295,7 @@ public abstract class AbstractMappingPanel extends Panel {
final AjaxCheckBoxPanel password = new AjaxCheckBoxPanel(
"password",
new ResourceModel("password", "password").getObject(),
- new PropertyModel<Boolean>(mapItem, "password"), false);
+ new PropertyModel<Boolean>(itemTO, "password"), false);
item.add(password.hideLabel());
// -------------------------------
@@ -310,7 +306,7 @@ public abstract class AbstractMappingPanel extends Panel {
purpose.setOutputMarkupId(true);
final MappingPurposePanel purposeActions = new MappingPurposePanel(
- "purposeActions", new PropertyModel<MappingPurpose>(mapItem, "purpose"), purpose);
+ "purposeActions", new PropertyModel<MappingPurpose>(itemTO, "purpose"), purpose);
purpose.add(purposeActions.setRenderBodyOnly(true));
item.add(purpose);
// -------------------------------
@@ -327,7 +323,7 @@ public abstract class AbstractMappingPanel extends Panel {
public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
int index = -1;
for (int i = 0; i < model.getObject().size() && index == -1; i++) {
- if (mapItem.equals(model.getObject().get(i))) {
+ if (itemTO.equals(model.getObject().get(i))) {
index = i;
}
}
@@ -358,11 +354,11 @@ public abstract class AbstractMappingPanel extends Panel {
@Override
protected void onUpdate(final AjaxRequestTarget target) {
if (connObjectKey.getModelObject()) {
- mapItem.setMandatoryCondition("true");
+ itemTO.setMandatoryCondition("true");
mandatory.setModelObject("true");
mandatory.setEnabled(false);
} else {
- mapItem.setMandatoryCondition("false");
+ itemTO.setMandatoryCondition("false");
mandatory.setModelObject("false");
mandatory.setEnabled(true);
}
@@ -395,11 +391,11 @@ public abstract class AbstractMappingPanel extends Panel {
// Changes required by clone ....
extAttrName.setEnabled(true);
- if (mapItem.isPassword()) {
+ if (itemTO.isPassword()) {
// re-enable if and only if cloned object mapping item was a password
intAttrName.setEnabled(true);
}
- mapItem.setPassword(false);
+ itemTO.setPassword(false);
}
if (hidePurpose) {
@@ -417,7 +413,7 @@ public abstract class AbstractMappingPanel extends Panel {
@Override
protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- model.getObject().add(new MappingItemTO());
+ model.getObject().add(new ItemTO());
target.add(AbstractMappingPanel.this);
}
};
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java
index 4ce8868..565c985 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java
@@ -121,7 +121,7 @@ public class StatusPanel extends Panel {
}
statusBeans.add(syncope);
- initialStatusBeanMap.put(syncope.getResourceName(), syncope);
+ initialStatusBeanMap.put(syncope.getResource(), syncope);
for (Pair<ConnObjectTO, ConnObjectWrapper> pair : connObjects) {
ConnObjectWrapper entry = pair.getRight();
@@ -164,14 +164,14 @@ public class StatusPanel extends Panel {
@Override
protected boolean statusCondition(final StatusBean bean) {
final Pair<ConnObjectTO, ConnObjectTO> pair
- = getConnObjectTO(bean.getAnyKey(), bean.getResourceName(), connObjects);
+ = getConnObjectTO(bean.getKey(), bean.getResource(), connObjects);
return pair != null && pair.getRight() != null;
}
@Override
public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
- mlp.next(bean.getResourceName(), new RemoteAnyPanel(bean, connObjects), target);
+ mlp.next(bean.getResource(), new RemoteAnyPanel(bean, connObjects), target);
}
};
@@ -225,7 +225,7 @@ public class StatusPanel extends Panel {
@Override
protected final Pair<ConnObjectTO, ConnObjectTO> getConnObjectTO() {
- return StatusPanel.this.getConnObjectTO(bean.getAnyKey(), bean.getResourceName(), connObjects);
+ return StatusPanel.this.getConnObjectTO(bean.getKey(), bean.getResource(), connObjects);
}
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWizardBuilder.java
index 6cf6023..44be252 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWizardBuilder.java
@@ -39,7 +39,7 @@ public class UserWizardBuilder extends AnyWizardBuilder<UserTO> implements UserF
private final UserRestClient userRestClient = new UserRestClient();
/**
- * Costructor to be used for templating only.
+ * Constructor to be used for templating only.
*
* @param anyTypeClasses any type classes.
* @param formLayoutInfo form layout.
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ItemTransformersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ItemTransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ItemTransformersTogglePanel.java
new file mode 100644
index 0000000..6e37955
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ItemTransformersTogglePanel.java
@@ -0,0 +1,118 @@
+/*
+ * 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.wizards.resources;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
+import org.apache.syncope.client.console.panels.TogglePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
+import org.apache.syncope.common.lib.to.ItemTO;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class ItemTransformersTogglePanel extends TogglePanel<Serializable> {
+
+ private static final long serialVersionUID = -3195479265440591519L;
+
+ private ItemTO item;
+
+ public ItemTransformersTogglePanel(final WebMarkupContainer container, final PageReference pageRef) {
+ super("outer", "itemTransformersTogglePanel", pageRef);
+
+ final LoadableDetachableModel<List<String>> model = new LoadableDetachableModel<List<String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected List<String> load() {
+ // [!] this is required to disable changed with close button
+ return item == null
+ ? Collections.<String>emptyList()
+ : new ArrayList<>(item.getTransformerClassNames());
+ }
+ };
+
+ Form<?> form = new Form<>("form");
+ addInnerObject(form);
+
+ form.add(new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setRenderer(new IChoiceRenderer<String>() {
+
+ private static final long serialVersionUID = 3464376099975468136L;
+
+ private static final int MAX_LENGTH = 50;
+
+ @Override
+ public Object getDisplayValue(final String object) {
+ if (object.length() > MAX_LENGTH) {
+ return "..." + object.substring(object.length() - MAX_LENGTH);
+ } else {
+ return object;
+ }
+ }
+
+ @Override
+ public String getIdValue(final String object, final int index) {
+ return object;
+ }
+
+ @Override
+ public String getObject(final String id, final IModel<? extends List<? extends String>> choices) {
+ return id;
+ }
+ }).build(
+ "classes",
+ model,
+ new ListModel<>(new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getItemTransformers()))).
+ hideLabel().setEnabled(true).setOutputMarkupId(true));
+
+ form.add(new AjaxSubmitLink("submit", form) {
+
+ private static final long serialVersionUID = 5538299138211283825L;
+
+ @Override
+ public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ toggle(target, false);
+
+ // [!] this is required to disable changed with close button
+ item.getTransformerClassNames().clear();
+ item.getTransformerClassNames().addAll(model.getObject());
+
+ target.add(container);
+ }
+
+ });
+ }
+
+ public ItemTransformersTogglePanel setItem(final AjaxRequestTarget target, final ItemTO item) {
+ this.item = item;
+ setHeader(target, StringUtils.EMPTY);
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
index 759b708..da3847b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.panels.TogglePanel;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.ItemTO;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
@@ -69,9 +69,9 @@ public class JEXLTransformersTogglePanel extends TogglePanel<Serializable> {
});
}
- public JEXLTransformersTogglePanel setMappingItem(final AjaxRequestTarget target, final MappingItemTO mapItem) {
- this.propagationJEXLTransformer.setNewModel(new PropertyModel<String>(mapItem, "propagationJEXLTransformer"));
- this.pullJEXLTransformer.setNewModel(new PropertyModel<String>(mapItem, "pullJEXLTransformer"));
+ public JEXLTransformersTogglePanel setItem(final AjaxRequestTarget target, final ItemTO item) {
+ this.propagationJEXLTransformer.setNewModel(new PropertyModel<String>(item, "propagationJEXLTransformer"));
+ this.pullJEXLTransformer.setNewModel(new PropertyModel<String>(item, "pullJEXLTransformer"));
setHeader(target, StringUtils.EMPTY);
return this;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e21971bf/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/MappingItemTransformersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/MappingItemTransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/MappingItemTransformersTogglePanel.java
deleted file mode 100644
index 3298d20..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/MappingItemTransformersTogglePanel.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * 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.wizards.resources;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.SyncopeConsoleSession;
-import org.apache.syncope.client.console.panels.TogglePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
-import org.apache.syncope.common.lib.to.MappingItemTO;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.IChoiceRenderer;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.util.ListModel;
-
-public class MappingItemTransformersTogglePanel extends TogglePanel<Serializable> {
-
- private static final long serialVersionUID = -3195479265440591519L;
-
- private MappingItemTO mapItem;
-
- public MappingItemTransformersTogglePanel(final WebMarkupContainer container, final PageReference pageRef) {
- super("outer", "mappingItemTransformersTogglePanel", pageRef);
-
- final LoadableDetachableModel<List<String>> model = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- // [!] this is required to disable changed with close button
- return mapItem == null
- ? Collections.<String>emptyList()
- : new ArrayList<>(mapItem.getMappingItemTransformerClassNames());
- }
- };
-
- Form<?> form = new Form<>("form");
- addInnerObject(form);
-
- form.add(new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setRenderer(new IChoiceRenderer<String>() {
-
- private static final long serialVersionUID = 3464376099975468136L;
-
- private static final int MAX_LENGTH = 50;
-
- @Override
- public Object getDisplayValue(final String object) {
- if (object.length() > MAX_LENGTH) {
- return "..." + object.substring(object.length() - MAX_LENGTH);
- } else {
- return object;
- }
- }
-
- @Override
- public String getIdValue(final String object, final int index) {
- return object;
- }
-
- @Override
- public String getObject(final String id, final IModel<? extends List<? extends String>> choices) {
- return id;
- }
- }).build(
- "classes",
- model,
- new ListModel<>(
- new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getMappingItemTransformers()))).
- hideLabel().setEnabled(true).setOutputMarkupId(true));
-
- form.add(new AjaxSubmitLink("submit", form) {
-
- private static final long serialVersionUID = 5538299138211283825L;
-
- @Override
- public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- toggle(target, false);
-
- // [!] this is required to disable changed with close button
- mapItem.getMappingItemTransformerClassNames().clear();
- mapItem.getMappingItemTransformerClassNames().addAll(model.getObject());
-
- target.add(container);
- }
-
- });
- }
-
- public MappingItemTransformersTogglePanel setMappingItem(
- final AjaxRequestTarget target, final MappingItemTO mapItem) {
-
- this.mapItem = mapItem;
- setHeader(target, StringUtils.EMPTY);
- return this;
- }
-}