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 2020/11/12 18:03:14 UTC

[syncope] branch master updated: [SYNCOPE-1600] Adding PasswordFormType

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new 30b2326  [SYNCOPE-1600] Adding PasswordFormType
30b2326 is described below

commit 30b2326fe148c7566c9c171245716e5647b7637c
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Nov 12 18:49:11 2020 +0100

    [SYNCOPE-1600] Adding PasswordFormType
---
 .../client/common/ui/panels/UserRequestFormPanel.java   |  5 +++++
 .../common/lib/types/UserRequestFormPropertyType.java   |  3 ++-
 .../support/DomainProcessEngineFactoryBean.java         |  5 ++---
 .../core/flowable/support/PasswordFormType.java}        | 17 +++++++++--------
 .../core/flowable/support/SyncopeTaskFormHandler.java   |  4 ++++
 5 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/ext/flowable/client-common-ui/src/main/java/org/apache/syncope/ext/client/common/ui/panels/UserRequestFormPanel.java b/ext/flowable/client-common-ui/src/main/java/org/apache/syncope/ext/client/common/ui/panels/UserRequestFormPanel.java
index ecfaf41..ceda43f 100644
--- a/ext/flowable/client-common-ui/src/main/java/org/apache/syncope/ext/client/common/ui/panels/UserRequestFormPanel.java
+++ b/ext/flowable/client-common-ui/src/main/java/org/apache/syncope/ext/client/common/ui/panels/UserRequestFormPanel.java
@@ -28,6 +28,7 @@ import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.syncope.client.ui.commons.MapChoiceRenderer;
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxDateTimeFieldPanel;
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.ui.commons.markup.html.form.AjaxPasswordFieldPanel;
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxSpinnerFieldPanel;
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.client.ui.commons.markup.html.form.FieldPanel;
@@ -176,6 +177,10 @@ public abstract class UserRequestFormPanel extends Panel {
                         });
                         break;
 
+                    case Password:
+                        field = new AjaxPasswordFieldPanel("value", label, new PropertyModel<>(prop, "value"), false);
+                        break;
+
                     case String:
                     default:
                         field = new AjaxTextFieldPanel("value", label, new PropertyModel<>(prop, "value"), false);
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java
index 35b1df7..5cd31c7 100644
--- a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java
@@ -25,6 +25,7 @@ public enum UserRequestFormPropertyType {
     Enum,
     Date,
     Boolean,
-    Dropdown
+    Dropdown,
+    Password
 
 }
diff --git a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/DomainProcessEngineFactoryBean.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/DomainProcessEngineFactoryBean.java
index bcc9bbb..5747d63 100644
--- a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/DomainProcessEngineFactoryBean.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/DomainProcessEngineFactoryBean.java
@@ -22,12 +22,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-
 import javax.sql.DataSource;
 import org.apache.syncope.core.persistence.api.DomainHolder;
 import org.apache.syncope.core.persistence.api.SyncopeCoreLoader;
-import org.flowable.engine.ProcessEngine;
 import org.flowable.common.engine.impl.cfg.SpringBeanFactoryProxyMap;
+import org.flowable.engine.ProcessEngine;
 import org.flowable.engine.impl.util.EngineServiceUtil;
 import org.flowable.idm.spring.SpringIdmEngineConfiguration;
 import org.flowable.spring.SpringExpressionManager;
@@ -87,7 +86,7 @@ public class DomainProcessEngineFactoryBean
             conf.addEngineConfiguration(spiec.getEngineCfgKey(), spiec.getEngineScopeType(), spiec);
         }
         conf.setEnableSafeBpmnXml(true);
-        conf.setCustomFormTypes(List.of(new DropdownFormType(null)));
+        conf.setCustomFormTypes(List.of(new DropdownFormType(null), new PasswordFormType()));
 
         return conf.buildProcessEngine();
     }
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/PasswordFormType.java
similarity index 72%
copy from ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java
copy to ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/PasswordFormType.java
index 35b1df7..130f682 100644
--- a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/UserRequestFormPropertyType.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/PasswordFormType.java
@@ -16,15 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.common.lib.types;
+package org.apache.syncope.core.flowable.support;
 
-public enum UserRequestFormPropertyType {
+import org.flowable.engine.impl.form.StringFormType;
 
-    String,
-    Long,
-    Enum,
-    Date,
-    Boolean,
-    Dropdown
+public class PasswordFormType extends StringFormType {
 
+    private static final long serialVersionUID = 4657839355580978699L;
+
+    @Override
+    public String getName() {
+        return "password";
+    }
 }
diff --git a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeTaskFormHandler.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeTaskFormHandler.java
index fac2179..44106e8 100644
--- a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeTaskFormHandler.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/support/SyncopeTaskFormHandler.java
@@ -60,6 +60,10 @@ public class SyncopeTaskFormHandler extends DefaultTaskFormHandler {
                 }
                 break;
 
+            case "password":
+                formType = new PasswordFormType();
+                break;
+
             default:
         }