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 2018/06/12 14:48:14 UTC

[2/2] syncope git commit: Migration to Wicket 8.0.0

Migration to Wicket 8.0.0


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

Branch: refs/heads/SYNCOPE-1323
Commit: b78a8cb26ab02b543dade64dbbaf5207596debbc
Parents: 0167d66
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Aug 23 12:27:55 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jun 12 16:47:43 2018 +0200

----------------------------------------------------------------------
 client/console/pom.xml                          |   2 +-
 .../SyncopeConsoleRequestCycleListener.java     |   6 +-
 .../approvals/ApprovalDirectoryPanel.java       |   8 +-
 .../client/console/approvals/ApprovalModal.java |   5 +-
 .../client/console/commons/AnyDataProvider.java |  13 +-
 .../commons/SortableAnyProviderComparator.java  |   4 +-
 .../status/AbstractStatusBeanProvider.java      |   3 +-
 .../MailTemplateDirectoryPanel.java             |   6 +-
 .../NotificationDirectoryPanel.java             |   3 +-
 .../console/notifications/TemplateModal.java    |   3 +-
 .../syncope/client/console/pages/Login.java     |  13 +-
 .../console/pages/MustChangePassword.java       |   5 +-
 .../console/panels/AbstractModalPanel.java      |   5 +-
 .../console/panels/ActionDataTablePanel.java    |   4 +-
 .../console/panels/AjaxDataTablePanel.java      |   2 +-
 .../console/panels/AnyTypeClassesPanel.java     |   3 +-
 .../client/console/panels/AnyTypesPanel.java    |   3 +-
 .../console/panels/ApplicationModalPanel.java   |   3 +-
 .../panels/DisplayAttributesModalPanel.java     |   5 +-
 .../console/panels/DynRealmModalPanel.java      |   3 +-
 .../console/panels/HistoryConfDetails.java      |   4 +-
 .../panels/ImplementationDirectoryPanel.java    |   3 +-
 .../panels/ImplementationEngineTogglePanel.java |   4 +-
 .../panels/ImplementationModalPanel.java        |   3 +-
 .../client/console/panels/ListViewPanel.java    |  14 +-
 .../console/panels/MembersTogglePanel.java      |   4 +-
 .../console/panels/NewWorkflowProcess.java      |   4 +-
 .../console/panels/NotificationPanel.java       |  13 +-
 .../panels/ParametersEditModalPanel.java        |   3 +-
 .../console/panels/RelationshipTypesPanel.java  |   3 +-
 .../panels/RemediationDirectoryPanel.java       |   3 +-
 .../console/panels/RoleDirectoryPanel.java      |   3 +-
 .../client/console/panels/SchemaTypePanel.java  |   3 +-
 .../client/console/panels/SchemasPanel.java     |   4 +-
 .../panels/SecurityQuestionsModalPanel.java     |   3 +-
 .../console/panels/StartAtTogglePanel.java      |   4 +-
 .../console/panels/SubmitableModalPanel.java    |   5 +-
 .../panels/TypeExtensionDirectoryPanel.java     |   5 +-
 .../console/panels/WorkflowDirectoryPanel.java  |   3 +-
 .../panels/search/SearchClausePanel.java        |   7 +-
 .../policies/PolicyModalPanelBuilder.java       |   3 +-
 .../console/policies/PullPolicyModalPanel.java  |   3 +-
 .../reports/ReportTemplateDirectoryPanel.java   |   6 +-
 .../console/status/ChangePasswordModal.java     |   5 +-
 .../client/console/status/ReconTaskPanel.java   |   2 +-
 .../console/tasks/ExecutionsDirectoryPanel.java |   3 +-
 .../tasks/TaskAttributesDetailsView.java        |   3 +-
 .../console/tasks/TaskStartAtTogglePanel.java   |   5 +-
 .../console/tasks/TemplatesTogglePanel.java     |   4 +-
 .../markup/html/bootstrap/dialog/BaseModal.java |   8 +-
 .../markup/html/form/AbstractMultiPanel.java    |  12 +-
 .../markup/html/form/AjaxPalettePanel.java      |   4 +-
 .../markup/html/form/BinaryFieldPanel.java      |   7 +-
 .../form/preview/AbstractBinaryPreviewer.java   |   4 +-
 .../client/console/widgets/LoadWidget.java      |   4 +-
 .../client/console/widgets/NumberWidget.java    |   2 +-
 .../console/wizards/AbstractMappingPanel.java   |   3 +-
 .../client/console/wizards/AjaxWizard.java      |  76 +-
 .../resources/AbstractConnConfPanel.java        |   3 +-
 .../resources/ItemTransformersTogglePanel.java  |   2 +-
 .../resources/JEXLTransformersTogglePanel.java  |   2 +-
 .../resources/ObjectTypeTogglePanel.java        |   4 +-
 .../resources/ResourceProvisionPanel.java       |   3 +-
 .../client/enduser/util/SaltGenerator.java      |   4 +-
 .../panels/CamelRoutesDirectoryPanel.java       |   3 +-
 .../client/console/panels/ImportMetadata.java   |   4 +-
 .../console/panels/SAML2IdPsDirectoryPanel.java |   4 +-
 pom.xml                                         | 860 ++++++++++---------
 68 files changed, 609 insertions(+), 628 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/pom.xml
----------------------------------------------------------------------
diff --git a/client/console/pom.xml b/client/console/pom.xml
index d3103e9..aaa8627 100644
--- a/client/console/pom.xml
+++ b/client/console/pom.xml
@@ -59,7 +59,7 @@ under the License.
       <artifactId>wicket-extensions</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.wicket</groupId>
+      <groupId>org.wicketstuff</groupId>
       <artifactId>wicket-datetime</artifactId>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java
index 50c5748..5d18bda 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java
@@ -31,13 +31,13 @@ import org.apache.wicket.markup.html.pages.ExceptionErrorPage;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.component.IRequestablePage;
-import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
+import org.apache.wicket.request.cycle.IRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SyncopeConsoleRequestCycleListener extends AbstractRequestCycleListener {
+public class SyncopeConsoleRequestCycleListener implements IRequestCycleListener {
 
     private static final Logger LOG = LoggerFactory.getLogger(SyncopeConsoleRequestCycleListener.class);
 
@@ -66,7 +66,7 @@ public class SyncopeConsoleRequestCycleListener extends AbstractRequestCycleList
 
         PageParameters errorParameters = new PageParameters();
 
-        IRequestablePage errorPage = null;
+        IRequestablePage errorPage;
         if (instanceOf(e, UnauthorizedInstantiationException.class) != null) {
             errorParameters.add("errorMessage", MISSING_AUTHORIZATION);
             errorPage = new Login(errorParameters);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
index 10e4fa5..81783cd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
@@ -61,8 +61,6 @@ import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -163,9 +161,9 @@ public class ApprovalDirectoryPanel
                     private static final long serialVersionUID = 5546519445061007248L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
-                            super.onSubmit(target, form);
+                            super.onSubmit(target);
 
                             ApprovalDirectoryPanel.this.getTogglePanel().close(target);
                         } catch (SyncopeClientException e) {
@@ -278,7 +276,7 @@ public class ApprovalDirectoryPanel
 
         @Override
         public IModel<WorkflowFormTO> model(final WorkflowFormTO form) {
-            return new AbstractReadOnlyModel<WorkflowFormTO>() {
+            return new IModel<WorkflowFormTO>() {
 
                 private static final long serialVersionUID = -2566070996511906708L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
index 16048dd..1b1ce48 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
@@ -27,7 +27,6 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.Bas
 import org.apache.syncope.common.lib.to.WorkflowFormTO;
 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;
 import org.apache.syncope.client.console.panels.SubmitableModalPanel;
 import org.apache.syncope.client.console.panels.WizardModalPanel;
@@ -64,7 +63,7 @@ public class ApprovalModal extends Panel implements SubmitableModalPanel, Wizard
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         this.restClient.submitForm(formTO);
         this.modal.show(false);
         this.modal.close(target);
@@ -72,7 +71,7 @@ public class ApprovalModal extends Panel implements SubmitableModalPanel, Wizard
     }
 
     @Override
-    public void onError(final AjaxRequestTarget target, final Form<?> form) {
+    public void onError(final AjaxRequestTarget target) {
         ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java
index 0eca373..a13927b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.commons;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.rest.AbstractAnyRestClient;
@@ -107,8 +108,10 @@ public class AnyDataProvider<A extends AnyTO> extends DirectoryDataProvider<A> {
             LOG.error("While searching with FIQL {}", fiql, e);
             SyncopeConsoleSession.get().error(e.getMessage());
 
-            ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(
-                    RequestCycle.get().find(AjaxRequestTarget.class));
+            Optional<AjaxRequestTarget> target = RequestCycle.get().find(AjaxRequestTarget.class);
+            if (target.isPresent()) {
+                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target.get());
+            }
         }
 
         Collections.sort(result, comparator);
@@ -129,8 +132,10 @@ public class AnyDataProvider<A extends AnyTO> extends DirectoryDataProvider<A> {
             LOG.error("While requesting for size() with FIQL {}", fiql, e);
             SyncopeConsoleSession.get().error(e.getMessage());
 
-            ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(
-                    RequestCycle.get().find(AjaxRequestTarget.class));
+            Optional<AjaxRequestTarget> target = RequestCycle.get().find(AjaxRequestTarget.class);
+            if (target.isPresent()) {
+                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target.get());
+            }
         }
 
         return result;

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
index e405921..9a5d86a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
@@ -26,7 +26,7 @@ import org.apache.syncope.common.lib.to.AnyTO;
 import org.apache.syncope.common.lib.to.AttrTO;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
-import org.apache.wicket.model.AbstractReadOnlyModel;
+import org.apache.wicket.model.IModel;
 
 public class SortableAnyProviderComparator<T extends AnyTO> extends SortableDataProviderComparator<T> {
 
@@ -49,7 +49,7 @@ public class SortableAnyProviderComparator<T extends AnyTO> extends SortableData
     }
 
     @SuppressWarnings("rawtypes")
-    private class AttrModel extends AbstractReadOnlyModel<Comparable> {
+    private class AttrModel implements IModel<Comparable> {
 
         private static final long serialVersionUID = -7856686374020091808L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
index 50619e5..93303b8 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.syncope.client.console.commons.DirectoryDataProvider;
 import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 
 public abstract class AbstractStatusBeanProvider extends DirectoryDataProvider<StatusBean> {
@@ -51,7 +50,7 @@ public abstract class AbstractStatusBeanProvider extends DirectoryDataProvider<S
 
     @Override
     public IModel<StatusBean> model(final StatusBean statusBean) {
-        return new AbstractReadOnlyModel<StatusBean>() {
+        return new IModel<StatusBean>() {
 
             private static final long serialVersionUID = -7802635613997243712L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index 11091c3..95137d1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -48,7 +48,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
@@ -56,7 +55,6 @@ import org.apache.syncope.client.console.panels.WizardModalPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.PropertyModel;
 
 public class MailTemplateDirectoryPanel
@@ -218,7 +216,7 @@ public class MailTemplateDirectoryPanel
 
         @Override
         public IModel<MailTemplateTO> model(final MailTemplateTO mailTemplateTO) {
-            return new AbstractReadOnlyModel<MailTemplateTO>() {
+            return new IModel<MailTemplateTO>() {
 
                 private static final long serialVersionUID = 774694801558497248L;
 
@@ -245,7 +243,7 @@ public class MailTemplateDirectoryPanel
         }
 
         @Override
-        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+        public void onSubmit(final AjaxRequestTarget target) {
             if (StringUtils.isBlank(content.getContent())) {
                 SyncopeConsoleSession.get().error("No content to save");
             } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
index bdc9269..a27a650 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
@@ -51,7 +51,6 @@ import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.StringResourceModel;
 
@@ -193,7 +192,7 @@ public class NotificationDirectoryPanel
 
         @Override
         public IModel<NotificationTO> model(final NotificationTO notification) {
-            return new AbstractReadOnlyModel<NotificationTO>() {
+            return new IModel<NotificationTO>() {
 
                 private static final long serialVersionUID = 774694801558497248L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java
index d6cfce0..b2e3bff 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java
@@ -30,7 +30,6 @@ import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.EntityTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.PropertyModel;
 
 public class TemplateModal<T extends EntityTO, F> extends AbstractModalPanel<T> {
@@ -62,7 +61,7 @@ public class TemplateModal<T extends EntityTO, F> extends AbstractModalPanel<T>
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             restClient.createTemplate(templateTO);
             SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
index b17d61e..796408e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
@@ -38,7 +38,6 @@ import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.markup.html.form.TextField;
@@ -109,7 +108,7 @@ public class Login extends WebPage {
             private static final long serialVersionUID = 429178684321093953L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 if (SyncopeConsoleApplication.get().getAnonymousUser().equals(usernameField.getRawInput())) {
                     throw new AccessControlException("Illegal username");
                 }
@@ -201,11 +200,6 @@ public class Login extends WebPage {
             // set default value to English
             getModel().setObject(Locale.ENGLISH);
         }
-
-        @Override
-        protected boolean wantOnSelectionChangedNotifications() {
-            return true;
-        }
     }
 
     /**
@@ -241,10 +235,5 @@ public class Login extends WebPage {
             // set default value to Master Domain
             getModel().setObject(SyncopeConstants.MASTER_DOMAIN);
         }
-
-        @Override
-        protected boolean wantOnSelectionChangedNotifications() {
-            return true;
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
index f613d54..4fcca5b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
@@ -27,7 +27,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPasswordFie
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.markup.html.form.TextField;
@@ -88,7 +87,7 @@ public class MustChangePassword extends WebPage {
             private static final long serialVersionUID = 429178684321093953L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     restClient.changePassword(passwordField.getModelObject());
 
@@ -105,7 +104,7 @@ public class MustChangePassword extends WebPage {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 notificationPanel.refresh(target);
             }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
index 415751f..9179854 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
@@ -27,7 +27,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -66,12 +65,12 @@ public class AbstractModalPanel<T extends Serializable> extends Panel
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
     }
 
     @Override
-    public void onError(final AjaxRequestTarget target, final Form<?> form) {
+    public void onError(final AjaxRequestTarget target) {
         ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
index 4574544..7ea7baa 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
@@ -99,7 +99,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
             private static final long serialVersionUID = -2341391430136818025L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 // ignore
             }
         }.setVisible(false).setEnabled(false));
@@ -117,7 +117,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
             private static final long serialVersionUID = -4804368561204623354L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 modal.close(target);
             }
         };

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
index aa7b19f..885a3d5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
@@ -242,7 +242,7 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
             private static final long serialVersionUID = 382302811235019988L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 // send event to close eventually opened actions toggle panel
                 if (builder.getTogglePanel() != null) {
                     builder.getTogglePanel().close(target);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
index af1f72e..fcfe82d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
@@ -46,7 +46,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
@@ -74,7 +73,7 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<
                     private static final long serialVersionUID = -6227956682141146095L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
                             if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) {
                                 restClient.create(modelObject);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
index 030be02..22cdb72 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
@@ -46,7 +46,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
@@ -72,7 +71,7 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypesPanel.
                     private static final long serialVersionUID = -6227956682141146095L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
                             if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) {
                                 restClient.create(modelObject);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java
index 6f9c1f2..72aec89 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java
@@ -28,7 +28,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPa
 import org.apache.syncope.common.lib.to.ApplicationTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.PropertyModel;
 
 public class ApplicationModalPanel extends AbstractModalPanel<ApplicationTO> {
@@ -71,7 +70,7 @@ public class ApplicationModalPanel extends AbstractModalPanel<ApplicationTO> {
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             if (create) {
                 restClient.create(application);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
index 2b36dc2..af6867a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
@@ -38,7 +38,6 @@ import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.PropertyModel;
@@ -160,10 +159,10 @@ public abstract class DisplayAttributesModalPanel<T extends Serializable> extend
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         if (selectedDetails.size() + selectedPlainSchemas.size() + selectedDerSchemas.size() > MAX_SELECTIONS) {
             SyncopeConsoleSession.get().error(getString("tooManySelections"));
-            onError(target, form);
+            onError(target);
         } else {
             final Map<String, List<String>> prefs = new HashMap<>();
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
index b373274..7f260e0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
@@ -39,7 +39,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.Panel;
@@ -131,7 +130,7 @@ public class DynRealmModalPanel extends AbstractModalPanel<DynRealmWrapper> {
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             dynRealmWrapper.fillDynamicConditions();
             if (create) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java
index 563641c..7afb0c6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java
@@ -86,7 +86,7 @@ public class HistoryConfDetails<T extends AbstractHistoryConf> extends Multileve
             private static final long serialVersionUID = -8927036362466990179L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 modal.close(target);
             }
         };
@@ -107,7 +107,7 @@ public class HistoryConfDetails<T extends AbstractHistoryConf> extends Multileve
             private static final long serialVersionUID = -8927036362466990179L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 modal.close(target);
             }
         };

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
index 4aaea78..174526c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
@@ -50,7 +50,6 @@ import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
@@ -217,7 +216,7 @@ public class ImplementationDirectoryPanel extends DirectoryPanel<
 
         @Override
         public IModel<ImplementationTO> model(final ImplementationTO implementation) {
-            return new AbstractReadOnlyModel<ImplementationTO>() {
+            return new IModel<ImplementationTO>() {
 
                 private static final long serialVersionUID = 999513782683391483L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java
index 49819d5..7e588d8 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java
@@ -59,7 +59,7 @@ public abstract class ImplementationEngineTogglePanel extends TogglePanel<Serial
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 ImplementationEngineTogglePanel.this.onSubmit(engineModel.getObject(), target);
                 target.add(form);
                 toggle(target, false);
@@ -68,7 +68,7 @@ public abstract class ImplementationEngineTogglePanel extends TogglePanel<Serial
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
index 0e23e1b..f1b3f5b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
@@ -47,7 +47,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnLoadHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
@@ -317,7 +316,7 @@ public class ImplementationModalPanel extends AbstractModalPanel<ImplementationT
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             if (create) {
                 restClient.create(implementation);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/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 06729c9..76f47f5 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
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormChoiceComponentUpdatingBehavior;
@@ -235,12 +236,13 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
         // used to perform selectable enabling check condition
         this.check.setObject(check);
 
-        final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
-
-        // reload group selector
-        target.add(groupSelector.setVisible(check == CheckAvailability.AVAILABLE));
-        // reload the list view panel
-        target.add(ListViewPanel.this);
+        Optional<AjaxRequestTarget> target = RequestCycle.get().find(AjaxRequestTarget.class);
+        if (target.isPresent()) {
+            // reload group selector
+            target.get().add(groupSelector.setVisible(check == CheckAvailability.AVAILABLE));
+            // reload the list view panel
+            target.get().add(ListViewPanel.this);
+        }
     }
 
     protected abstract Component getValueComponent(final String key, final T bean);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
index 81167d8..9fc398e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
@@ -77,7 +77,7 @@ public abstract class MembersTogglePanel extends TogglePanel<Serializable> {
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     onApplyInternal(groupTO, typeModel.getObject(), target);
                     toggle(target, false);
@@ -91,7 +91,7 @@ public abstract class MembersTogglePanel extends TogglePanel<Serializable> {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java
index be021c7..f0971c6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java
@@ -58,7 +58,7 @@ public class NewWorkflowProcess extends TogglePanel<Serializable> {
             private static final long serialVersionUID = 4947613489823025052L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     restClient.setDefinition(MediaType.APPLICATION_XML_TYPE, key.getModelObject(),
                             IOUtils.toString(
@@ -79,7 +79,7 @@ public class NewWorkflowProcess extends TogglePanel<Serializable> {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java
index 221ae41..ec2fdc2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java
@@ -31,7 +31,8 @@ import org.apache.wicket.feedback.IFeedback;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.IModel;
 
-public class NotificationPanel extends Panel implements IFeedback, IGenericComponent<List<FeedbackMessage>> {
+public class NotificationPanel extends Panel
+        implements IFeedback, IGenericComponent<List<FeedbackMessage>, NotificationPanel> {
 
     private static final long serialVersionUID = 5895940553202128621L;
 
@@ -63,7 +64,7 @@ public class NotificationPanel extends Panel implements IFeedback, IGenericCompo
     }
 
     public final void refresh(final IPartialPageRequestHandler handler) {
-        for (FeedbackMessage message : this.getModelObject()) {
+        this.getModelObject().forEach(message -> {
             if (message.isError()) {
                 this.notification.error(handler, message.getMessage());
             } else if (message.isWarning()) {
@@ -76,7 +77,7 @@ public class NotificationPanel extends Panel implements IFeedback, IGenericCompo
                 this.notification.warn(handler, message.getMessage());
             }
             message.markRendered();
-        }
+        });
     }
 
     @Override
@@ -91,13 +92,15 @@ public class NotificationPanel extends Panel implements IFeedback, IGenericCompo
     }
 
     @Override
-    public void setModel(final IModel<List<FeedbackMessage>> model) {
+    public NotificationPanel setModel(final IModel<List<FeedbackMessage>> model) {
         this.setDefaultModel(model);
+        return this;
     }
 
     @Override
-    public void setModelObject(final List<FeedbackMessage> object) {
+    public NotificationPanel setModelObject(final List<FeedbackMessage> object) {
         this.setDefaultModelObject(object);
+        return this;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java
index e85a39e..335091a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java
@@ -27,7 +27,6 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.Bas
 import org.apache.syncope.common.lib.to.AttrTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 
 public class ParametersEditModalPanel extends AbstractModalPanel<AttrTO> {
 
@@ -53,7 +52,7 @@ public class ParametersEditModalPanel extends AbstractModalPanel<AttrTO> {
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             restClient.set(attrTO);
             modal.close(target);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
index 56d92ec..1f35056 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
@@ -47,7 +47,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
@@ -77,7 +76,7 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<
                     private static final long serialVersionUID = -6227956682141146094L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
                             if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) {
                                 restClient.create(modelObject);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
index 691ac5c..242c422 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
@@ -74,7 +74,6 @@ import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
@@ -336,7 +335,7 @@ public class RemediationDirectoryPanel
 
         @Override
         public IModel<RemediationTO> model(final RemediationTO remediation) {
-            return new AbstractReadOnlyModel<RemediationTO>() {
+            return new IModel<RemediationTO>() {
 
                 private static final long serialVersionUID = -2566070996511906708L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
index a410833..1301f0d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
@@ -59,7 +59,6 @@ import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
@@ -219,7 +218,7 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
                     private static final long serialVersionUID = -8927036362466990179L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
                             restClient.setConsoleLayoutInfo(info.getKey(), info.getContent());
                             SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index 6e8ec76..654fec9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -55,7 +55,6 @@ import org.apache.wicket.event.IEvent;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
@@ -106,7 +105,7 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
                         private static final long serialVersionUID = -6227956682141146095L;
 
                         @Override
-                        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                        public void onSubmit(final AjaxRequestTarget target) {
                             try {
                                 if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) {
                                     restClient.create(schemaType, modelObject);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
index 62cd907..e45a58a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
@@ -70,8 +70,8 @@ public class SchemasPanel extends Panel {
             private static final long serialVersionUID = -1765773642975892072L;
 
             @Override
-            protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                super.onAfterSubmit(target, form);
+            protected void onAfterSubmit(final AjaxRequestTarget target) {
+                super.onAfterSubmit(target);
 
                 send(SchemasPanel.this, Broadcast.DEPTH,
                         new SchemaTypePanel.SchemaSearchEvent(target, keywordModel.getObject()));

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java
index a639035..8043a01 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java
@@ -27,7 +27,6 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.Bas
 import org.apache.syncope.common.lib.to.SecurityQuestionTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 
 public class SecurityQuestionsModalPanel extends AbstractModalPanel<SecurityQuestionTO> {
 
@@ -53,7 +52,7 @@ public class SecurityQuestionsModalPanel extends AbstractModalPanel<SecurityQues
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             if (securityQuestionTO.getKey() == null) {
                 restClient.create(securityQuestionTO);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java
index 18c35cd..1faf3e1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java
@@ -79,7 +79,7 @@ public abstract class StartAtTogglePanel extends TogglePanel<Serializable> {
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     getRestClient().startExecution(key, startAtDateModel.getObject());
                     SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
@@ -94,7 +94,7 @@ public abstract class StartAtTogglePanel extends TogglePanel<Serializable> {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java
index e3f2b17..b008980 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java
@@ -19,11 +19,10 @@
 package org.apache.syncope.client.console.panels;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 
 public interface SubmitableModalPanel extends ModalPanel {
 
-    void onSubmit(AjaxRequestTarget target, Form<?> form);
+    void onSubmit(AjaxRequestTarget target);
 
-    void onError(AjaxRequestTarget target, Form<?> form);
+    void onError(AjaxRequestTarget target);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
index 08a3147..511fbfc 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
@@ -46,7 +46,6 @@ import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -85,7 +84,7 @@ public class TypeExtensionDirectoryPanel
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         GroupPatch patch = new GroupPatch();
         patch.setKey(groupTO.getKey());
         patch.getTypeExtensions().addAll(groupTO.getTypeExtensions());
@@ -106,7 +105,7 @@ public class TypeExtensionDirectoryPanel
     }
 
     @Override
-    public void onError(final AjaxRequestTarget target, final Form<?> form) {
+    public void onError(final AjaxRequestTarget target) {
         SyncopeConsoleSession.get().error(getString(Constants.OPERATION_ERROR));
         ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java
index 980fe4c..a830311 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java
@@ -61,7 +61,6 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.extensions.wizard.WizardModel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -185,7 +184,7 @@ public class WorkflowDirectoryPanel extends DirectoryPanel<
                     private static final long serialVersionUID = -7688359318035249200L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         if (StringUtils.isNotBlank(wfDefinition.getObject())) {
                             try {
                                 restClient.setDefinition(MediaType.APPLICATION_XML_TYPE,

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
index 47e3545..0156619 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
@@ -57,7 +57,6 @@ import org.apache.wicket.event.IEventSink;
 import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
 import org.apache.wicket.markup.html.list.ListItem;
@@ -134,7 +133,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
             private static final long serialVersionUID = 5538299138211283825L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 if (resultContainer == null) {
                     send(this, Broadcast.BUBBLE, new SearchEvent(target));
                 } else {
@@ -252,7 +251,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
                 "onkeydown",
                 Model.of("if(event.keyCode == 13) {event.preventDefault();}")));
 
-        field.add(new AjaxEventBehavior("onkeydown") {
+        field.add(new AjaxEventBehavior("keydown") {
 
             private static final long serialVersionUID = -7133385027739964990L;
 
@@ -462,7 +461,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
                 "onkeydown",
                 Model.of("if(event.keyCode == 13) {event.preventDefault();}")));
 
-        value.getField().add(new IndicatorAjaxEventBehavior("onkeydown") {
+        value.getField().add(new IndicatorAjaxEventBehavior("keydown") {
 
             private static final long serialVersionUID = -7133385027739964990L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
index 0eac09c..1be9976 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
@@ -50,7 +50,6 @@ import org.apache.syncope.common.lib.types.PolicyType;
 import org.apache.wicket.Component;
 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.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.LoadableDetachableModel;
@@ -159,7 +158,7 @@ public class PolicyModalPanelBuilder<T extends PolicyTO> extends AbstractModalPa
         }
 
         @Override
-        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+        public void onSubmit(final AjaxRequestTarget target) {
             try {
                 if (policyTO.getKey() == null) {
                     restClient.createPolicy(type, policyTO);

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java
index b265caf..da0efd9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java
@@ -51,7 +51,6 @@ import org.apache.syncope.common.lib.types.PolicyType;
 import org.apache.syncope.common.lib.types.SchemaType;
 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.list.ListItem;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.IModel;
@@ -133,7 +132,7 @@ public class PullPolicyModalPanel extends AbstractModalPanel<PullPolicyTO> {
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             getItem().getCorrelationRules().clear();
             model.getObject().forEach(rule -> {

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
index 6aa57d3..04a37a2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
@@ -46,7 +46,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
@@ -57,7 +56,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
 import org.apache.syncope.common.lib.types.ReportTemplateFormat;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.PropertyModel;
 
 public class ReportTemplateDirectoryPanel
@@ -238,7 +236,7 @@ public class ReportTemplateDirectoryPanel
 
         @Override
         public IModel<ReportTemplateTO> model(final ReportTemplateTO reportTemplateTO) {
-            return new AbstractReadOnlyModel<ReportTemplateTO>() {
+            return new IModel<ReportTemplateTO>() {
 
                 private static final long serialVersionUID = 774694801558497248L;
 
@@ -265,7 +263,7 @@ public class ReportTemplateDirectoryPanel
         }
 
         @Override
-        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+        public void onSubmit(final AjaxRequestTarget target) {
             if (StringUtils.isBlank(content.getContent())) {
                 SyncopeConsoleSession.get().error("No content to save");
             } else {

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/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 43d9282..55e3381 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
@@ -37,7 +37,6 @@ import org.apache.syncope.common.lib.patch.UserPatch;
 import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.util.ListModel;
 
@@ -70,7 +69,7 @@ public class ChangePasswordModal extends AbstractModalPanel<AnyWrapper<UserTO>>
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         final UserTO inner = wrapper.getInnerObject();
 
         try {
@@ -105,6 +104,6 @@ public class ChangePasswordModal extends AbstractModalPanel<AnyWrapper<UserTO>>
                     ? e.getClass().getName()
                     : e.getMessage());
         }
-        super.onSubmit(target, form);
+        super.onSubmit(target);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
index 3dadb567..ba08b8d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
@@ -139,7 +139,7 @@ public class ReconTaskPanel extends MultilevelPanel.SecondLevel {
             private static final long serialVersionUID = -817438685948164787L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     if (taskTO instanceof PushTaskTO) {
                         restClient.push(anyTypeKind, anyKey, resource, (PushTaskTO) form.getModelObject());

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
index 345a1eb..f920381 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
@@ -46,7 +46,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.StringResourceModel;
 
@@ -200,7 +199,7 @@ public abstract class ExecutionsDirectoryPanel
         @Override
         public IModel<ExecTO> model(final ExecTO taskExecution) {
 
-            return new AbstractReadOnlyModel<ExecTO>() {
+            return new IModel<ExecTO>() {
 
                 private static final long serialVersionUID = 7485475149862342421L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
index 6ad4079..dacbde9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
@@ -28,7 +28,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.JsonEditorPanel
 import org.apache.syncope.common.lib.to.PropagationTaskTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.PropertyModel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -56,7 +55,7 @@ public class TaskAttributesDetailsView extends MultilevelPanel.SecondLevel {
             private static final long serialVersionUID = -8927036362466990179L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 modal.close(target);
             }
         };

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java
index ff71ade..9440e19 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java
@@ -29,7 +29,6 @@ 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;
 
 public class TaskStartAtTogglePanel extends StartAtTogglePanel {
 
@@ -43,7 +42,7 @@ public class TaskStartAtTogglePanel extends StartAtTogglePanel {
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     getRestClient().startExecution(key, startAtDateModel.getObject(), true);
                     SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
@@ -59,7 +58,7 @@ public class TaskStartAtTogglePanel extends StartAtTogglePanel {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
index 625506c..802b34c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
@@ -93,7 +93,7 @@ public abstract class TemplatesTogglePanel extends TogglePanel<Serializable> {
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 try {
                     final AjaxWizard.NewItemActionEvent<AnyTO> payload =
                             new AjaxWizard.NewItemActionEvent<>(null, target);
@@ -170,7 +170,7 @@ public abstract class TemplatesTogglePanel extends TogglePanel<Serializable> {
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/b78a8cb2/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index 6948aca..69ede94 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -200,13 +200,13 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
             private static final long serialVersionUID = -5783994974426198290L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-                SubmitableModalPanel.class.cast(BaseModal.this.getContent()).onSubmit(target, form);
+            protected void onSubmit(final AjaxRequestTarget target) {
+                SubmitableModalPanel.class.cast(BaseModal.this.getContent()).onSubmit(target);
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
-                SubmitableModalPanel.class.cast(BaseModal.this.getContent()).onError(target, form);
+            protected void onError(final AjaxRequestTarget target) {
+                SubmitableModalPanel.class.cast(BaseModal.this.getContent()).onError(target);
             }
         };