[SYNCOPE-1323] Upgraded to Wicket 8
authorFrancesco Chicchiriccò <ilgrosso@apache.org>
Wed, 13 Jun 2018 13:21:38 +0000 (15:21 +0200)
committerFrancesco Chicchiriccò <ilgrosso@apache.org>
Wed, 13 Jun 2018 13:21:38 +0000 (15:21 +0200)
70 files changed:
client/console/pom.xml
client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java
client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
client/console/src/main/java/org/apache/syncope/client/console/commons/AnyDataProvider.java
client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
client/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/notifications/TemplateModal.java
client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/HistoryConfDetails.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/NewWorkflowProcess.java
client/console/src/main/java/org/apache/syncope/client/console/panels/NotificationPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardAttrStep.java
client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/StartAtTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/SubmitableModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/WorkflowDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
client/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyModalPanel.java
client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/status/ChangePasswordModal.java
client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
client/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AbstractMultiPanel.java
client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxPalettePanel.java
client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/AbstractBinaryPreviewer.java
client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java
client/console/src/main/java/org/apache/syncope/client/console/widgets/NumberWidget.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/AbstractMappingPanel.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ItemTransformersTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel.java
client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
client/enduser/src/main/java/org/apache/syncope/client/enduser/util/SaltGenerator.java
ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutesDirectoryPanel.java
ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/ImportMetadata.java
ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
pom.xml

index d3103e9..aaa8627 100644 (file)
@@ -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>
index 50c5748..5d18bda 100644 (file)
@@ -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);
index 10e4fa5..81783cd 100644 (file)
@@ -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;
 
index 16048dd..1b1ce48 100644 (file)
@@ -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);
     }
 
index 0eca373..a13927b 100644 (file)
@@ -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;
index e405921..9a5d86a 100644 (file)
@@ -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;
 
index 50619e5..93303b8 100644 (file)
@@ -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;
 
index 11091c3..95137d1 100644 (file)
@@ -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 {
index bdc9269..a27a650 100644 (file)
@@ -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;
 
index d6cfce0..b2e3bff 100644 (file)
@@ -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));
index b17d61e..796408e 100644 (file)
@@ -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;
-        }
     }
 }
index f613d54..4fcca5b 100644 (file)
@@ -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);
             }
 
index 415751f..9179854 100644 (file)
@@ -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);
     }
 
index 4574544..7ea7baa 100644 (file)
@@ -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);
             }
         };
index aa7b19f..885a3d5 100644 (file)
@@ -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);
index af1f72e..fcfe82d 100644 (file)
@@ -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);
index 030be02..22cdb72 100644 (file)
@@ -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);
index 6f9c1f2..72aec89 100644 (file)
@@ -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);
index 2b36dc2..af6867a 100644 (file)
@@ -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<>();
 
index b373274..7f260e0 100644 (file)
@@ -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) {
index 563641c..7afb0c6 100644 (file)
@@ -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);
             }
         };
index 4aaea78..174526c 100644 (file)
@@ -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;
 
index 49819d5..7e588d8 100644 (file)
@@ -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);
             }
         });
index 0e23e1b..f1b3f5b 100644 (file)
@@ -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);
index 06729c9..fc056a0 100644 (file)
@@ -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;
@@ -128,10 +129,10 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
         addInnerObject(checkGroup);
 
         groupSelector = new CheckGroupSelector("groupselector", checkGroup);
-        addInnerObject(groupSelector.setOutputMarkupId(true)
-                .setOutputMarkupPlaceholderTag(true)
-                .setVisible(this.check.getObject() == CheckAvailability.AVAILABLE)
-                .setEnabled(this.check.getObject() == CheckAvailability.AVAILABLE));
+        addInnerObject(groupSelector.setOutputMarkupId(true).
+                setOutputMarkupPlaceholderTag(true).
+                setVisible(this.check.getObject() == CheckAvailability.AVAILABLE).
+                setEnabled(this.check.getObject() == CheckAvailability.AVAILABLE));
 
         final List<String> toBeIncluded;
         if (includes == null || includes.isEmpty()) {
@@ -235,12 +236,14 @@ 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), groupSelector.getMarkupId());
+            // reload the list view panel
+            target.get().add(ListViewPanel.this, getMarkupId());
+        }
     }
 
     protected abstract Component getValueComponent(final String key, final T bean);
index 81167d8..9fc398e 100644 (file)
@@ -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);
             }
         });
index be021c7..f0971c6 100644 (file)
@@ -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);
             }
         });
index 221ae41..ec2fdc2 100644 (file)
@@ -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
index 7d6847c..7fa1774 100644 (file)
@@ -169,12 +169,12 @@ public class ParametersCreateWizardAttrStep extends WizardStep {
 
             case Long:
                 panel = new AjaxSpinnerFieldPanel.Builder<Long>()
-                        .build(id, valueHeaderName, Long.class, new Model<Long>());
+                        .build(id, valueHeaderName, Long.class, new Model<>());
                 break;
 
             case Double:
                 panel = new AjaxSpinnerFieldPanel.Builder<Double>()
-                        .build(id, valueHeaderName, Double.class, new Model<Double>());
+                        .build(id, valueHeaderName, Double.class, new Model<>());
                 break;
 
             case Binary:
index e85a39e..335091a 100644 (file)
@@ -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);
index 56d92ec..1f35056 100644 (file)
@@ -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);
index 691ac5c..242c422 100644 (file)
@@ -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;
 
index a410833..1301f0d 100644 (file)
@@ -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));
index 6e8ec76..654fec9 100644 (file)
@@ -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);
index 62cd907..e45a58a 100644 (file)
@@ -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()));
index a639035..8043a01 100644 (file)
@@ -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);
index 18c35cd..1faf3e1 100644 (file)
@@ -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);
             }
         });
index e3f2b17..b008980 100644 (file)
 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);
 }
index 08a3147..511fbfc 100644 (file)
@@ -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);
     }
index 980fe4c..a830311 100644 (file)
@@ -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,
index 47e3545..0156619 100644 (file)
@@ -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;
 
index 0eac09c..1be9976 100644 (file)
@@ -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);
index b265caf..da0efd9 100644 (file)
@@ -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 -> {
index 6aa57d3..04a37a2 100644 (file)
@@ -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 {
index 43d9282..55e3381 100644 (file)
@@ -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);
     }
 }
index 3dadb56..ba08b8d 100644 (file)
@@ -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());
index 345a1eb..f920381 100644 (file)
@@ -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;
 
index 6ad4079..dacbde9 100644 (file)
@@ -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);
             }
         };
index ff71ade..9440e19 100644 (file)
@@ -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);
             }
 
index 625506c..802b34c 100644 (file)
@@ -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);
             }
         });
index 6948aca..69ede94 100644 (file)
@@ -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);
             }
         };
 
index 19f112b..6d3be21 100644 (file)
@@ -92,7 +92,7 @@ public abstract class AbstractMultiPanel<INNER> extends AbstractFieldPanel<List<
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 //Add current component
                 model.getObject().add(newModelObject());
 
@@ -104,9 +104,9 @@ public abstract class AbstractMultiPanel<INNER> extends AbstractFieldPanel<List<
             }
 
             @Override
-            protected void onError(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onError(final AjaxRequestTarget target) {
                 SyncopeConsoleSession.get().error(getString(Constants.OPERATION_ERROR));
-                super.onError(target, form);
+                super.onError(target);
                 ((BasePage) getPage()).getNotificationPanel().refresh(target);
             }
 
@@ -157,7 +157,7 @@ public abstract class AbstractMultiPanel<INNER> extends AbstractFieldPanel<List<
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
-                protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                protected void onSubmit(final AjaxRequestTarget target) {
                     //Drop current component
                     model.getObject().remove(item.getModelObject());
                     clearInput(panel);
@@ -170,8 +170,8 @@ public abstract class AbstractMultiPanel<INNER> extends AbstractFieldPanel<List<
                 }
 
                 @Override
-                protected void onError(final AjaxRequestTarget target, final Form<?> form) {
-                    onSubmit(target, form);
+                protected void onError(final AjaxRequestTarget target) {
+                    onSubmit(target);
                 }
             };
 
index e5fafb0..59478b5 100644 (file)
@@ -175,8 +175,8 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
             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);
                 target.add(palette);
             }
         });
index 631496c..38676f2 100644 (file)
@@ -26,8 +26,8 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.fileinput.Fil
 import de.agilecoders.wicket.jquery.JQuery;
 import de.agilecoders.wicket.jquery.function.IFunction;
 import java.io.ByteArrayInputStream;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.Base64;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.apache.commons.lang3.StringUtils;
@@ -55,7 +55,6 @@ import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.util.crypt.Base64;
 import org.apache.wicket.util.lang.Bytes;
 
 public class BinaryFieldPanel extends FieldPanel<String> {
@@ -198,7 +197,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
                         ((BasePage) getPageReference().getPage()).getNotificationPanel().refresh(target);
                     } else {
                         final byte[] uploadedBytes = uploadedFile.getBytes();
-                        final String uploaded = new String(Base64.encodeBase64(uploadedBytes), StandardCharsets.UTF_8);
+                        final String uploaded = Base64.getEncoder().encodeToString(uploadedBytes);
                         field.setModelObject(uploaded);
                         target.add(field);
 
@@ -245,7 +244,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
     }
 
     private Response buildResponse() {
-        return Response.ok(new ByteArrayInputStream(Base64.decodeBase64(getModelObject()))).
+        return Response.ok(new ByteArrayInputStream(Base64.getMimeDecoder().decode(getModelObject()))).
                 type(StringUtils.isBlank(mimeType) ? MediaType.APPLICATION_OCTET_STREAM : mimeType).build();
     }
 
index 796c825..9958a69 100644 (file)
@@ -18,9 +18,9 @@
  */
 package org.apache.syncope.client.console.wicket.markup.html.form.preview;
 
+import java.util.Base64;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.crypt.Base64;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,7 +38,7 @@ public abstract class AbstractBinaryPreviewer extends Panel {
     }
 
     public Component preview(final String uploaded) {
-        return preview(Base64.decodeBase64(uploaded));
+        return preview(Base64.getMimeDecoder().decode(uploaded));
     }
 
     public abstract Component preview(final byte[] uploadedBytes);
index a06f589..8a8a15e 100644 (file)
@@ -53,13 +53,13 @@ public class LoadWidget extends BaseWidget {
         line.getOptions().setShowScale(false);
         line.getOptions().setMultiTooltipTemplate("<%= datasetLabel %>");
 
-        for (SystemInfo.LoadInstant instant : systeminfo.getLoad()) {
+        systeminfo.getLoad().forEach(instant -> {
             line.getData().getLabels().add(DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT.
                     format(systeminfo.getStartTime() + instant.getUptime()));
 
             cpuValues.add(instant.getSystemLoadAverage() * 1000);
             memValues.add(instant.getTotalMemory());
-        }
+        });
 
         LineDataSet cpuDataSet = new LineDataSet(cpuValues);
         cpuDataSet.setLabel("CPU");
index 36cf21b..023596b 100644 (file)
@@ -106,7 +106,7 @@ public class NumberWidget extends BaseWidget {
                 responsePage = Realms.class;
         }
 
-        AjaxEventBehavior clickToRealms = new AjaxEventBehavior("onmousedown") {
+        AjaxEventBehavior clickToRealms = new AjaxEventBehavior("mousedown") {
 
             private static final long serialVersionUID = -7133385027739964990L;
 
index 1d1dc2d..18170d7 100644 (file)
@@ -47,7 +47,6 @@ import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
-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;
@@ -371,7 +370,7 @@ public abstract class AbstractMappingPanel extends Panel {
             private static final long serialVersionUID = -4804368561204623354L;
 
             @Override
-            protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            protected void onSubmit(final AjaxRequestTarget target) {
                 model.getObject().add(new ItemTO());
                 target.add(AbstractMappingPanel.this);
             }
index 1f14d8f..2552b4c 100644 (file)
@@ -41,7 +41,6 @@ import org.apache.wicket.extensions.wizard.IWizardStep;
 import org.apache.wicket.extensions.wizard.Wizard;
 import org.apache.wicket.extensions.wizard.WizardModel;
 import org.apache.wicket.extensions.wizard.WizardStep;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.slf4j.Logger;
@@ -172,7 +171,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard
      */
     @Override
     public final void onCancel() {
-        final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
+        AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class).orElse(null);
         try {
             onCancelInternal();
             if (eventSink == null) {
@@ -193,18 +192,18 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard
      */
     @Override
     public final void onFinish() {
-        final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
+        AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class).orElse(null);
         try {
             final Serializable res = onApply(target);
             if (eventSink == null) {
-                send(AjaxWizard.this, Broadcast.BUBBLE, new NewItemFinishEvent<>(item, target).setResult(res));
+                send(this, Broadcast.BUBBLE, new NewItemFinishEvent<>(item, target).setResult(res));
             } else {
                 send(eventSink, Broadcast.EXACT, new NewItemFinishEvent<>(item, target).setResult(res));
             }
         } catch (TimeoutException te) {
             LOG.warn("Operation applying took to long", te);
             if (eventSink == null) {
-                send(AjaxWizard.this, Broadcast.BUBBLE, new NewItemCancelEvent<>(item, target));
+                send(this, Broadcast.BUBBLE, new NewItemCancelEvent<>(item, target));
             } else {
                 send(eventSink, Broadcast.EXACT, new NewItemCancelEvent<>(item, target));
             }
@@ -361,7 +360,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             onApply(target);
         } catch (TimeoutException te) {
@@ -373,7 +372,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard
     }
 
     @Override
-    public void onError(final AjaxRequestTarget target, final Form<?> form) {
+    public void onError(final AjaxRequestTarget target) {
         ((BasePage) getPage()).getNotificationPanel().refresh(target);
     }
 
index c93d6b0..662272f 100644 (file)
@@ -32,7 +32,6 @@ import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
 import org.apache.wicket.extensions.wizard.WizardModel.ICondition;
 import org.apache.wicket.extensions.wizard.WizardStep;
 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.ResourceModel;
@@ -63,7 +62,7 @@ public abstract class AbstractConnConfPanel<T extends AbstractBaseBean> extends
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 final Pair<Boolean, String> result = check(target);
                 if (result.getLeft()) {
                     SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
index 1aa783f..ca5b038 100644 (file)
@@ -104,7 +104,7 @@ public class ItemTransformersTogglePanel extends TogglePanel<Serializable> {
             private static final long serialVersionUID = 5538299138211283825L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 toggle(target, false);
                 target.add(container);
             }
index 6a85d96..fdbab71 100644 (file)
@@ -62,7 +62,7 @@ public class JEXLTransformersTogglePanel extends TogglePanel<Serializable> {
             private static final long serialVersionUID = 4617041491286858973L;
 
             @Override
-            public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+            public void onSubmit(final AjaxRequestTarget target) {
                 toggle(target, false);
                 target.add(container);
             }
index d1f72ec..46b99b3 100644 (file)
@@ -59,7 +59,7 @@ public abstract class ObjectTypeTogglePanel 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) {
                 ObjectTypeTogglePanel.this.onSubmit(typeModel.getObject(), target);
                 target.add(form);
                 toggle(target, false);
@@ -68,7 +68,7 @@ public abstract class ObjectTypeTogglePanel 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);
             }
         });
index 4976641..b3c8b33 100644 (file)
@@ -46,7 +46,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
@@ -276,7 +275,7 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
     }
 
     @Override
-    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+    public void onSubmit(final AjaxRequestTarget target) {
         try {
             if (resourceTO.getOrgUnit() != null) {
                 checkConnObjectKeyCount(SyncopeConstants.REALM_ANYTYPE, resourceTO.getOrgUnit().getItems());
index d1ab28e..00d784d 100644 (file)
@@ -21,8 +21,8 @@ package org.apache.syncope.client.enduser.util;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
+import java.util.Base64;
 import javax.xml.bind.DatatypeConverter;
-import org.apache.wicket.util.crypt.Base64;
 
 public final class SaltGenerator {
 
@@ -36,7 +36,7 @@ public final class SaltGenerator {
         try {
             md = MessageDigest.getInstance("MD2");
             return DatatypeConverter.printHexBinary(
-                    md.digest((input + Base64.encodeBase64String(salt)).getBytes()));
+                    md.digest((input + Base64.getMimeEncoder().encodeToString(salt)).getBytes()));
         } catch (final NoSuchAlgorithmException e) {
             throw new IllegalArgumentException(e);
         }
index 6b32959..cddb413 100644 (file)
@@ -42,7 +42,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 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;
@@ -124,7 +123,7 @@ public class CamelRoutesDirectoryPanel extends DirectoryPanel<
                     private static final long serialVersionUID = 5488080606102212554L;
 
                     @Override
-                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                    public void onSubmit(final AjaxRequestTarget target) {
                         try {
                             restClient.update(anyTypeKind, route);
                             info(getString(Constants.OPERATION_SUCCEEDED));
index 857948b..cbc8234 100644 (file)
@@ -81,7 +81,7 @@ public class ImportMetadata 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) {
                 if (ArrayUtils.isNotEmpty(metadata.getObject())) {
                     try {
                         restClient.importIdPs(new ByteArrayInputStream(metadata.getObject()));
@@ -101,7 +101,7 @@ public class ImportMetadata 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);
             }
         });
index f46a5f8..e4dd9fd 100644 (file)
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.panels;
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -67,7 +68,6 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.util.crypt.Base64;
 
 public class SAML2IdPsDirectoryPanel extends DirectoryPanel<
         SAML2IdPTO, SAML2IdPTO, SAML2IdPsProvider, SAML2IdPsRestClient> {
@@ -214,7 +214,7 @@ public class SAML2IdPsDirectoryPanel extends DirectoryPanel<
                 metadataModal.header(Model.of(object.getName() + " - Metadata"));
                 metadataModal.setContent(new XMLEditorPanel(
                         metadataModal,
-                        Model.of(new String(Base64.decodeBase64(object.getMetadata()))),
+                        Model.of(new String(Base64.getMimeDecoder().decode(object.getMetadata()))),
                         true,
                         pageRef));
                 metadataModal.show(true);
index 9d8beaf..e318a57 100644 (file)
@@ -21,6 +21,7 @@ package org.apache.syncope.fit.console;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.lang.reflect.InvocationTargetException;
+import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.pages.Logs;
 import org.apache.syncope.common.lib.log.LoggerTO;
 import org.apache.wicket.Component;
@@ -64,7 +65,8 @@ public class LogsITCase extends AbstractConsoleITCase {
                 result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", "6");
         TESTER.assertComponent(
                 result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", DropDownChoice.class);
-        TESTER.executeAjaxEvent(result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", "onchange");
+        TESTER.executeAjaxEvent(
+                result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", Constants.ON_CHANGE);
 
         TESTER.assertInfoMessages("Operation executed successfully");
     }
@@ -75,7 +77,7 @@ public class LogsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:content:tabbedPanel:tabs-container:tabs:1:link");
         TESTER.assertComponent(CONTAINER_PATH, WebMarkupContainer.class);
 
-        assertNotNull(searchLog(KEY, CONTAINER_PATH, "org.apache.syncope.fit"));
+        assertNotNull(searchLog(KEY, CONTAINER_PATH, "org.apache.wicket"));
     }
 
     @Test
@@ -83,12 +85,13 @@ public class LogsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:content:tabbedPanel:tabs-container:tabs:1:link");
         TESTER.assertComponent(CONTAINER_PATH, WebMarkupContainer.class);
 
-        Component result = searchLog(KEY, CONTAINER_PATH, "org.apache.syncope.fit");
+        Component result = searchLog(KEY, CONTAINER_PATH, "org.apache.wicket");
         assertNotNull(result);
 
         TESTER.getRequest().addParameter(
                 result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", "6");
-        TESTER.executeAjaxEvent(result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", "onchange");
+        TESTER.executeAjaxEvent(
+                result.getPageRelativePath() + ":fields:1:field:dropDownChoiceField", Constants.ON_CHANGE);
 
         TESTER.assertInfoMessages("Operation executed successfully");
     }
diff --git a/pom.xml b/pom.xml
index 98b668b..9c9b83d 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -441,9 +441,9 @@ under the License.
     <jsplumb.version>2.0.7</jsplumb.version>
     <chartjs.version>1.0.2</chartjs.version>
     
-    <wicket.version>7.10.0</wicket.version>
-    <wicket-jqueryui.version>7.10.2</wicket-jqueryui.version>
-    <wicket-bootstrap.version>0.10.17</wicket-bootstrap.version>
+    <wicket.version>8.0.0</wicket.version>
+    <wicket-jqueryui.version>8.0.0</wicket-jqueryui.version>
+    <wicket-bootstrap.version>2.0.2</wicket-bootstrap.version>
 
     <angular.version>1.7.0</angular.version>
     <angular-ui-router.version>0.3.2</angular-ui-router.version>
@@ -1157,7 +1157,7 @@ under the License.
         <version>${wicket.version}</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.wicket</groupId>
+        <groupId>org.wicketstuff</groupId>
         <artifactId>wicket-datetime</artifactId>
         <version>${wicket.version}</version>
       </dependency>
@@ -1195,6 +1195,16 @@ under the License.
         <groupId>de.agilecoders.wicket</groupId>
         <artifactId>wicket-bootstrap-core</artifactId>
         <version>${wicket-bootstrap.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.wicket</groupId>
+            <artifactId>wicket-request</artifactId>            
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.wicket</groupId>
+            <artifactId>wicket-util</artifactId>
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>de.agilecoders.wicket</groupId>
@@ -1202,6 +1212,14 @@ under the License.
         <version>${wicket-bootstrap.version}</version>
         <exclusions>
           <exclusion>
+            <groupId>org.apache.wicket</groupId>
+            <artifactId>wicket-request</artifactId>            
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.wicket</groupId>
+            <artifactId>wicket-util</artifactId>
+          </exclusion>
+          <exclusion>
             <groupId>com.google.javascript</groupId>
             <artifactId>closure-compiler</artifactId>
           </exclusion>
@@ -1218,428 +1236,428 @@ under the License.
             <artifactId>momentjs</artifactId>
           </exclusion>
         </exclusions>
-      </dependency>            
-      <!-- /Wicket -->
-      
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-api</artifactId>
-        <version>${slf4j.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-api</artifactId>
-        <version>${log4j.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-core</artifactId>
-        <version>${log4j.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.lmax</groupId>
-        <artifactId>disruptor</artifactId>
-        <version>${disruptor.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-slf4j-impl</artifactId>
-        <version>${log4j.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>${commons-logging.version}</version>
-        <scope>provided</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>jcl-over-slf4j</artifactId>
-        <version>${slf4j.version}</version>
       </dependency>
+    <!-- /Wicket -->
       
-      <dependency>
-        <groupId>org.apache.pdfbox</groupId>
-        <artifactId>pdfbox</artifactId>
-        <version>2.0.9</version>
-      </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>${slf4j.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
+      <version>${log4j.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+      <version>${log4j.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.lmax</groupId>
+      <artifactId>disruptor</artifactId>
+      <version>${disruptor.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-slf4j-impl</artifactId>
+      <version>${log4j.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>${commons-logging.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <version>${slf4j.version}</version>
+    </dependency>
       
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jquery</artifactId>
-        <version>${jquery.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jquery-ui</artifactId>
-        <version>${jquery-ui.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jquery-ui-themes</artifactId>
-        <version>${jquery-ui.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jQuery-slimScroll</artifactId>
-        <version>${jquery-slimscroll.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>bootstrap</artifactId>
-        <version>${bootstrap.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>bootstrap-select</artifactId>
-        <version>${bootstrap-select.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>bootstrap-fileinput</artifactId>
-        <version>${bootstrap-fileinput.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>jquery</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>bootstrap</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>      
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>font-awesome</artifactId>
-        <version>${font-awesome.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>bootbox</artifactId>
-        <version>${bootbox.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>ionicons</artifactId>
-        <version>${ionicons.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>highlightjs</artifactId>
-        <version>${highlightjs.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>codemirror</artifactId>
-        <version>${codemirror.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>google-diff-match-patch</artifactId>
-        <version>${googlediffmatchpath.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jsplumb</artifactId>
-        <version>${jsplumb.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>chart.js</artifactId>
-        <version>${chartjs.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>jquery-cookie</artifactId>
-        <version>${jquery-cookie.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular</artifactId>
-        <version>${angular.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-resource</artifactId>
-        <version>${angular.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-cookies</artifactId>
-        <version>${angular.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-ui-router</artifactId>
-        <version>${angular-ui-router.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars</groupId>
-            <artifactId>angularjs</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-animate</artifactId>
-        <version>${angular.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>angular-ui-bootstrap</artifactId>
-        <version>${angular-ui-bootstrap.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars</groupId>
-            <artifactId>angularjs</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>angular-ui-select</artifactId>
-        <version>${angular-ui-select.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars</groupId>
-            <artifactId>angularjs</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-sanitize</artifactId>
-        <version>${angular.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-treasure-overlay-spinner</artifactId>
-        <version>${angular-treasure-overlay-spinner.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-translate</artifactId>
-        <version>${angular-translate.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-translate-loader-partial</artifactId>
-        <version>${angular-translate.version}</version>
-      </dependency>      
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>angular-translate-storage-cookie</artifactId>
-        <version>${angular-translate.version}</version>
-      </dependency>      
-
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>ng-password-strength</artifactId>
-        <version>${ng-password-strength.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>lodash</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>lodash</artifactId>
-        <version>${lodash.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars</groupId>
-        <artifactId>kendo-ui-core</artifactId>
-        <version>${kendo-ui-core.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>select2</artifactId>
-        <version>${select2.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>jquery</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.webjars.bower</groupId>
-        <artifactId>FileSaver.js</artifactId>
-        <version>${fileSaver.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.codehaus.izpack</groupId>
-        <artifactId>izpack-compiler</artifactId>
-        <version>${izpack.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.codehaus.izpack</groupId>
-        <artifactId>izpack-panel</artifactId>
-        <version>${izpack.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.icepdf.os</groupId>
-            <artifactId>icepdf-core</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>org.icepdf.os</groupId>
-            <artifactId>icepdf-viewer</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
+    <dependency>
+      <groupId>org.apache.pdfbox</groupId>
+      <artifactId>pdfbox</artifactId>
+      <version>2.0.9</version>
+    </dependency>
       
-      <dependency>
-        <groupId>org.apache.maven.shared</groupId>
-        <artifactId>maven-invoker</artifactId>
-        <version>${maven-invoker.version}</version>
-      </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jquery</artifactId>
+      <version>${jquery.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jquery-ui</artifactId>
+      <version>${jquery-ui.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jquery-ui-themes</artifactId>
+      <version>${jquery-ui.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jQuery-slimScroll</artifactId>
+      <version>${jquery-slimscroll.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>bootstrap</artifactId>
+      <version>${bootstrap.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>bootstrap-select</artifactId>
+      <version>${bootstrap-select.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>bootstrap-fileinput</artifactId>
+      <version>${bootstrap-fileinput.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars.bower</groupId>
+          <artifactId>jquery</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.webjars.bower</groupId>
+          <artifactId>bootstrap</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>      
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>font-awesome</artifactId>
+      <version>${font-awesome.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>bootbox</artifactId>
+      <version>${bootbox.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>ionicons</artifactId>
+      <version>${ionicons.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>highlightjs</artifactId>
+      <version>${highlightjs.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>codemirror</artifactId>
+      <version>${codemirror.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>google-diff-match-patch</artifactId>
+      <version>${googlediffmatchpath.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jsplumb</artifactId>
+      <version>${jsplumb.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>chart.js</artifactId>
+      <version>${chartjs.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>jquery-cookie</artifactId>
+      <version>${jquery-cookie.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular</artifactId>
+      <version>${angular.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-resource</artifactId>
+      <version>${angular.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-cookies</artifactId>
+      <version>${angular.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-ui-router</artifactId>
+      <version>${angular-ui-router.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars</groupId>
+          <artifactId>angularjs</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-animate</artifactId>
+      <version>${angular.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>angular-ui-bootstrap</artifactId>
+      <version>${angular-ui-bootstrap.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars</groupId>
+          <artifactId>angularjs</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>angular-ui-select</artifactId>
+      <version>${angular-ui-select.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars</groupId>
+          <artifactId>angularjs</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-sanitize</artifactId>
+      <version>${angular.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-treasure-overlay-spinner</artifactId>
+      <version>${angular-treasure-overlay-spinner.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-translate</artifactId>
+      <version>${angular-translate.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-translate-loader-partial</artifactId>
+      <version>${angular-translate.version}</version>
+    </dependency>      
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>angular-translate-storage-cookie</artifactId>
+      <version>${angular-translate.version}</version>
+    </dependency>      
+
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>ng-password-strength</artifactId>
+      <version>${ng-password-strength.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars.bower</groupId>
+          <artifactId>lodash</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>lodash</artifactId>
+      <version>${lodash.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>kendo-ui-core</artifactId>
+      <version>${kendo-ui-core.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>select2</artifactId>
+      <version>${select2.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.webjars.bower</groupId>
+          <artifactId>jquery</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.webjars.bower</groupId>
+      <artifactId>FileSaver.js</artifactId>
+      <version>${fileSaver.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.codehaus.izpack</groupId>
+      <artifactId>izpack-compiler</artifactId>
+      <version>${izpack.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.izpack</groupId>
+      <artifactId>izpack-panel</artifactId>
+      <version>${izpack.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.icepdf.os</groupId>
+          <artifactId>icepdf-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.icepdf.os</groupId>
+          <artifactId>icepdf-viewer</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
       
-      <dependency>
-        <groupId>org.apache.httpcomponents</groupId>
-        <artifactId>httpclient</artifactId>
-        <version>${httpclient.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.httpcomponents</groupId>
-        <artifactId>httpmime</artifactId>
-        <version>${httpclient.version}</version>
-      </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-invoker</artifactId>
+      <version>${maven-invoker.version}</version>
+    </dependency>
       
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-api-annotations-common</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-windows</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-util</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-util-ui</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-util-lookup</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-awt</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-modules-settings</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-io</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-nodes</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-text</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-filesystems</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-openide-loaders</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-core-multiview</artifactId>
-        <version>${netbeans.version}</version>
-        <type>jar</type>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-modules-editor-lib2</artifactId>
-        <version>${netbeans.version}</version>
-        <type>jar</type>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-api-progress</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.api</groupId>
-        <artifactId>org-netbeans-api-progress-nb</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.netbeans.external</groupId>
-        <artifactId>asm-all-5.0.1</artifactId>
-        <version>${netbeans.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.antlr</groupId>
-        <artifactId>antlr4-runtime</artifactId>
-        <version>${antlr4.version}</version>
-      </dependency>
-
-      <!-- TEST -->
-      <dependency>
-        <groupId>com.github.detro</groupId>
-        <artifactId>phantomjsdriver</artifactId>
-        <version>${phantomjs.driver.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>com.icegreen</groupId>
-        <artifactId>greenmail</artifactId>
-        <version>1.5.7</version>
-        <scope>test</scope>
-        <exclusions>
-          <exclusion>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.bouncycastle</groupId>
-        <artifactId>bcpkix-jdk15on</artifactId>
-        <version>1.59</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.springframework</groupId>
-        <artifactId>spring-test</artifactId>
-        <version>${spring.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.junit.jupiter</groupId>
-        <artifactId>junit-jupiter-engine</artifactId>
-        <version>${junit.version}</version>
-        <scope>test</scope>
-      </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+      <version>${httpclient.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpmime</artifactId>
+      <version>${httpclient.version}</version>
+    </dependency>
+      
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-api-annotations-common</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-windows</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-util</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-util-ui</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-util-lookup</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-awt</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-modules-settings</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-io</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-nodes</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-text</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-filesystems</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-openide-loaders</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-core-multiview</artifactId>
+      <version>${netbeans.version}</version>
+      <type>jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-modules-editor-lib2</artifactId>
+      <version>${netbeans.version}</version>
+      <type>jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-api-progress</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.api</groupId>
+      <artifactId>org-netbeans-api-progress-nb</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.netbeans.external</groupId>
+      <artifactId>asm-all-5.0.1</artifactId>
+      <version>${netbeans.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.antlr</groupId>
+      <artifactId>antlr4-runtime</artifactId>
+      <version>${antlr4.version}</version>
+    </dependency>
+
+    <!-- TEST -->
+    <dependency>
+      <groupId>com.github.detro</groupId>
+      <artifactId>phantomjsdriver</artifactId>
+      <version>${phantomjs.driver.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.icegreen</groupId>
+      <artifactId>greenmail</artifactId>
+      <version>1.5.7</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcpkix-jdk15on</artifactId>
+      <version>1.59</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-test</artifactId>
+      <version>${spring.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
+      <version>${junit.version}</version>
+      <scope>test</scope>
+    </dependency>
     </dependencies>
       
   </dependencyManagement>
@@ -2268,7 +2286,7 @@ under the License.
             <link>http://fasterxml.github.io/jackson-datatype-joda/javadoc/2.9/</link>
             <link>http://www.javadoc.io/doc/org.apache.camel/camel-core/2.21.1/</link>
             <link>http://www.javadoc.io/doc/org.apache.camel/camel-spring/2.21.1/</link>
-            <link>https://ci.apache.org/projects/wicket/apidocs/7.x/</link>
+            <link>https://ci.apache.org/projects/wicket/apidocs/8.x/</link>
             <link>https://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
             <link>https://commons.apache.org/proper/commons-io/javadocs/api-2.6/</link>
             <link>https://commons.apache.org/proper/commons-jexl/apidocs/</link>