You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/04/27 14:26:23 UTC
syncope git commit: [SYNCOPE-737] storePasswordInSyncope management
added
Repository: syncope
Updated Branches:
refs/heads/master 826065f06 -> b0417d7c3
[SYNCOPE-737] storePasswordInSyncope management added
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/b0417d7c
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/b0417d7c
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/b0417d7c
Branch: refs/heads/master
Commit: b0417d7c3d45f2e0e2752ac4acb26af42f0e6b31
Parents: 826065f
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Apr 27 14:25:53 2016 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Apr 27 14:25:53 2016 +0200
----------------------------------------------------------------------
.../syncope/client/console/layout/AnyForm.java | 4 +-
.../NotificationWizardBuilder.java | 2 -
.../console/panels/AnyDirectoryPanel.java | 8 +-
.../console/panels/AnyObjectDirectoryPanel.java | 12 +--
.../console/panels/GroupDirectoryPanel.java | 22 ++---
.../console/panels/UserDirectoryPanel.java | 25 +++--
.../AnyObjectSelectionDirectoryPanel.java | 4 +-
.../search/GroupSelectionDirectoryPanel.java | 4 +-
.../search/UserSelectionDirectoryPanel.java | 4 +-
.../client/console/status/StatusModal.java | 6 +-
.../client/console/wizards/any/AnyHandler.java | 38 --------
.../wizards/any/AnyObjectWizardBuilder.java | 2 +-
.../console/wizards/any/AnyWizardBuilder.java | 18 ++--
.../client/console/wizards/any/AnyWrapper.java | 38 ++++++++
.../client/console/wizards/any/Details.java | 4 +-
.../console/wizards/any/DynamicMemberships.java | 2 +-
.../console/wizards/any/GroupDetails.java | 6 +-
.../console/wizards/any/GroupHandler.java | 99 --------------------
.../console/wizards/any/GroupWizardBuilder.java | 18 ++--
.../console/wizards/any/GroupWrapper.java | 99 ++++++++++++++++++++
.../client/console/wizards/any/Ownership.java | 18 ++--
.../console/wizards/any/PasswordPanel.java | 35 ++++---
.../console/wizards/any/Relationships.java | 2 +-
.../client/console/wizards/any/UserDetails.java | 23 ++---
.../console/wizards/any/UserWizardBuilder.java | 18 ++--
.../client/console/wizards/any/UserWrapper.java | 41 ++++++++
.../console/wizards/any/PasswordPanel.html | 3 +
.../console/wizards/any/UserDetails.properties | 1 +
.../wizards/any/UserDetails_it.properties | 1 +
.../wizards/any/UserDetails_pt_BR.properties | 1 +
.../wizards/any/UserDetails_ru.properties | 9 +-
31 files changed, 310 insertions(+), 257 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/layout/AnyForm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/layout/AnyForm.java b/client/console/src/main/java/org/apache/syncope/client/console/layout/AnyForm.java
index fc02efe..dac4b83 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/layout/AnyForm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/layout/AnyForm.java
@@ -19,9 +19,9 @@
package org.apache.syncope.client.console.layout;
import org.apache.syncope.client.console.wizards.ModalPanelBuilder;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.to.AnyTO;
-public interface AnyForm<A extends AnyTO> extends ModalPanelBuilder<AnyHandler<A>> {
+public interface AnyForm<A extends AnyTO> extends ModalPanelBuilder<AnyWrapper<A>> {
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
index a38dd99..fba971e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
@@ -164,7 +164,6 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationHan
final AjaxDropDownChoicePanel<String> template = new AjaxDropDownChoicePanel<>(
"template", getString("template"),
new PropertyModel<String>(notificationTO, "template"));
-
template.setChoices(CollectionUtils.collect(
restClient.getAllAvailableTemplates(), new Transformer<MailTemplateTO, String>() {
@@ -186,7 +185,6 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationHan
final AjaxCheckBoxPanel isActive = new AjaxCheckBoxPanel("isActive",
getString("isActive"), new PropertyModel<Boolean>(notificationTO, "active"));
-
if (createFlag) {
isActive.getField().setDefaultModelObject(Boolean.TRUE);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index ff834f6..ef263fa 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -39,7 +39,7 @@ import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.TokenColumn;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.client.console.wizards.any.StatusPanel;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
@@ -55,7 +55,7 @@ import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.model.util.ListModel;
public abstract class AnyDirectoryPanel<A extends AnyTO>
- extends DirectoryPanel<A, AnyHandler<A>, AnyDataProvider<A>, AbstractAnyRestClient<A>> {
+ extends DirectoryPanel<A, AnyWrapper<A>, AnyDataProvider<A>, AbstractAnyRestClient<A>> {
private static final long serialVersionUID = -1100228004207271270L;
@@ -156,7 +156,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO>
}
public abstract static class Builder<T extends AnyTO>
- extends DirectoryPanel.Builder<T, AnyHandler<T>, AbstractAnyRestClient<T>>
+ extends DirectoryPanel.Builder<T, AnyWrapper<T>, AbstractAnyRestClient<T>>
implements AnyDirectoryPanelBuilder {
private static final long serialVersionUID = -6828423611982275640L;
@@ -197,7 +197,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO>
@Override
@SuppressWarnings("unchecked")
- protected Panel customResultBody(final String panelId, final AnyHandler<A> item, final Serializable result) {
+ protected Panel customResultBody(final String panelId, final AnyWrapper<A> item, final Serializable result) {
if (!(result instanceof ProvisioningResult)) {
throw new IllegalStateException("Unsupported result type");
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
index 1e5c161..67eb2e2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
@@ -37,7 +37,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.Acti
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
@@ -122,7 +122,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
@Override
public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- final IModel<AnyHandler<AnyObjectTO>> formModel = new CompoundPropertyModel<>(new AnyHandler<>(
+ final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>(new AnyWrapper<>(
model.getObject()));
altDefaultModal.setFormModel(formModel);
@@ -130,7 +130,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
altDefaultModal, pageRef, formModel.getObject().getInnerObject(), false)));
altDefaultModal.header(new Model<>(
- getString("any.edit", new Model<>(new AnyHandler<>(model.getObject())))));
+ getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
altDefaultModal.show(true);
}
@@ -142,7 +142,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
new AjaxWizard.EditItemActionEvent<>(
- new AnyHandler<>(new AnyObjectRestClient().read(model.getObject().getKey())),
+ new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())),
target));
}
}, ActionType.EDIT, AnyEntitlement.READ.getFor(type)).add(new ActionLink<AnyObjectTO>() {
@@ -154,7 +154,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
final AnyObjectTO clone = SerializationUtils.clone(model.getObject());
clone.setKey(null);
send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.NewItemActionEvent<>(new AnyHandler<>(clone), target));
+ new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target));
}
}, ActionType.CLONE, AnyEntitlement.CREATE.getFor(type)).add(new ActionLink<AnyObjectTO>() {
@@ -250,7 +250,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO> {
}
@Override
- protected WizardMgtPanel<AnyHandler<AnyObjectTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<AnyObjectTO>> newInstance(final String id) {
return new AnyObjectDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
index 52587ed..017925c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
@@ -37,8 +37,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.Acti
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
-import org.apache.syncope.client.console.wizards.any.GroupHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
+import org.apache.syncope.client.console.wizards.any.GroupWrapper;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.GroupTO;
@@ -115,15 +115,15 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
@Override
public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
- final IModel<AnyHandler<GroupTO>> formModel = new CompoundPropertyModel<>(new AnyHandler<>(
- model.getObject()));
+ IModel<AnyWrapper<GroupTO>> formModel = new CompoundPropertyModel<>(
+ new AnyWrapper<>(model.getObject()));
altDefaultModal.setFormModel(formModel);
target.add(altDefaultModal.setContent(new StatusModal<>(
altDefaultModal, pageRef, formModel.getObject().getInnerObject(), false)));
altDefaultModal.header(new Model<>(
- getString("any.edit", new Model<>(new AnyHandler<>(model.getObject())))));
+ getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
altDefaultModal.show(true);
}
@@ -134,9 +134,8 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
@Override
public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
send(GroupDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.EditItemActionEvent<>(
- new GroupHandler(new GroupRestClient().read(model.getObject().
- getKey())), target));
+ new AjaxWizard.EditItemActionEvent<>(new GroupWrapper(
+ new GroupRestClient().read(model.getObject().getKey())), target));
}
}, ActionType.EDIT, StandardEntitlement.GROUP_READ).add(new ActionLink<GroupTO>() {
@@ -147,7 +146,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
final GroupTO clone = SerializationUtils.clone(model.getObject());
clone.setKey(null);
send(GroupDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.NewItemActionEvent<>(new GroupHandler(clone), target));
+ new AjaxWizard.NewItemActionEvent<>(new GroupWrapper(clone), target));
}
}, ActionType.CLONE, StandardEntitlement.GROUP_CREATE).add(new ActionLink<GroupTO>() {
@@ -229,8 +228,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
return columns;
}
- public static class Builder extends AnyDirectoryPanel.Builder<GroupTO>
- implements AnyDirectoryPanelBuilder {
+ public static class Builder extends AnyDirectoryPanel.Builder<GroupTO> {
private static final long serialVersionUID = 3844281520756293159L;
@@ -240,7 +238,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO> {
}
@Override
- protected WizardMgtPanel<AnyHandler<GroupTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<GroupTO>> newInstance(final String id) {
return new GroupDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
index e5f8583..f918f05 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
@@ -38,7 +38,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.Acti
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
+import org.apache.syncope.client.console.wizards.any.UserWrapper;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.UserTO;
@@ -146,16 +147,15 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
@Override
public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
-
- final IModel<AnyHandler<UserTO>> formModel = new CompoundPropertyModel<>(new AnyHandler<>(model.
- getObject()));
+ IModel<AnyWrapper<UserTO>> formModel = new CompoundPropertyModel<>(
+ new AnyWrapper<>(model.getObject()));
altDefaultModal.setFormModel(formModel);
target.add(altDefaultModal.setContent(new StatusModal<>(
altDefaultModal, pageRef, formModel.getObject().getInnerObject(), false)));
altDefaultModal.header(new Model<>(
- getString("any.edit", new Model<>(new AnyHandler<>(model.getObject())))));
+ getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
altDefaultModal.show(true);
}
@@ -165,16 +165,15 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
@Override
public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
- final IModel<AnyHandler<UserTO>> formModel = new CompoundPropertyModel<>(
- new AnyHandler<>(model.
- getObject()));
+ IModel<AnyWrapper<UserTO>> formModel = new CompoundPropertyModel<>(
+ new AnyWrapper<>(model.getObject()));
altDefaultModal.setFormModel(formModel);
target.add(altDefaultModal.setContent(new StatusModal<>(
altDefaultModal, pageRef, formModel.getObject().getInnerObject(), true)));
altDefaultModal.header(new Model<>(
- getString("any.edit", new Model<>(new AnyHandler<>(model.getObject())))));
+ getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
altDefaultModal.show(true);
}
@@ -186,7 +185,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
send(UserDirectoryPanel.this, Broadcast.EXACT,
new AjaxWizard.EditItemActionEvent<>(
- new AnyHandler<>(new UserRestClient().read(model.getObject().getKey())),
+ new UserWrapper(new UserRestClient().read(model.getObject().getKey())),
target));
}
}, ActionType.EDIT, StandardEntitlement.USER_READ).add(new ActionLink<UserTO>() {
@@ -199,7 +198,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
clone.setKey(null);
clone.setUsername(model.getObject().getUsername() + "_clone");
send(UserDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.NewItemActionEvent<>(new AnyHandler<>(clone), target));
+ new AjaxWizard.NewItemActionEvent<>(new UserWrapper(clone), target));
}
}, ActionType.CLONE, StandardEntitlement.USER_CREATE).add(new ActionLink<UserTO>() {
@@ -283,7 +282,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
public static class Builder extends AnyDirectoryPanel.Builder<UserTO> {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = -6603152478702381900L;
public Builder(final List<AnyTypeClassTO> anyTypeClassTOs, final String type, final PageReference pageRef) {
super(anyTypeClassTOs, new UserRestClient(), type, pageRef);
@@ -291,7 +290,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO> {
}
@Override
- protected WizardMgtPanel<AnyHandler<UserTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<UserTO>> newInstance(final String id) {
return new UserDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSelectionDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSelectionDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSelectionDirectoryPanel.java
index 2bd34b7..57e0a32 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSelectionDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSelectionDirectoryPanel.java
@@ -23,7 +23,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.panels.AnyObjectDisplayAttributesModalPanel;
import org.apache.syncope.client.console.rest.AnyObjectRestClient;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.wicket.PageReference;
@@ -72,7 +72,7 @@ public final class AnyObjectSelectionDirectoryPanel extends AnySelectionDirector
}
@Override
- protected WizardMgtPanel<AnyHandler<AnyObjectTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<AnyObjectTO>> newInstance(final String id) {
return new AnyObjectSelectionDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSelectionDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSelectionDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSelectionDirectoryPanel.java
index 6e99769..d2e21bd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSelectionDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSelectionDirectoryPanel.java
@@ -23,7 +23,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.panels.GroupDisplayAttributesModalPanel;
import org.apache.syncope.client.console.rest.GroupRestClient;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.wicket.PageReference;
@@ -72,7 +72,7 @@ public final class GroupSelectionDirectoryPanel extends AnySelectionDirectoryPan
}
@Override
- protected WizardMgtPanel<AnyHandler<GroupTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<GroupTO>> newInstance(final String id) {
return new GroupSelectionDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSelectionDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSelectionDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSelectionDirectoryPanel.java
index 28e3565..6398e82 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSelectionDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSelectionDirectoryPanel.java
@@ -23,7 +23,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.panels.UserDisplayAttributesModalPanel;
import org.apache.syncope.client.console.rest.UserRestClient;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.wicket.PageReference;
@@ -72,7 +72,7 @@ public final class UserSelectionDirectoryPanel extends AnySelectionDirectoryPane
}
@Override
- protected WizardMgtPanel<AnyHandler<UserTO>> newInstance(final String id) {
+ protected WizardMgtPanel<AnyWrapper<UserTO>> newInstance(final String id) {
return new UserSelectionDirectoryPanel(id, this);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/status/StatusModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/StatusModal.java b/client/console/src/main/java/org/apache/syncope/client/console/status/StatusModal.java
index 374454f..d2cf748 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/StatusModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/StatusModal.java
@@ -21,14 +21,14 @@ package org.apache.syncope.client.console.status;
import org.apache.syncope.client.console.panels.ModalPanel;
import org.apache.syncope.client.console.panels.MultilevelPanel;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.client.console.wizards.any.AnyHandler;
+import org.apache.syncope.client.console.wizards.any.AnyWrapper;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
-public class StatusModal<T extends AnyTO> extends Panel implements ModalPanel<AnyHandler<T>> {
+public class StatusModal<T extends AnyTO> extends Panel implements ModalPanel<AnyWrapper<T>> {
private static final long serialVersionUID = 1066124171682570080L;
@@ -51,7 +51,7 @@ public class StatusModal<T extends AnyTO> extends Panel implements ModalPanel<An
}
@Override
- public AnyHandler<T> getItem() {
+ public AnyWrapper<T> getItem() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyHandler.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyHandler.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyHandler.java
deleted file mode 100644
index 4e1b13c..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyHandler.java
+++ /dev/null
@@ -1,38 +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.any;
-
-import java.io.Serializable;
-import org.apache.syncope.common.lib.to.AnyTO;
-
-public class AnyHandler<T extends AnyTO> implements Serializable {
-
- private static final long serialVersionUID = 8058288034211558375L;
-
- protected final T anyTO;
-
- public AnyHandler(final T anyTO) {
- this.anyTO = anyTO;
- }
-
- public T getInnerObject() {
- return anyTO;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyObjectWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyObjectWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyObjectWizardBuilder.java
index 8a50f86..f92bb31 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyObjectWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyObjectWizardBuilder.java
@@ -43,7 +43,7 @@ public class AnyObjectWizardBuilder extends AnyWizardBuilder<AnyObjectTO> implem
}
@Override
- protected Serializable onApplyInternal(final AnyHandler<AnyObjectTO> modelObject) {
+ protected Serializable onApplyInternal(final AnyWrapper<AnyObjectTO> modelObject) {
final AnyObjectTO inner = modelObject.getInnerObject();
ProvisioningResult<AnyObjectTO> actual;
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
index 624b3f2..c387cea 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
@@ -36,7 +36,7 @@ import org.apache.wicket.PageReference;
import org.apache.wicket.extensions.wizard.WizardModel;
import org.apache.wicket.model.util.ListModel;
-public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilder<AnyHandler<A>> {
+public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilder<AnyWrapper<A>> {
private static final long serialVersionUID = -2480279868319546243L;
@@ -60,7 +60,7 @@ public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilde
final AbstractAnyFormLayout<A, ? extends AnyForm<A>> formLayoutInfo,
final PageReference pageRef) {
- super(new AnyHandler<>(anyTO), pageRef);
+ super(new AnyWrapper<>(anyTO), pageRef);
this.anyTypeClasses = anyTypeClasses;
this.formLayoutInfo = formLayoutInfo;
}
@@ -68,24 +68,24 @@ public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilde
/**
* Construct.
*
- * @param handler any handler
+ * @param wrapper any wrapper
* @param anyTypeClasses any type classes
* @param formLayoutInfo form layout info
* @param pageRef caller page reference.
*/
public AnyWizardBuilder(
- final AnyHandler<A> handler,
+ final AnyWrapper<A> wrapper,
final List<String> anyTypeClasses,
final AbstractAnyFormLayout<A, ? extends AnyForm<A>> formLayoutInfo,
final PageReference pageRef) {
- super(handler, pageRef);
+ super(wrapper, pageRef);
this.anyTypeClasses = anyTypeClasses;
this.formLayoutInfo = formLayoutInfo;
}
@Override
- protected WizardModel buildModelSteps(final AnyHandler<A> modelObject, final WizardModel wizardModel) {
+ protected WizardModel buildModelSteps(final AnyWrapper<A> modelObject, final WizardModel wizardModel) {
// optional details panel step
addOptionalDetailsPanel(modelObject, wizardModel);
@@ -95,10 +95,10 @@ public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilde
GroupFormLayoutInfo groupFormLayoutInfo = GroupFormLayoutInfo.class.cast(formLayoutInfo);
if (groupFormLayoutInfo.isOwnership()) {
- wizardModel.add(new Ownership(GroupHandler.class.cast(modelObject), pageRef));
+ wizardModel.add(new Ownership(GroupWrapper.class.cast(modelObject), pageRef));
}
if (groupFormLayoutInfo.isDynamicMemberships()) {
- wizardModel.add(new DynamicMemberships(GroupHandler.class.cast(modelObject)));
+ wizardModel.add(new DynamicMemberships(GroupWrapper.class.cast(modelObject)));
}
}
@@ -151,7 +151,7 @@ public abstract class AnyWizardBuilder<A extends AnyTO> extends AjaxWizardBuilde
}
protected AnyWizardBuilder<A> addOptionalDetailsPanel(
- final AnyHandler<A> modelObject, final WizardModel wizardModel) {
+ final AnyWrapper<A> modelObject, final WizardModel wizardModel) {
if (modelObject.getInnerObject().getKey() != null) {
wizardModel.add(new Details<>(
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWrapper.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWrapper.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWrapper.java
new file mode 100644
index 0000000..85698ca
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWrapper.java
@@ -0,0 +1,38 @@
+/*
+ * 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.any;
+
+import java.io.Serializable;
+import org.apache.syncope.common.lib.to.AnyTO;
+
+public class AnyWrapper<T extends AnyTO> implements Serializable {
+
+ private static final long serialVersionUID = 8058288034211558375L;
+
+ protected final T anyTO;
+
+ public AnyWrapper(final T anyTO) {
+ this.anyTO = anyTO;
+ }
+
+ public T getInnerObject() {
+ return anyTO;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
index 41a5573..a30d6bf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
@@ -38,14 +38,14 @@ public class Details<T extends AnyTO> extends WizardStep {
protected final StatusPanel statusPanel;
public Details(
- final AnyHandler<T> handler,
+ final AnyWrapper<T> wrapper,
final IModel<List<StatusBean>> statusModel,
final boolean includeStatusPanel,
final PageReference pageRef) {
this.pageRef = pageRef;
- T anyTO = handler.getInnerObject();
+ T anyTO = wrapper.getInnerObject();
statusPanel = new StatusPanel("status", anyTO, statusModel, pageRef);
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
index b0b2c59..edf9b80 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
@@ -50,7 +50,7 @@ public class DynamicMemberships extends WizardStep {
private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
- public DynamicMemberships(final GroupHandler groupHandler) {
+ public DynamicMemberships(final GroupWrapper groupHandler) {
super();
final LoadableDetachableModel<List<AnyTypeTO>> types = new LoadableDetachableModel<List<AnyTypeTO>>() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupDetails.java
index 610f2b8..e110a7e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupDetails.java
@@ -31,15 +31,15 @@ public class GroupDetails extends Details<GroupTO> {
private static final long serialVersionUID = 855618618337931784L;
public GroupDetails(
- final GroupHandler groupHandler,
+ final GroupWrapper wrapper,
final IModel<List<StatusBean>> statusModel,
final boolean templateMode,
final boolean includeStatusPanel,
final PageReference pageRef) {
- super(groupHandler, statusModel, includeStatusPanel, pageRef);
+ super(wrapper, statusModel, includeStatusPanel, pageRef);
- final GroupTO groupTO = GroupHandler.class.cast(groupHandler).getInnerObject();
+ final GroupTO groupTO = GroupWrapper.class.cast(wrapper).getInnerObject();
final AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", "name",
new PropertyModel<String>(groupTO, "name"), false);
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupHandler.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupHandler.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupHandler.java
deleted file mode 100644
index 5966efc..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupHandler.java
+++ /dev/null
@@ -1,99 +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.any;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.syncope.client.console.panels.search.SearchClause;
-import org.apache.syncope.client.console.panels.search.SearchUtils;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.search.AbstractFiqlSearchConditionBuilder;
-import org.apache.syncope.common.lib.to.GroupTO;
-
-public class GroupHandler extends AnyHandler<GroupTO> {
-
- private static final long serialVersionUID = 8058288034211558376L;
-
- private List<SearchClause> uDynClauses;
-
- private Map<String, List<SearchClause>> aDynClauses;
-
- public GroupHandler(final GroupTO groupTO) {
- super(groupTO);
- getUDynClauses();
- getADynClauses();
- }
-
- public final List<SearchClause> getUDynClauses() {
- if (this.uDynClauses == null) {
- this.uDynClauses = SearchUtils.getSearchClauses(this.anyTO.getUDynMembershipCond());
- }
- return this.uDynClauses;
- }
-
- public void setUDynClauses(final List<SearchClause> uDynClauses) {
- this.uDynClauses = uDynClauses;
- }
-
- public final Map<String, List<SearchClause>> getADynClauses() {
- if (this.aDynClauses == null) {
- this.aDynClauses = SearchUtils.getSearchClauses(this.anyTO.getADynMembershipConds());
- }
- return this.aDynClauses;
- }
-
- public void setADynClauses(final Map<String, List<SearchClause>> aDynClauses) {
- this.aDynClauses = aDynClauses;
- }
-
- public String getUDynMembershipCond() {
- if (CollectionUtils.isEmpty(this.uDynClauses)) {
- return null;
- } else {
- return getFIQLString(this.uDynClauses, SyncopeClient.getUserSearchConditionBuilder());
- }
- }
-
- public Map<String, String> getADynMembershipConds() {
- final Map<String, String> res = new HashMap<>();
- if (this.aDynClauses != null && !this.aDynClauses.isEmpty()) {
- for (Map.Entry<String, List<SearchClause>> entry : this.aDynClauses.entrySet()) {
- if (CollectionUtils.isNotEmpty(entry.getValue())) {
- res.put(entry.getKey(), getFIQLString(entry.getValue(),
- SyncopeClient.getAnyObjectSearchConditionBuilder(entry.getKey())));
- }
- }
- }
-
- return res;
- }
-
- private String getFIQLString(final List<SearchClause> clauses, final AbstractFiqlSearchConditionBuilder bld) {
- return SearchUtils.buildFIQL(clauses, bld);
- }
-
- public GroupTO fillDynamicConditions() {
- this.anyTO.setUDynMembershipCond(this.getUDynMembershipCond());
- this.anyTO.getADynMembershipConds().clear();
- this.anyTO.getADynMembershipConds().putAll(this.getADynMembershipConds());
- return this.anyTO;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWizardBuilder.java
index e9fe94b..e6637c0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWizardBuilder.java
@@ -46,7 +46,7 @@ public class GroupWizardBuilder extends AnyWizardBuilder<GroupTO> implements Gro
final GroupFormLayoutInfo formLayoutInfo,
final PageReference pageRef) {
- super(new GroupHandler(groupTO), anyTypeClasses, formLayoutInfo, pageRef);
+ super(new GroupWrapper(groupTO), anyTypeClasses, formLayoutInfo, pageRef);
}
/**
@@ -57,16 +57,16 @@ public class GroupWizardBuilder extends AnyWizardBuilder<GroupTO> implements Gro
* @return the current builder.
*/
@Override
- public AjaxWizardBuilder<AnyHandler<GroupTO>> setItem(final AnyHandler<GroupTO> item) {
- return (AjaxWizardBuilder<AnyHandler<GroupTO>>) (item == null
+ public AjaxWizardBuilder<AnyWrapper<GroupTO>> setItem(final AnyWrapper<GroupTO> item) {
+ return (AjaxWizardBuilder<AnyWrapper<GroupTO>>) (item == null
? super.setItem(item)
- : super.setItem(new GroupHandler(item.getInnerObject())));
+ : super.setItem(new GroupWrapper(item.getInnerObject())));
}
@Override
- protected Serializable onApplyInternal(final AnyHandler<GroupTO> modelObject) {
- GroupTO inner = modelObject instanceof GroupHandler
- ? GroupHandler.class.cast(modelObject).fillDynamicConditions()
+ protected Serializable onApplyInternal(final AnyWrapper<GroupTO> modelObject) {
+ GroupTO inner = modelObject instanceof GroupWrapper
+ ? GroupWrapper.class.cast(modelObject).fillDynamicConditions()
: modelObject.getInnerObject();
ProvisioningResult<GroupTO> actual;
@@ -88,9 +88,9 @@ public class GroupWizardBuilder extends AnyWizardBuilder<GroupTO> implements Gro
@Override
protected GroupWizardBuilder addOptionalDetailsPanel(
- final AnyHandler<GroupTO> modelObject, final WizardModel wizardModel) {
+ final AnyWrapper<GroupTO> modelObject, final WizardModel wizardModel) {
wizardModel.add(new GroupDetails(
- GroupHandler.class.cast(modelObject),
+ GroupWrapper.class.cast(modelObject),
new ListModel<>(Collections.<StatusBean>emptyList()),
false,
modelObject.getInnerObject().getKey() != null, pageRef));
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWrapper.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWrapper.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWrapper.java
new file mode 100644
index 0000000..da39fe4
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/GroupWrapper.java
@@ -0,0 +1,99 @@
+/*
+ * 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.any;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.syncope.client.console.panels.search.SearchClause;
+import org.apache.syncope.client.console.panels.search.SearchUtils;
+import org.apache.syncope.client.lib.SyncopeClient;
+import org.apache.syncope.common.lib.search.AbstractFiqlSearchConditionBuilder;
+import org.apache.syncope.common.lib.to.GroupTO;
+
+public class GroupWrapper extends AnyWrapper<GroupTO> {
+
+ private static final long serialVersionUID = 8058288034211558376L;
+
+ private List<SearchClause> uDynClauses;
+
+ private Map<String, List<SearchClause>> aDynClauses;
+
+ public GroupWrapper(final GroupTO groupTO) {
+ super(groupTO);
+ getUDynClauses();
+ getADynClauses();
+ }
+
+ public final List<SearchClause> getUDynClauses() {
+ if (this.uDynClauses == null) {
+ this.uDynClauses = SearchUtils.getSearchClauses(this.anyTO.getUDynMembershipCond());
+ }
+ return this.uDynClauses;
+ }
+
+ public void setUDynClauses(final List<SearchClause> uDynClauses) {
+ this.uDynClauses = uDynClauses;
+ }
+
+ public final Map<String, List<SearchClause>> getADynClauses() {
+ if (this.aDynClauses == null) {
+ this.aDynClauses = SearchUtils.getSearchClauses(this.anyTO.getADynMembershipConds());
+ }
+ return this.aDynClauses;
+ }
+
+ public void setADynClauses(final Map<String, List<SearchClause>> aDynClauses) {
+ this.aDynClauses = aDynClauses;
+ }
+
+ public String getUDynMembershipCond() {
+ if (CollectionUtils.isEmpty(this.uDynClauses)) {
+ return null;
+ } else {
+ return getFIQLString(this.uDynClauses, SyncopeClient.getUserSearchConditionBuilder());
+ }
+ }
+
+ public Map<String, String> getADynMembershipConds() {
+ final Map<String, String> res = new HashMap<>();
+ if (this.aDynClauses != null && !this.aDynClauses.isEmpty()) {
+ for (Map.Entry<String, List<SearchClause>> entry : this.aDynClauses.entrySet()) {
+ if (CollectionUtils.isNotEmpty(entry.getValue())) {
+ res.put(entry.getKey(), getFIQLString(entry.getValue(),
+ SyncopeClient.getAnyObjectSearchConditionBuilder(entry.getKey())));
+ }
+ }
+ }
+
+ return res;
+ }
+
+ private String getFIQLString(final List<SearchClause> clauses, final AbstractFiqlSearchConditionBuilder bld) {
+ return SearchUtils.buildFIQL(clauses, bld);
+ }
+
+ public GroupTO fillDynamicConditions() {
+ this.anyTO.setUDynMembershipCond(this.getUDynMembershipCond());
+ this.anyTO.getADynMembershipConds().clear();
+ this.anyTO.getADynMembershipConds().putAll(this.getADynMembershipConds());
+ return this.anyTO;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
index 2f0d03e..f60f3c4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
@@ -65,7 +65,7 @@ public class Ownership extends WizardStep {
private final Pattern owner = Pattern.compile("\\[\\(\\d+\\)\\] .*");
- private final GroupHandler handler;
+ private final GroupWrapper wrapper;
private final WebMarkupContainer ownerContainer;
@@ -91,9 +91,9 @@ public class Ownership extends WizardStep {
private final Model<Boolean> isGroupOwnership;
- public Ownership(final GroupHandler groupHandler, final PageReference pageRef) {
+ public Ownership(final GroupWrapper groupHandler, final PageReference pageRef) {
super();
- this.handler = groupHandler;
+ this.wrapper = groupHandler;
isGroupOwnership = Model.of(groupHandler.getInnerObject().getGroupOwner() != null);
@@ -299,15 +299,15 @@ public class Ownership extends WizardStep {
} else if (event.getPayload() instanceof AnySelectionDirectoryPanel.ItemSelection) {
final AnyTO sel = ((AnySelectionDirectoryPanel.ItemSelection) event.getPayload()).getSelection();
if (sel == null) {
- handler.getInnerObject().setUserOwner(null);
- handler.getInnerObject().setGroupOwner(null);
+ wrapper.getInnerObject().setUserOwner(null);
+ wrapper.getInnerObject().setGroupOwner(null);
} else if (sel instanceof UserTO) {
- handler.getInnerObject().setUserOwner(sel.getKey());
- handler.getInnerObject().setGroupOwner(null);
+ wrapper.getInnerObject().setUserOwner(sel.getKey());
+ wrapper.getInnerObject().setGroupOwner(null);
((UserSelectionDirectoryPanel.ItemSelection) event.getPayload()).getTarget().add(ownerContainer);
} else if (sel instanceof GroupTO) {
- handler.getInnerObject().setGroupOwner(sel.getKey());
- handler.getInnerObject().setUserOwner(null);
+ wrapper.getInnerObject().setGroupOwner(sel.getKey());
+ wrapper.getInnerObject().setUserOwner(null);
((GroupSelectionDirectoryPanel.ItemSelection) event.getPayload()).getTarget().add(ownerContainer);
}
} else {
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PasswordPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PasswordPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PasswordPanel.java
index 370aebf..e93cc97 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PasswordPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PasswordPanel.java
@@ -18,31 +18,34 @@
*/
package org.apache.syncope.client.console.wizards.any;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPasswordFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
-import org.apache.syncope.common.lib.to.UserTO;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.validation.EqualPasswordInputValidator;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
public class PasswordPanel extends Panel {
private static final long serialVersionUID = 6592027822510220463L;
public PasswordPanel(
- final String id, final UserTO userTO, final boolean resetPassword, final boolean templateMode) {
- super(id);
+ final String id,
+ final UserWrapper wrapper,
+ final boolean templateMode) {
+ super(id);
setOutputMarkupId(true);
- final Form<?> form = new Form<>("passwordInnerForm");
+ Form<?> form = new Form<>("passwordInnerForm");
add(form);
FieldPanel<String> passwordField = new AjaxPasswordFieldPanel(
- "password", "password", new PropertyModel<String>(userTO, "password"), false);
+ "password", "password", new PropertyModel<String>(wrapper.getInnerObject(), "password"), false);
passwordField.setRequired(true);
passwordField.setMarkupId("password");
passwordField.setPlaceholder("password");
@@ -55,20 +58,24 @@ public class PasswordPanel extends Panel {
confirmPasswordField.setMarkupId("confirmPassword");
confirmPasswordField.setPlaceholder("confirmPassword");
((PasswordTextField) confirmPasswordField.getField()).setResetPassword(true);
+ if (templateMode) {
+ confirmPasswordField.setEnabled(false);
+ confirmPasswordField.setVisible(false);
+ }
form.add(confirmPasswordField);
form.add(new EqualPasswordInputValidator(passwordField.getField(), confirmPasswordField.getField()));
- if (templateMode) {
- confirmPasswordField.setEnabled(false);
- confirmPasswordField.setVisible(false);
+ AjaxCheckBoxPanel storePasswordInSyncope = new AjaxCheckBoxPanel("storePasswordInSyncope",
+ "storePasswordInSyncope", new PropertyModel<Boolean>(wrapper, "storePasswordInSyncope"));
+ storePasswordInSyncope.getField().setLabel(new ResourceModel("storePasswordInSyncope"));
+ storePasswordInSyncope.setOutputMarkupId(true);
+ storePasswordInSyncope.setOutputMarkupPlaceholderTag(true);
+ if (wrapper.getInnerObject().getKey() == null) {
+ storePasswordInSyncope.getField().setDefaultModelObject(Boolean.TRUE);
} else {
- ((PasswordTextField) passwordField.getField()).setResetPassword(resetPassword);
-
- if (!resetPassword) {
- confirmPasswordField.getField().setModelObject(userTO.getPassword());
- }
- ((PasswordTextField) confirmPasswordField.getField()).setResetPassword(resetPassword);
+ storePasswordInSyncope.setVisible(false);
}
+ form.add(storePasswordInSyncope);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
index 88b1bc5..94689ff 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
@@ -218,7 +218,7 @@ public class Relationships extends WizardStep {
private AnyObjectSearchPanel anyObjectSearchPanel;
- private WizardMgtPanel<AnyHandler<AnyObjectTO>> anyObjectDirectoryPanel;
+ private WizardMgtPanel<AnyWrapper<AnyObjectTO>> anyObjectDirectoryPanel;
public Specification() {
super("specification");
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
index 28a7d91..71eb007 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
@@ -46,17 +46,16 @@ public class UserDetails extends Details<UserTO> {
private static final String PASSWORD_CONTENT_PATH = "body:content";
public UserDetails(
- final AnyHandler<UserTO> handler,
+ final UserWrapper wrapper,
final IModel<List<StatusBean>> statusModel,
- final boolean resetPassword,
final boolean templateMode,
final boolean includeStatusPanel,
final boolean showPasswordManagement,
final PageReference pageRef) {
- super(handler, statusModel, includeStatusPanel, pageRef);
+ super(wrapper, statusModel, includeStatusPanel, pageRef);
- final UserTO userTO = handler.getInnerObject();
+ final UserTO userTO = wrapper.getInnerObject();
// ------------------------
// Username
// ------------------------
@@ -81,7 +80,7 @@ public class UserDetails extends Details<UserTO> {
@Override
public Panel getPanel(final String panelId) {
- final PasswordPanel panel = new PasswordPanel(panelId, userTO, resetPassword, templateMode);
+ PasswordPanel panel = new PasswordPanel(panelId, wrapper, templateMode);
panel.setEnabled(model.getObject() >= 0);
return panel;
}
@@ -94,7 +93,7 @@ public class UserDetails extends Details<UserTO> {
protected Component newTitle(final String markupId, final ITab tab, final Accordion.State state) {
return new AjaxLink<Integer>(markupId) {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 7021195294339489084L;
@Override
protected void onComponentTag(final ComponentTag tag) {
@@ -108,12 +107,14 @@ public class UserDetails extends Details<UserTO> {
boolean enable = model.getObject() >= 0;
- final Component passwordPanel = getParent().get(PASSWORD_CONTENT_PATH);
- passwordPanel.setEnabled(enable);
- statusPanel.setCheckAvailability(enable
- ? ListViewPanel.CheckAvailability.AVAILABLE
- : ListViewPanel.CheckAvailability.DISABLED);
+ if (statusPanel.isVisibleInHierarchy()) {
+ statusPanel.setCheckAvailability(enable
+ ? ListViewPanel.CheckAvailability.AVAILABLE
+ : ListViewPanel.CheckAvailability.DISABLED);
+ }
+ Component passwordPanel = getParent().get(PASSWORD_CONTENT_PATH);
+ passwordPanel.setEnabled(enable);
target.add(passwordPanel);
}
}.setBody(new ResourceModel("password.change", "Change password ..."));
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/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 2f8b5f6..66bb62c 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
@@ -50,19 +50,21 @@ public class UserWizardBuilder extends AnyWizardBuilder<UserTO> implements UserF
final UserFormLayoutInfo formLayoutInfo,
final PageReference pageRef) {
- super(userTO, anyTypeClasses, formLayoutInfo, pageRef);
+ super(new UserWrapper(userTO), anyTypeClasses, formLayoutInfo, pageRef);
statusModel = new ListModel<>(new ArrayList<StatusBean>());
}
@Override
- protected Serializable onApplyInternal(final AnyHandler<UserTO> modelObject) {
+ protected Serializable onApplyInternal(final AnyWrapper<UserTO> modelObject) {
UserTO inner = modelObject.getInnerObject();
ProvisioningResult<UserTO> actual;
if (inner.getKey() == null) {
- actual = userRestClient.create(inner, StringUtils.isNotBlank(inner.getPassword()));
+ actual = userRestClient.create(inner, modelObject instanceof UserWrapper
+ ? UserWrapper.class.cast(modelObject).isStorePasswordInSyncope()
+ : StringUtils.isNotBlank(inner.getPassword()));
} else {
- final UserPatch patch = AnyOperations.diff(inner, getOriginalItem().getInnerObject(), false);
+ UserPatch patch = AnyOperations.diff(inner, getOriginalItem().getInnerObject(), false);
if (!statusModel.getObject().isEmpty()) {
patch.setPassword(StatusUtils.buildPasswordPatch(inner.getPassword(), statusModel.getObject()));
}
@@ -81,10 +83,10 @@ public class UserWizardBuilder extends AnyWizardBuilder<UserTO> implements UserF
@Override
protected UserWizardBuilder addOptionalDetailsPanel(
- final AnyHandler<UserTO> modelObject, final WizardModel wizardModel) {
+ final AnyWrapper<UserTO> modelObject, final WizardModel wizardModel) {
wizardModel.add(new UserDetails(
- modelObject, statusModel, false, false,
+ UserWrapper.class.cast(modelObject), statusModel, false,
modelObject.getInnerObject().getKey() != null,
UserFormLayoutInfo.class.cast(formLayoutInfo).isPasswordManagement(),
pageRef));
@@ -98,8 +100,8 @@ public class UserWizardBuilder extends AnyWizardBuilder<UserTO> implements UserF
* @return the current wizard.
*/
@Override
- public UserWizardBuilder setItem(final AnyHandler<UserTO> item) {
- super.setItem(item);
+ public UserWizardBuilder setItem(final AnyWrapper<UserTO> item) {
+ super.setItem(item == null ? null : new UserWrapper(item.getInnerObject()));
statusModel.getObject().clear();
return this;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWrapper.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWrapper.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWrapper.java
new file mode 100644
index 0000000..c2a04d9
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserWrapper.java
@@ -0,0 +1,41 @@
+/*
+ * 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.any;
+
+import org.apache.syncope.common.lib.to.UserTO;
+
+public class UserWrapper extends AnyWrapper<UserTO> {
+
+ private static final long serialVersionUID = 263119743040080245L;
+
+ private boolean storePasswordInSyncope = true;
+
+ public UserWrapper(final UserTO userTO) {
+ super(userTO);
+ }
+
+ public boolean isStorePasswordInSyncope() {
+ return storePasswordInSyncope;
+ }
+
+ public void setStorePasswordInSyncope(final boolean storePasswordInSyncope) {
+ this.storePasswordInSyncope = storePasswordInSyncope;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/PasswordPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/PasswordPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/PasswordPanel.html
index 87ce8d6..7adf2a0 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/PasswordPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/PasswordPanel.html
@@ -25,6 +25,9 @@ under the License.
<div class="form-group">
<span wicket:id="confirmPassword"/>
</div>
+ <div class="form-group">
+ <span wicket:id="storePasswordInSyncope"/>
+ </div>
</form>
</wicket:panel>
</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails.properties
index 501bb53..6eebcae 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails.properties
@@ -18,3 +18,4 @@ username=Username
password=Password
confirmPassword=Password (confirm)
password.change=Password management
+storePasswordInSyncope=Store password in Syncope
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_it.properties
index 3d69de7..638a8c6 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_it.properties
@@ -18,3 +18,4 @@ username=Username
password=Password
confirmPassword=Password (conferma)
password.change=Gestisci password
+storePasswordInSyncope=Salva password in Syncope
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_pt_BR.properties
index a3d5457..5b7dc9d 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_pt_BR.properties
@@ -18,3 +18,4 @@ username=Nome do Usu\u00e1rio
password=Senha
confirmPassword=Senha (confirmar)
password.change=Gest\u00e3o password
+storePasswordInSyncope=Salvar senha in Syncope
http://git-wip-us.apache.org/repos/asf/syncope/blob/b0417d7c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_ru.properties
index 26a148b..4fe286d 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/any/UserDetails_ru.properties
@@ -14,11 +14,12 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-# username=Имя пользователя
+# username=\u00d0\u0098\u00d0\u00bc\u00d1\u008f \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00b7\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008f
username=\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
-# password=Пароль
+# password=\u00d0\u009f\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c
password=\u041f\u0430\u0440\u043e\u043b\u044c
-# confirmPassword=Пароль (подтверждение)
+# confirmPassword=\u00d0\u009f\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c (\u00d0\u00bf\u00d0\u00be\u00d0\u00b4\u00d1\u0082\u00d0\u00b2\u00d0\u00b5\u00d1\u0080\u00d0\u00b6\u00d0\u00b4\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5)
confirmPassword=\u041f\u0430\u0440\u043e\u043b\u044c (\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435)
-# password.change=Сменить пароль ...
+# password.change=\u00d0\u00a1\u00d0\u00bc\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u0082\u00d1\u008c \u00d0\u00bf\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c ...
password.change=\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c ...
+storePasswordInSyncope=Store password in Syncope