You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2015/10/30 12:42:22 UTC

[15/28] syncope git commit: [SYNCOPE-156] Removing (most of) Spring from console

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
index 7ea5e96..74b9ed2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
@@ -28,6 +28,8 @@ import org.apache.commons.collections4.Predicate;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.pages.AbstractBasePage;
+import org.apache.syncope.client.console.rest.ConnectorRestClient;
+import org.apache.syncope.client.console.rest.ResourceRestClient;
 import org.apache.syncope.client.console.topology.TopologyNode;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
@@ -54,6 +56,10 @@ public class ResourceModal extends AbstractResourceModal {
 
     private static final long serialVersionUID = 1734415311027284221L;
 
+    private final ResourceRestClient resourceRestClient = new ResourceRestClient();
+
+    private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
+
     private final boolean createFlag;
 
     public ResourceModal(
@@ -95,7 +101,7 @@ public class ResourceModal extends AbstractResourceModal {
             @Override
             public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                 send(pageRef.getPage(), Broadcast.DEPTH,
-                        new AjaxWizard.NewItemActionEvent<ProvisionTO>(provisionTO, 2, target));
+                        new AjaxWizard.NewItemActionEvent<>(provisionTO, 2, target));
             }
         }, ActionLink.ActionType.MAPPING, Entitlement.RESOURCE_UPDATE).addAction(new ActionLink<ProvisionTO>() {
 
@@ -104,7 +110,7 @@ public class ResourceModal extends AbstractResourceModal {
             @Override
             public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                 send(pageRef.getPage(), Broadcast.DEPTH,
-                        new AjaxWizard.NewItemActionEvent<ProvisionTO>(provisionTO, 3, target));
+                        new AjaxWizard.NewItemActionEvent<>(provisionTO, 3, target));
             }
         }, ActionLink.ActionType.ACCOUNT_LINK, Entitlement.RESOURCE_UPDATE).addAction(new ActionLink<ProvisionTO>() {
 
@@ -114,7 +120,7 @@ public class ResourceModal extends AbstractResourceModal {
             public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                 provisionTO.setSyncToken(null);
                 send(pageRef.getPage(), Broadcast.DEPTH,
-                        new AjaxWizard.NewItemFinishEvent<ProvisionTO>(provisionTO, target));
+                        new AjaxWizard.NewItemFinishEvent<>(provisionTO, target));
             }
         }, ActionLink.ActionType.RESET_TIME, Entitlement.RESOURCE_UPDATE).addAction(new ActionLink<ProvisionTO>() {
 
@@ -123,7 +129,7 @@ public class ResourceModal extends AbstractResourceModal {
             @Override
             public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                 send(pageRef.getPage(), Broadcast.DEPTH,
-                        new AjaxWizard.NewItemActionEvent<ProvisionTO>(SerializationUtils.clone(provisionTO), target));
+                        new AjaxWizard.NewItemActionEvent<>(SerializationUtils.clone(provisionTO), target));
             }
         }, ActionLink.ActionType.CLONE, Entitlement.RESOURCE_CREATE).addAction(new ActionLink<ProvisionTO>() {
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
index 4aab37e..37cf8ac 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
@@ -34,14 +34,12 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 
 public class ResourceSecurityPanel extends Panel {
 
     private static final long serialVersionUID = -7982691107029848579L;
 
-    @SpringBean
-    private PolicyRestClient policyRestClient;
+    private final PolicyRestClient policyRestClient = new PolicyRestClient();
 
     private IModel<Map<Long, String>> passwordPolicies = null;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefGETResource.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefGETResource.java b/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefGETResource.java
index 62dfe30..91e2548 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefGETResource.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefGETResource.java
@@ -21,10 +21,8 @@ package org.apache.syncope.client.console.resources;
 import java.io.IOException;
 import javax.ws.rs.core.MediaType;
 import org.apache.syncope.client.console.rest.WorkflowRestClient;
-import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.resource.AbstractResource;
 import org.apache.wicket.util.io.IOUtils;
-import org.springframework.web.context.support.WebApplicationContextUtils;
 
 /**
  * Mirror REST resource for obtaining user workflow definition in JSON (used by Activiti Modeler).
@@ -45,9 +43,8 @@ public class WorkflowDefGETResource extends AbstractResource {
 
             @Override
             public void writeData(final Attributes attributes) throws IOException {
-                IOUtils.copy(WebApplicationContextUtils.getWebApplicationContext(
-                        WebApplication.get().getServletContext()).getBean(WorkflowRestClient.class).
-                        getDefinition(MediaType.APPLICATION_JSON_TYPE),
+                IOUtils.copy(
+                        new WorkflowRestClient().getDefinition(MediaType.APPLICATION_JSON_TYPE),
                         attributes.getResponse().getOutputStream());
             }
         });

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefPUTResource.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefPUTResource.java b/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefPUTResource.java
index b85dfd8..7800462 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefPUTResource.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/resources/WorkflowDefPUTResource.java
@@ -23,12 +23,10 @@ import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.MediaType;
 import org.apache.cxf.common.util.UrlUtils;
 import org.apache.syncope.client.console.rest.WorkflowRestClient;
-import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.resource.AbstractResource;
 import org.apache.wicket.util.io.IOUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.web.context.support.WebApplicationContextUtils;
 
 /**
  * Mirror REST resource for putting user workflow definition in JSON (used by Activiti Modeler).
@@ -61,9 +59,7 @@ public class WorkflowDefPUTResource extends AbstractResource {
             LOG.error("Could not extract workflow definition from request", e);
         }
 
-        WebApplicationContextUtils.getWebApplicationContext(WebApplication.get().getServletContext()).
-                getBean(WorkflowRestClient.class).
-                updateDefinition(MediaType.APPLICATION_JSON_TYPE, definition);
+        new WorkflowRestClient().updateDefinition(MediaType.APPLICATION_JSON_TYPE, definition);
 
         ResourceResponse response = new ResourceResponse();
         response.setStatusCode(204);

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/rest/BaseRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/BaseRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/BaseRestClient.java
index 15f9c9b..1271e35 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/BaseRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/BaseRestClient.java
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.rest;
 import java.io.Serializable;
 import java.net.URI;
 import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.lib.SyncopeClient;
 import org.apache.syncope.common.lib.search.OrderByClauseBuilder;
@@ -66,7 +67,7 @@ public abstract class BaseRestClient implements Serializable {
 
     protected <E extends JAXRSService, T> T getObject(final E service, final URI location, final Class<T> resultClass) {
         WebClient webClient = WebClient.fromClient(WebClient.client(service));
-        webClient.accept(SyncopeConsoleSession.get().getMediaType()).to(location.toASCIIString(), false);
+        webClient.accept(SyncopeConsoleApplication.get().getMediaType()).to(location.toASCIIString(), false);
         return webClient.get(resultClass);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
index 7005143..faf91ea 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
@@ -33,6 +33,8 @@ import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.AbstractResourceModal.CreateEvent;
+import org.apache.syncope.client.console.rest.ConnectorRestClient;
+import org.apache.syncope.client.console.rest.ResourceRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
@@ -63,6 +65,10 @@ public class Topology extends BasePage {
 
     public static final String ROOT_NAME = "Syncope";
 
+    private final ResourceRestClient resourceRestClient = new ResourceRestClient();
+
+    private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
+
     private final int origX = 3100;
 
     private final int origY = 2800;
@@ -84,8 +90,8 @@ public class Topology extends BasePage {
         }
     };
 
-    private final LoadableDetachableModel<Map<String, List<ConnInstanceTO>>> connModel
-            = new LoadableDetachableModel<Map<String, List<ConnInstanceTO>>>() {
+    private final LoadableDetachableModel<Map<String, List<ConnInstanceTO>>> connModel =
+            new LoadableDetachableModel<Map<String, List<ConnInstanceTO>>>() {
 
                 private static final long serialVersionUID = 5275935387613157432L;
 
@@ -108,8 +114,8 @@ public class Topology extends BasePage {
                 }
             };
 
-    private final LoadableDetachableModel<Pair<List<URI>, List<URI>>> csModel
-            = new LoadableDetachableModel<Pair<List<URI>, List<URI>>>() {
+    private final LoadableDetachableModel<Pair<List<URI>, List<URI>>> csModel =
+            new LoadableDetachableModel<Pair<List<URI>, List<URI>>>() {
 
                 private static final long serialVersionUID = 5275935387613157433L;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
index ff40a8f..0b75ec0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
@@ -49,7 +49,6 @@ import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,21 +56,20 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
 
     private static final long serialVersionUID = -8775095410207013913L;
 
-    protected static final Logger LOG = LoggerFactory.getLogger(TopologyNodePanel.class);
+    private static final Logger LOG = LoggerFactory.getLogger(TopologyNodePanel.class);
 
-    private final BaseModal<Serializable> modal;
+    private final ResourceRestClient resourceRestClient = new ResourceRestClient();
 
-    @SpringBean
-    private ResourceRestClient resourceRestClient;
+    private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
 
-    @SpringBean
-    private ConnectorRestClient connectorRestClient;
+    private final BaseModal<Serializable> modal;
 
     public TopologyNodePanel(
             final String id,
             final TopologyNode node,
             final BaseModal<Serializable> modal,
             final PageReference pageRef) {
+
         super(id);
 
         final String resourceName = node.getDisplayName().length() > 20
@@ -141,7 +139,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
 
                 target.add(modal.setContent(new ConnectorModal(modal, pageRef, model)));
 
-                modal.header(new Model<String>(MessageFormat.format(getString("connector.new"), node.getKey())));
+                modal.header(new Model<>(MessageFormat.format(getString("connector.new"), node.getKey())));
 
                 MetaDataRoleAuthorizationStrategy.
                         authorize(modal.addSumbitButton(), ENABLE, Entitlement.CONNECTOR_CREATE);
@@ -196,7 +194,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
 
                 target.add(modal.setContent(new ResourceModal(modal, pageRef, model, true)));
 
-                modal.header(new Model<String>(MessageFormat.format(getString("resource.new"), node.getKey())));
+                modal.header(new Model<>(MessageFormat.format(getString("resource.new"), node.getKey())));
 
                 MetaDataRoleAuthorizationStrategy.
                         authorize(modal.addSumbitButton(), ENABLE, Entitlement.RESOURCE_CREATE);
@@ -221,7 +219,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
 
                 target.add(modal.setContent(new ConnectorModal(modal, pageRef, model)));
 
-                modal.header(new Model<String>(MessageFormat.format(getString("connector.edit"), node.getKey())));
+                modal.header(new Model<>(MessageFormat.format(getString("connector.edit"), node.getKey())));
 
                 MetaDataRoleAuthorizationStrategy.
                         authorize(modal.addSumbitButton(), ENABLE, Entitlement.CONNECTOR_UPDATE);
@@ -276,7 +274,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
 
                 target.add(modal.setContent(new ResourceModal(modal, pageRef, model, false)));
 
-                modal.header(new Model<String>(MessageFormat.format(getString("resource.edit"), node.getKey())));
+                modal.header(new Model<>(MessageFormat.format(getString("resource.edit"), node.getKey())));
 
                 MetaDataRoleAuthorizationStrategy.
                         authorize(modal.addSumbitButton(), ENABLE, Entitlement.RESOURCE_UPDATE);

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index f0c7093..b7a524a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -44,7 +44,6 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.resource.ContentDisposition;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.apache.wicket.util.crypt.Base64;
 import org.apache.wicket.util.lang.Bytes;
 
@@ -62,14 +61,13 @@ public class BinaryFieldPanel extends FieldPanel<String> {
 
     private final Fragment emptyFragment;
 
-    @SpringBean
-    private PreviewUtils previewUtil;
+    private final PreviewUtils previewUtils = PreviewUtils.getInstance();
 
     public BinaryFieldPanel(final String id, final String name, final IModel<String> model, final String mimeType) {
         super(id, model);
         this.mimeType = mimeType;
 
-        uploadForm = new StatelessForm<Void>("uploadForm");
+        uploadForm = new StatelessForm<>("uploadForm");
         uploadForm.setMultiPart(true);
         uploadForm.setMaxSize(Bytes.megabytes(4));
         add(uploadForm);
@@ -82,8 +80,8 @@ public class BinaryFieldPanel extends FieldPanel<String> {
         container.add(emptyFragment);
         uploadForm.add(container);
 
-        field = new TextField<String>("textField", model);
-        add(field.setLabel(new Model<String>(name)).setOutputMarkupId(true));
+        field = new TextField<>("textField", model);
+        add(field.setLabel(new Model<>(name)).setOutputMarkupId(true));
 
         uploadForm.add(new Label("preview", StringUtils.isBlank(mimeType) ? StringUtils.EMPTY : "(" + mimeType + ")"));
 
@@ -128,8 +126,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
                         field.setModelObject(uploaded);
                         target.add(field);
 
-                        final Component panelPreview = previewUtil.getPreviewer(mimeType, uploadedBytes);
-
+                        Component panelPreview = previewUtils.getPreviewer(mimeType, uploadedBytes);
                         if (panelPreview != null) {
                             changePreviewer(panelPreview);
                         }
@@ -197,7 +194,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
     public FieldPanel<String> setNewModel(final IModel<String> model) {
         field.setModel(model);
         try {
-            final Component panelPreview = previewUtil.getPreviewer(mimeType, model.getObject());
+            Component panelPreview = previewUtils.getPreviewer(mimeType, model.getObject());
             if (panelPreview != null) {
                 changePreviewer(panelPreview);
             }

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
index e71365f..85cc6e2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
@@ -22,6 +22,7 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkbox.boot
 import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkbox.bootstraptoggle.BootstrapToggleConfig;
 import java.io.Serializable;
 import java.util.List;
+import org.apache.commons.lang3.ClassUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.markup.html.form.AbstractFieldPanel;
@@ -46,7 +47,6 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.util.ClassUtils;
 
 public class ConnConfPropertyListView extends ListView<ConnConfProperty> {
 
@@ -90,8 +90,7 @@ public class ConnConfPropertyListView extends ListView<ConnConfProperty> {
         } else {
             Class<?> propertySchemaClass;
             try {
-                propertySchemaClass = ClassUtils.forName(property.getSchema().getType(), ClassUtils.
-                        getDefaultClassLoader());
+                propertySchemaClass = ClassUtils.getClass(property.getSchema().getType());
                 if (ClassUtils.isPrimitiveOrWrapper(propertySchemaClass)) {
                     propertySchemaClass = org.apache.commons.lang3.ClassUtils.primitiveToWrapper(propertySchemaClass);
                 }
@@ -102,8 +101,8 @@ public class ConnConfPropertyListView extends ListView<ConnConfProperty> {
 
             if (ClassUtils.isAssignable(Number.class, propertySchemaClass)) {
                 @SuppressWarnings("unchecked")
-                final Class<Number> numberClass = (Class<Number>) propertySchemaClass;
-                field = new SpinnerFieldPanel<Number>(
+                Class<Number> numberClass = (Class<Number>) propertySchemaClass;
+                field = new SpinnerFieldPanel<>(
                         "panel", label.getDefaultModelObjectAsString(), numberClass, new Model<Number>());
 
                 required = property.getSchema().isRequired();

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/resources/META-INF/web-fragment.xml
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/web-fragment.xml b/client/console/src/main/resources/META-INF/web-fragment.xml
index 04cd14e..7ad9566 100644
--- a/client/console/src/main/resources/META-INF/web-fragment.xml
+++ b/client/console/src/main/resources/META-INF/web-fragment.xml
@@ -29,18 +29,6 @@ under the License.
     <param-name>configuration</param-name>
     <param-value>deployment</param-value>
   </context-param>
-
-  <context-param>
-    <param-name>contextConfigLocation</param-name>
-    <param-value>classpath:consoleContext.xml</param-value>
-  </context-param>
-
-  <listener>
-    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
-  </listener>
     
   <filter>
     <filter-name>SyncopeConsole</filter-name>
@@ -50,8 +38,8 @@ under the License.
       <param-value>/*</param-value>
     </init-param>
     <init-param>
-      <param-name>applicationFactoryClassName</param-name>
-      <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
+      <param-name>applicationClassName</param-name>
+      <param-value>org.apache.syncope.client.console.SyncopeConsoleApplication</param-value>
     </init-param>
   </filter>
     

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/resources/console.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/console.properties b/client/console/src/main/resources/console.properties
index 3f2667b..eb7ea39 100644
--- a/client/console/src/main/resources/console.properties
+++ b/client/console/src/main/resources/console.properties
@@ -15,8 +15,17 @@
 # specific language governing permissions and limitations
 # under the License.
 console.directory=${conf.directory}
+
+version=${syncope.version}
+site=${project.parent.url}
+license=${licenseUrl}
+
+anonymousUser=${anonymousUser}
+anonymousKey=${anonymousKey}
+
 scheme=http
 host=localhost
 port=8080
 rootPath=/syncope/rest/
+
 activitiModelerDirectory=${activiti-modeler.directory}

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/resources/consoleContext.xml
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/consoleContext.xml b/client/console/src/main/resources/consoleContext.xml
deleted file mode 100644
index 8b7fa16..0000000
--- a/client/console/src/main/resources/consoleContext.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context
-                           http://www.springframework.org/schema/context/spring-context.xsd">
-
-  <context:component-scan base-package="org.apache.syncope.client.console"/>
-
-  <bean id="confDirectoryPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-    <property name="order" value="1"/>
-    <property name="location" value="file:${console.directory}/console.properties"/>
-    <property name="ignoreResourceNotFound" value="true"/>
-    <property name="ignoreUnresolvablePlaceholders" value="true"/>
-  </bean>
-  <bean id="classpathPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-    <property name="location" value="classpath:console.properties"/>
-  </bean>
-
-  <bean id="version" class="java.lang.String">
-    <constructor-arg value="${syncope.version}"/>
-  </bean>
-
-  <bean id="site" class="java.lang.String">
-    <constructor-arg value="${project.parent.url}"/>
-  </bean>
-  
-  <bean id="license" class="java.lang.String">
-    <constructor-arg value="${licenseUrl}"/>
-  </bean>
-  
-  <bean id="anonymousUser" class="java.lang.String">
-    <constructor-arg value="${anonymousUser}"/>
-  </bean>
-  <bean id="anonymousKey" class="java.lang.String">
-    <constructor-arg value="${anonymousKey}"/>
-  </bean>
-
-  <bean id="activitiModelerDirectory" class="java.lang.String">
-    <constructor-arg value="${activitiModelerDirectory}"/>
-  </bean>
-
-  <bean class="org.apache.syncope.client.console.SyncopeConsoleApplication"/>
-
-  <bean class="org.apache.syncope.client.console.PreferenceManager"/>
-
-  <bean class="org.apache.syncope.client.lib.SyncopeClientFactoryBean">
-    <property name="address" value="${scheme}://${host}:${port}/${rootPath}"/>
-  </bean>
-
-</beans>

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
index 82dfbc0..6fd9ee5 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
@@ -340,7 +340,6 @@ public class UserDataBinderImpl extends AbstractAnyDataBinder implements UserDat
                     if (otherEnd == null) {
                         LOG.debug("Ignoring invalid any object {}", patch.getRelationshipTO().getRightKey());
                     } else {
-
                         relationship = entityFactory.newEntity(URelationship.class);
                         relationship.setType(relationshipType);
                         relationship.setRightEnd(otherEnd);

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/pages/CamelRouteModalPage.java
----------------------------------------------------------------------
diff --git a/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/pages/CamelRouteModalPage.java b/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/pages/CamelRouteModalPage.java
index b24e360..27b8f91 100644
--- a/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/pages/CamelRouteModalPage.java
+++ b/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/pages/CamelRouteModalPage.java
@@ -35,14 +35,12 @@ import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 
 public class CamelRouteModalPage extends AbstractModalPanel {
 
     private static final long serialVersionUID = -1438441210568592931L;
 
-    @SpringBean
-    private CamelRouteRestClient restClient;
+    private final CamelRouteRestClient restClient = new CamelRouteRestClient();
 
     public CamelRouteModalPage(
             final BaseModal<?> modal,
@@ -54,7 +52,7 @@ public class CamelRouteModalPage extends AbstractModalPanel {
 
         Form<CamelRouteTO> routeForm = new Form<>("routeDefForm");
 
-        final TextArea<String> routeDefArea = new TextArea<>("content", new PropertyModel<String>(routeTO, "content"));
+        TextArea<String> routeDefArea = new TextArea<>("content", new PropertyModel<String>(routeTO, "content"));
 
         routeForm.add(routeDefArea);
         routeForm.setModel(new CompoundPropertyModel<>(routeTO));

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutePanel.java
----------------------------------------------------------------------
diff --git a/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutePanel.java b/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutePanel.java
index 005e23f..bfcd912 100644
--- a/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutePanel.java
+++ b/ext/camel/client-console/src/main/java/org/apache/syncope/client/console/panels/CamelRoutePanel.java
@@ -43,7 +43,6 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 
 @ExtensionPanel("Camel routes")
 public class CamelRoutePanel extends AbstractExtensionPanel {
@@ -54,8 +53,7 @@ public class CamelRoutePanel extends AbstractExtensionPanel {
 
     private static final int CAMELROUTE_WIN_WIDTH = 800;
 
-    @SpringBean
-    private CamelRouteRestClient restClient;
+    private CamelRouteRestClient restClient = new CamelRouteRestClient();
 
     private ModalWindow editCamelRouteWin;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/fit/console-reference/pom.xml
----------------------------------------------------------------------
diff --git a/fit/console-reference/pom.xml b/fit/console-reference/pom.xml
index c2785ac..b05bc3d 100644
--- a/fit/console-reference/pom.xml
+++ b/fit/console-reference/pom.xml
@@ -496,7 +496,7 @@ ORYX.Editor.createByUrl = function(modelUrl){"/>
               <configuration>
                 <properties>
                   <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-                    -noverify ${javaagent} -Drebel.spring_plugin=true 
+                    -noverify ${javaagent}
                     -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
                 </properties>
               </configuration>

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/fit/console-reference/src/main/resources/console.properties
----------------------------------------------------------------------
diff --git a/fit/console-reference/src/main/resources/console.properties b/fit/console-reference/src/main/resources/console.properties
index cf20f3c..be99423 100644
--- a/fit/console-reference/src/main/resources/console.properties
+++ b/fit/console-reference/src/main/resources/console.properties
@@ -15,8 +15,17 @@
 # specific language governing permissions and limitations
 # under the License.
 console.directory=${conf.directory}
+
+version=${syncope.version}
+site=${project.parent.url}
+license=${licenseUrl}
+
+anonymousUser=${anonymousUser}
+anonymousKey=${anonymousKey}
+
 scheme=http
 host=localhost
 port=9080
 rootPath=/syncope/rest/
+
 activitiModelerDirectory=${activiti-modeler.directory}

http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cc202d8..ea9afa3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -411,7 +411,7 @@ under the License.
     <cargo.log>${log.directory}/cargo.log</cargo.log>
     <cargo.output>${log.directory}/cargo-output.log</cargo.output>
 
-    <tomcat.version>8.0.26</tomcat.version>
+    <tomcat.version>8.0.27</tomcat.version>
 
     <anonymousUser>anonymous</anonymousUser>
     <!-- static keys, only used for build: generated overlays will override during archetype:generate -->
@@ -854,17 +854,6 @@ under the License.
       </dependency>
       <dependency>
         <groupId>org.apache.wicket</groupId>
-        <artifactId>wicket-spring</artifactId>
-        <version>${wicket.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.wicket</groupId>
         <artifactId>wicket-auth-roles</artifactId>
         <version>${wicket.version}</version>
       </dependency>