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:23 UTC
[16/28] syncope git commit: [SYNCOPE-156] Removing (most of) Spring
from console
[SYNCOPE-156] Removing (most of) Spring from console
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/13f96e06
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/13f96e06
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/13f96e06
Branch: refs/heads/master
Commit: 13f96e06804f0574a72cf2d496cb2ac62f927847
Parents: 07b519b
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Oct 6 17:50:44 2015 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Oct 6 17:50:44 2015 +0200
----------------------------------------------------------------------
client/console/pom.xml | 8 +-
.../client/console/PreferenceManager.java | 10 +-
.../console/SyncopeConsoleApplication.java | 127 +++++++++++++++----
.../client/console/SyncopeConsoleSession.java | 47 ++-----
.../client/console/commons/PreviewUtils.java | 44 +++++--
.../init/ClassPathScanImplementationLookup.java | 109 ++++++++++++++++
.../client/console/init/ConsoleInitializer.java | 52 +++-----
.../init/ImplementationClassNamesLoader.java | 105 ---------------
.../client/console/init/MIMETypesLoader.java | 15 +--
.../console/init/SyncopeConsoleLoader.java | 35 -----
.../client/console/pages/AbstractBasePage.java | 41 ------
.../syncope/client/console/pages/BasePage.java | 7 +-
.../pages/DisplayAttributesModalPage.java | 4 +-
.../syncope/client/console/pages/Login.java | 6 +-
.../console/pages/MustChangePassword.java | 4 +-
.../console/pages/ProvisioningModalPage.java | 9 ++
.../syncope/client/console/pages/Realms.java | 4 +-
.../client/console/pages/ResultStatusModal.java | 6 +-
.../client/console/pages/StatusModalPage.java | 19 ++-
.../syncope/client/console/pages/Workflow.java | 11 +-
.../console/pages/XMLEditorPopupPage.java | 4 +-
.../console/panels/AbstractModalPanel.java | 41 ------
.../panels/AbstractSearchResultPanel.java | 7 +-
.../console/panels/AnySearchResultPanel.java | 9 +-
.../client/console/panels/ConnectorModal.java | 3 +
.../client/console/panels/GroupModalPanel.java | 4 +
.../syncope/client/console/panels/Realm.java | 15 +--
.../client/console/panels/RealmModalPanel.java | 9 +-
.../console/panels/RealmSidebarPanel.java | 4 +-
.../console/panels/ResourceConnConfPanel.java | 4 +-
.../console/panels/ResourceMappingPanel.java | 7 +-
.../client/console/panels/ResourceModal.java | 14 +-
.../console/panels/ResourceSecurityPanel.java | 4 +-
.../resources/WorkflowDefGETResource.java | 7 +-
.../resources/WorkflowDefPUTResource.java | 6 +-
.../client/console/rest/BaseRestClient.java | 3 +-
.../client/console/topology/Topology.java | 14 +-
.../console/topology/TopologyNodePanel.java | 20 ++-
.../markup/html/form/BinaryFieldPanel.java | 15 +--
.../html/list/ConnConfPropertyListView.java | 9 +-
.../main/resources/META-INF/web-fragment.xml | 16 +--
.../src/main/resources/console.properties | 9 ++
.../src/main/resources/consoleContext.xml | 71 -----------
.../java/data/UserDataBinderImpl.java | 1 -
.../console/pages/CamelRouteModalPage.java | 6 +-
.../client/console/panels/CamelRoutePanel.java | 4 +-
fit/console-reference/pom.xml | 2 +-
.../src/main/resources/console.properties | 9 ++
pom.xml | 13 +-
49 files changed, 420 insertions(+), 573 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/pom.xml
----------------------------------------------------------------------
diff --git a/client/console/pom.xml b/client/console/pom.xml
index fb78280..24f6288 100644
--- a/client/console/pom.xml
+++ b/client/console/pom.xml
@@ -46,9 +46,9 @@ under the License.
<dependency>
<groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
+ <artifactId>spring-context</artifactId>
</dependency>
-
+
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
@@ -64,10 +64,6 @@ under the License.
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
- <artifactId>wicket-spring</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.wicket</groupId>
<artifactId>wicket-auth-roles</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java b/client/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
index 381fc65..c7baef2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
@@ -27,6 +27,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
@@ -35,7 +36,6 @@ import org.apache.wicket.util.cookies.CookieUtils;
import org.apache.wicket.util.crypt.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class PreferenceManager {
@@ -69,7 +69,7 @@ public class PreferenceManager {
private Map<String, String> getPrefs(final String value) {
Map<String, String> prefs;
try {
- if (StringUtils.hasText(value)) {
+ if (StringUtils.isNotBlank(value)) {
prefs = mapper.readValue(value, MAP_TYPE_REF);
} else {
throw new Exception("Invalid cookie value '" + value + "'");
@@ -117,7 +117,7 @@ public class PreferenceManager {
final String compound = get(request, key);
- if (StringUtils.hasText(compound)) {
+ if (StringUtils.isNotBlank(compound)) {
String[] items = compound.split(";");
result.addAll(Arrays.asList(items));
}
@@ -135,7 +135,7 @@ public class PreferenceManager {
// after retrieved previous setting in order to overwrite the key ...
for (Map.Entry<String, List<String>> entry : prefs.entrySet()) {
- current.put(entry.getKey(), StringUtils.collectionToDelimitedString(entry.getValue(), ";"));
+ current.put(entry.getKey(), StringUtils.join(entry.getValue(), ";"));
}
try {
@@ -164,7 +164,7 @@ public class PreferenceManager {
}
public void setList(final Request request, final Response response, final String key, final List<String> values) {
- set(request, response, key, StringUtils.collectionToDelimitedString(values, ";"));
+ set(request, response, key, StringUtils.join(values, ";"));
}
public void setList(final Request request, final Response response, final Map<String, List<String>> prefs) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
index e9f35ec..ec65024 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
@@ -22,11 +22,16 @@ import de.agilecoders.wicket.core.Bootstrap;
import de.agilecoders.wicket.core.settings.BootstrapSettings;
import de.agilecoders.wicket.core.settings.IBootstrapSettings;
import de.agilecoders.wicket.core.settings.SingleThemeProvider;
+import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
-import org.apache.commons.lang3.StringUtils;
+import java.util.Properties;
+import javax.ws.rs.core.MediaType;
+import org.apache.commons.io.FileUtils;
+import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
+import org.apache.syncope.client.console.init.ConsoleInitializer;
import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.pages.MustChangePassword;
import org.apache.syncope.client.console.pages.Dashboard;
@@ -35,8 +40,10 @@ import org.apache.syncope.client.console.resources.FilesystemResource;
import org.apache.syncope.client.console.resources.WorkflowDefGETResource;
import org.apache.syncope.client.console.resources.WorkflowDefPUTResource;
import org.apache.syncope.client.console.themes.AdminLTE;
+import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
import org.apache.syncope.common.lib.types.Entitlement;
import org.apache.wicket.Page;
+import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
@@ -46,19 +53,16 @@ import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.resource.IResource;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.resource.DynamicJQueryResourceReference;
-import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
-import org.springframework.core.type.filter.AssignableTypeFilter;
-import org.springframework.util.ClassUtils;
-import org.springframework.web.context.support.WebApplicationContextUtils;
+import org.springframework.util.Assert;
public class SyncopeConsoleApplication extends AuthenticatedWebApplication {
private static final Logger LOG = LoggerFactory.getLogger(SyncopeConsoleApplication.class);
+ private static final String CONSOLE_PROPERTIES = "console.properties";
+
public static final List<Locale> SUPPORTED_LOCALES = Collections.unmodifiableList(Arrays.asList(
new Locale[] {
Locale.ENGLISH, Locale.ITALIAN, new Locale("pt", "BR")
@@ -66,10 +70,65 @@ public class SyncopeConsoleApplication extends AuthenticatedWebApplication {
private static final String ACTIVITI_MODELER_CONTEXT = "activiti-modeler";
+ public static SyncopeConsoleApplication get() {
+ return (SyncopeConsoleApplication) WebApplication.get();
+ }
+
+ private String version;
+
+ private String site;
+
+ private String license;
+
+ private String anonymousUser;
+
+ private String anonymousKey;
+
+ private String activitiModelerDirectory;
+
+ private SyncopeClientFactoryBean clientFactory;
+
@Override
protected void init() {
super.init();
+ // read console.properties
+ Properties props = new Properties();
+ try {
+ props.load(getClass().getResourceAsStream("/" + CONSOLE_PROPERTIES));
+ File consoleDir = new File(props.getProperty("console.directory"));
+ if (consoleDir.exists() && consoleDir.canRead() && consoleDir.isDirectory()) {
+ File consoleDirProps = FileUtils.getFile(consoleDir, CONSOLE_PROPERTIES);
+ if (consoleDirProps.exists() && consoleDirProps.canRead() && consoleDirProps.isFile()) {
+ props.clear();
+ props.load(FileUtils.openInputStream(consoleDir));
+ }
+ }
+ } catch (Exception e) {
+ throw new WicketRuntimeException("Could not read " + CONSOLE_PROPERTIES, e);
+ }
+ version = props.getProperty("version");
+ Assert.notNull(version, "<version> not set");
+ site = props.getProperty("site");
+ Assert.notNull(site, "<site> not set");
+ license = props.getProperty("license");
+ Assert.notNull(license, "<license> not set");
+ anonymousUser = props.getProperty("anonymousUser");
+ Assert.notNull(anonymousUser, "<anonymousUser> not set");
+ anonymousKey = props.getProperty("anonymousKey");
+ Assert.notNull(anonymousKey, "<anonymousKey> not set");
+
+ String scheme = props.getProperty("scheme");
+ Assert.notNull(scheme, "<scheme> not set");
+ String host = props.getProperty("host");
+ Assert.notNull(host, "<host> not set");
+ String port = props.getProperty("port");
+ Assert.notNull(port, "<port> not set");
+ String rootPath = props.getProperty("rootPath");
+ Assert.notNull(rootPath, "<rootPath> not set");
+
+ clientFactory = new SyncopeClientFactoryBean().setAddress(scheme + "://" + host + ":" + port + "/" + rootPath);
+
// Application settings
IBootstrapSettings settings = new BootstrapSettings();
@@ -81,24 +140,16 @@ public class SyncopeConsoleApplication extends AuthenticatedWebApplication {
getResourceSettings().setUseMinifiedResources(true);
- getComponentInstantiationListeners().add(new SpringComponentInjector(this));
getResourceSettings().setThrowExceptionOnMissingResource(true);
getJavaScriptLibrarySettings().setJQueryReference(new DynamicJQueryResourceReference());
getSecuritySettings().setAuthorizationStrategy(new MetaDataRoleAuthorizationStrategy(this));
- ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
- scanner.addIncludeFilter(new AssignableTypeFilter(BasePage.class));
-
- for (BeanDefinition bd : scanner.findCandidateComponents(StringUtils.EMPTY)) {
- try {
- @SuppressWarnings("unchecked")
- Class<? extends BasePage> clazz = (Class<? extends BasePage>) ClassUtils.resolveClassName(
- bd.getBeanClassName(), ClassUtils.getDefaultClassLoader());
- MetaDataRoleAuthorizationStrategy.authorize(clazz, SyncopeConsoleSession.AUTHENTICATED);
- } catch (Throwable t) {
- LOG.warn("Could not inspect class {}", bd.getBeanClassName(), t);
- }
+
+ ClassPathScanImplementationLookup lookup = (ClassPathScanImplementationLookup) getServletContext().
+ getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);
+ for (Class<? extends BasePage> clazz : lookup.getPageClasses()) {
+ MetaDataRoleAuthorizationStrategy.authorize(clazz, SyncopeConsoleSession.AUTHENTICATED);
}
getMarkupSettings().setStripWicketTags(true);
@@ -108,8 +159,8 @@ public class SyncopeConsoleApplication extends AuthenticatedWebApplication {
mountPage("/login", getSignInPageClass());
- final String activitiModelerDirectory = WebApplicationContextUtils.getWebApplicationContext(
- WebApplication.get().getServletContext()).getBean("activitiModelerDirectory", String.class);
+ activitiModelerDirectory = props.getProperty("activitiModelerDirectory");
+ Assert.notNull(activitiModelerDirectory, "<activitiModelerDirectory> not set");
mountResource("/" + ACTIVITI_MODELER_CONTEXT, new ResourceReference(ACTIVITI_MODELER_CONTEXT) {
private static final long serialVersionUID = -128426276529456602L;
@@ -157,4 +208,36 @@ public class SyncopeConsoleApplication extends AuthenticatedWebApplication {
? MustChangePassword.class
: Dashboard.class;
}
+
+ public String getVersion() {
+ return version;
+ }
+
+ public String getSite() {
+ return site;
+ }
+
+ public String getLicense() {
+ return license;
+ }
+
+ public String getAnonymousUser() {
+ return anonymousUser;
+ }
+
+ public String getAnonymousKey() {
+ return anonymousKey;
+ }
+
+ public String getActivitiModelerDirectory() {
+ return activitiModelerDirectory;
+ }
+
+ public SyncopeClientFactoryBean getClientFactory() {
+ return clientFactory;
+ }
+
+ public MediaType getMediaType() {
+ return clientFactory.getContentType().getMediaType();
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
index f48611f..667b525 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
@@ -44,12 +44,9 @@ import org.apache.syncope.common.rest.api.service.SyncopeService;
import org.apache.wicket.Session;
import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
import org.apache.wicket.authroles.authorization.strategies.role.Roles;
-import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.Request;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.support.WebApplicationContextUtils;
public class SyncopeConsoleSession extends AuthenticatedWebSession {
@@ -59,16 +56,12 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
private static final Logger LOG = LoggerFactory.getLogger(SyncopeConsoleSession.class);
- private final String version;
-
private final SyncopeTO syncopeTO;
private final List<String> domains;
private String domain;
- private final SyncopeClientFactoryBean clientFactory;
-
private final Map<Class<?>, Object> services = Collections.synchronizedMap(new HashMap<Class<?>, Object>());
private SyncopeClient client;
@@ -90,17 +83,10 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
public SyncopeConsoleSession(final Request request) {
super(request);
- ApplicationContext ctx = WebApplicationContextUtils.
- getWebApplicationContext(WebApplication.get().getServletContext());
-
- clientFactory = ctx.getBean(SyncopeClientFactoryBean.class).
- setContentType(SyncopeClientFactoryBean.ContentType.JSON);
- String anonymousUser = ctx.getBean("anonymousUser", String.class);
- String anonymousKey = ctx.getBean("anonymousKey", String.class);
+ SyncopeClient anonymousClient = SyncopeConsoleApplication.get().getClientFactory().create(
+ SyncopeConsoleApplication.get().getAnonymousUser(),
+ SyncopeConsoleApplication.get().getAnonymousKey());
- version = ctx.getBean("version", String.class);
-
- SyncopeClient anonymousClient = clientFactory.create(anonymousUser, anonymousKey);
syncopeTO = anonymousClient.getService(SyncopeService.class).info();
domains = new ArrayList<>();
domains.add(SyncopeConstants.MASTER_DOMAIN);
@@ -114,10 +100,6 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
}, domains);
}
- public String getVersion() {
- return version;
- }
-
public SyncopeTO getSyncopeTO() {
return syncopeTO;
}
@@ -139,7 +121,8 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
boolean authenticated = false;
try {
- client = clientFactory.setDomain(getDomain()).create(username, password);
+ client = SyncopeConsoleApplication.get().getClientFactory().
+ setDomain(getDomain()).create(username, password);
Pair<Map<String, Set<String>>, UserTO> self = client.self();
auth = self.getKey();
@@ -201,12 +184,15 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
public <T> T getService(final MediaType mediaType, final Class<T> serviceClass) {
T service;
- synchronized (clientFactory) {
- SyncopeClientFactoryBean.ContentType preType = clientFactory.getContentType();
+ synchronized (SyncopeConsoleApplication.get().getClientFactory()) {
+ SyncopeClientFactoryBean.ContentType preType =
+ SyncopeConsoleApplication.get().getClientFactory().getContentType();
- clientFactory.setContentType(SyncopeClientFactoryBean.ContentType.fromString(mediaType.toString()));
- service = clientFactory.create(username, password).getService(serviceClass);
- clientFactory.setContentType(preType);
+ SyncopeConsoleApplication.get().getClientFactory().
+ setContentType(SyncopeClientFactoryBean.ContentType.fromString(mediaType.toString()));
+ service = SyncopeConsoleApplication.get().getClientFactory().
+ create(username, password).getService(serviceClass);
+ SyncopeConsoleApplication.get().getClientFactory().setContentType(preType);
}
return service;
@@ -218,12 +204,7 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
}
public DateFormat getDateFormat() {
- final Locale locale = getLocale() == null ? Locale.ENGLISH : getLocale();
-
+ Locale locale = getLocale() == null ? Locale.ENGLISH : getLocale();
return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale);
}
-
- public MediaType getMediaType() {
- return clientFactory.getContentType().getMediaType();
- }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
index 12c93d4..e88fcb3 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/PreviewUtils.java
@@ -18,31 +18,49 @@
*/
package org.apache.syncope.client.console.commons;
+import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.init.ImplementationClassNamesLoader;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
+import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
+import org.apache.syncope.client.console.init.ConsoleInitializer;
import org.apache.syncope.client.console.wicket.markup.html.form.preview.AbstractBinaryPreviewer;
import org.apache.wicket.Component;
import org.apache.wicket.util.crypt.Base64;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.ClassUtils;
+import org.springframework.util.Assert;
-@org.springframework.stereotype.Component
-public class PreviewUtils {
+public final class PreviewUtils {
- @Autowired
- private ImplementationClassNamesLoader implementationClassNamesLoader;
+ public static PreviewUtils getInstance() {
+ return new PreviewUtils();
+ }
+
+ private static <T> Constructor<T> getConstructorIfAvailable(final Class<T> clazz, final Class<?>... paramTypes) {
+ Assert.notNull(clazz, "Class must not be null");
+ try {
+ return clazz.getConstructor(paramTypes);
+ } catch (NoSuchMethodException ex) {
+ return null;
+ }
+ }
+
+ private final ClassPathScanImplementationLookup classPathScanImplementationLookup;
+
+ private PreviewUtils() {
+ classPathScanImplementationLookup = (ClassPathScanImplementationLookup) SyncopeConsoleApplication.get().
+ getServletContext().getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);
+ }
public Component getPreviewer(final String mimeType, final String file)
throws InstantiationException, IllegalAccessException, InvocationTargetException {
- final Class<? extends AbstractBinaryPreviewer> previewer = StringUtils.isBlank(file)
+ Class<? extends AbstractBinaryPreviewer> previewer = StringUtils.isBlank(file)
? null
- : implementationClassNamesLoader.getPreviewerClass(mimeType);
+ : classPathScanImplementationLookup.getPreviewerClass(mimeType);
return previewer == null
? null
- : ClassUtils.getConstructorIfAvailable(previewer, String.class, String.class, byte[].class).
+ : getConstructorIfAvailable(previewer, String.class, String.class, byte[].class).
newInstance(new Object[] { "previewer", mimeType, Base64.decodeBase64(file) }).
preview();
}
@@ -50,12 +68,12 @@ public class PreviewUtils {
public Component getPreviewer(final String mimeType, final byte[] file)
throws InstantiationException, IllegalAccessException, InvocationTargetException {
- final Class<? extends AbstractBinaryPreviewer> previewer =
- implementationClassNamesLoader.getPreviewerClass(mimeType);
+ Class<? extends AbstractBinaryPreviewer> previewer = classPathScanImplementationLookup.getPreviewerClass(
+ mimeType);
return previewer == null
? null
- : ClassUtils.getConstructorIfAvailable(previewer, String.class, String.class, byte[].class).
+ : getConstructorIfAvailable(previewer, String.class, String.class, byte[].class).
newInstance(new Object[] { "previewer", mimeType, file }).
preview();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java b/client/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
new file mode 100644
index 0000000..3c28c04
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.init;
+
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.panels.AbstractExtensionPanel;
+import org.apache.syncope.client.console.annotations.BinaryPreview;
+import org.apache.syncope.client.console.pages.BasePage;
+import org.apache.syncope.client.console.wicket.markup.html.form.preview.AbstractBinaryPreviewer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
+import org.springframework.core.type.filter.AssignableTypeFilter;
+import org.springframework.util.ClassUtils;
+
+public class ClassPathScanImplementationLookup {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ClassPathScanImplementationLookup.class);
+
+ private List<Class<? extends BasePage>> pages;
+
+ private List<Class<? extends AbstractBinaryPreviewer>> previewers;
+
+ private List<Class<? extends AbstractExtensionPanel>> extPanels;
+
+ @SuppressWarnings("unchecked")
+ public void load() {
+ pages = new ArrayList<>();
+ previewers = new ArrayList<>();
+ extPanels = new ArrayList<>();
+
+ ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
+ scanner.addIncludeFilter(new AssignableTypeFilter(BasePage.class));
+ scanner.addIncludeFilter(new AssignableTypeFilter(AbstractBinaryPreviewer.class));
+ scanner.addIncludeFilter(new AssignableTypeFilter(AbstractExtensionPanel.class));
+
+ for (BeanDefinition bd : scanner.findCandidateComponents(StringUtils.EMPTY)) {
+ try {
+ Class<?> clazz = ClassUtils.resolveClassName(
+ bd.getBeanClassName(), ClassUtils.getDefaultClassLoader());
+ boolean isAbsractClazz = Modifier.isAbstract(clazz.getModifiers());
+
+ if (BasePage.class.isAssignableFrom(clazz) && !isAbsractClazz) {
+ pages.add((Class<? extends BasePage>) clazz);
+ } else if (AbstractBinaryPreviewer.class.isAssignableFrom(clazz) && !isAbsractClazz) {
+ previewers.add((Class<? extends AbstractBinaryPreviewer>) clazz);
+ } else if (AbstractExtensionPanel.class.isAssignableFrom(clazz) && !isAbsractClazz) {
+ extPanels.add((Class<? extends AbstractExtensionPanel>) clazz);
+ }
+ } catch (Throwable t) {
+ LOG.warn("Could not inspect class {}", bd.getBeanClassName(), t);
+ }
+ }
+ pages = Collections.unmodifiableList(pages);
+ previewers = Collections.unmodifiableList(previewers);
+ extPanels = Collections.unmodifiableList(extPanels);
+
+ LOG.debug("Binary previewers found: {}", previewers);
+ LOG.debug("Extension panels found: {}", extPanels);
+ }
+
+ public Class<? extends AbstractBinaryPreviewer> getPreviewerClass(final String mimeType) {
+ LOG.debug("Searching for previewer class for MIME type: {}", mimeType);
+ Class<? extends AbstractBinaryPreviewer> previewer = null;
+ for (Class<? extends AbstractBinaryPreviewer> candidate : previewers) {
+ LOG.debug("Evaluating previewer class {} for MIME type {}", candidate.getName(), mimeType);
+ if (ArrayUtils.contains(candidate.getAnnotation(BinaryPreview.class).mimeTypes(), mimeType)) {
+ LOG.debug("Found existing previewer for MIME type {}: {}", mimeType, candidate.getName());
+ previewer = candidate;
+ }
+ }
+ return previewer;
+ }
+
+ public List<Class<? extends BasePage>> getPageClasses() {
+ return pages;
+ }
+
+ public List<Class<? extends AbstractBinaryPreviewer>> getPreviewerClasses() {
+ return previewers;
+ }
+
+ public List<Class<? extends AbstractExtensionPanel>> getExtPanelClasses() {
+ return extPanels;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/init/ConsoleInitializer.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/ConsoleInitializer.java b/client/console/src/main/java/org/apache/syncope/client/console/init/ConsoleInitializer.java
index 87fa6ad..6f42002 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/ConsoleInitializer.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/init/ConsoleInitializer.java
@@ -18,54 +18,40 @@
*/
package org.apache.syncope.client.console.init;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.annotation.WebListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.aop.support.AopUtils;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.BeanFactoryAware;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.support.DefaultListableBeanFactory;
-import org.springframework.stereotype.Component;
/**
* Take care of all initializations needed by Syncope Console to run up and safe.
*/
-@Component
-public class ConsoleInitializer implements InitializingBean, BeanFactoryAware {
+@WebListener
+public class ConsoleInitializer implements ServletContextListener {
private static final Logger LOG = LoggerFactory.getLogger(ConsoleInitializer.class);
- private DefaultListableBeanFactory beanFactory;
+ public static final String CLASSPATH_LOOKUP = "CLASSPATH_LOOKUP";
- @Override
- public void setBeanFactory(final BeanFactory beanFactory) {
- this.beanFactory = (DefaultListableBeanFactory) beanFactory;
- }
+ public static final String MIMETYPES_LOADER = "MIMETYPES_LOADER";
@Override
- public void afterPropertiesSet() {
- Map<String, SyncopeConsoleLoader> loaderMap = beanFactory.getBeansOfType(SyncopeConsoleLoader.class);
-
- List<SyncopeConsoleLoader> loaders = new ArrayList<>(loaderMap.values());
- Collections.sort(loaders, new Comparator<SyncopeConsoleLoader>() {
+ public void contextInitialized(final ServletContextEvent sce) {
+ ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
+ lookup.load();
+ sce.getServletContext().setAttribute(CLASSPATH_LOOKUP, lookup);
- @Override
- public int compare(final SyncopeConsoleLoader o1, final SyncopeConsoleLoader o2) {
- return o1.getPriority().compareTo(o2.getPriority());
- }
- });
+ MIMETypesLoader mimeTypes = new MIMETypesLoader();
+ mimeTypes.load();
+ sce.getServletContext().setAttribute(MIMETYPES_LOADER, mimeTypes);
- LOG.debug("Starting initialization...");
- for (SyncopeConsoleLoader loader : loaders) {
- LOG.debug("Invoking {} with priority {}", AopUtils.getTargetClass(loader).getName(), loader.getPriority());
- loader.load();
- }
LOG.debug("Initialization completed");
}
+ @Override
+ public void contextDestroyed(final ServletContextEvent sce) {
+ // nothing to do
+ }
+
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/init/ImplementationClassNamesLoader.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/ImplementationClassNamesLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/ImplementationClassNamesLoader.java
deleted file mode 100644
index 00a9027..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/ImplementationClassNamesLoader.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.init;
-
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.panels.AbstractExtensionPanel;
-import org.apache.syncope.client.console.annotations.BinaryPreview;
-import org.apache.syncope.client.console.wicket.markup.html.form.preview.AbstractBinaryPreviewer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
-import org.springframework.core.type.filter.AssignableTypeFilter;
-import org.springframework.stereotype.Component;
-import org.springframework.util.ClassUtils;
-
-@Component
-public class ImplementationClassNamesLoader implements SyncopeConsoleLoader {
-
- private static final Logger LOG = LoggerFactory.getLogger(ImplementationClassNamesLoader.class);
-
- private List<Class<? extends AbstractBinaryPreviewer>> previewers;
-
- private List<Class<? extends AbstractExtensionPanel>> extPanels;
-
- @Override
- public Integer getPriority() {
- return 0;
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public void load() {
- previewers = new ArrayList<>();
- extPanels = new ArrayList<>();
-
- ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
- scanner.addIncludeFilter(new AssignableTypeFilter(AbstractBinaryPreviewer.class));
- scanner.addIncludeFilter(new AssignableTypeFilter(AbstractExtensionPanel.class));
-
- for (BeanDefinition bd : scanner.findCandidateComponents(StringUtils.EMPTY)) {
- try {
- Class<?> clazz = ClassUtils.resolveClassName(
- bd.getBeanClassName(), ClassUtils.getDefaultClassLoader());
- boolean isAbsractClazz = Modifier.isAbstract(clazz.getModifiers());
-
- if (AbstractBinaryPreviewer.class.isAssignableFrom(clazz) && !isAbsractClazz) {
- previewers.add((Class<? extends AbstractBinaryPreviewer>) clazz);
- } else if (AbstractExtensionPanel.class.isAssignableFrom(clazz) && !isAbsractClazz) {
- extPanels.add((Class<? extends AbstractExtensionPanel>) clazz);
- }
- } catch (Throwable t) {
- LOG.warn("Could not inspect class {}", bd.getBeanClassName(), t);
- }
- }
- previewers = Collections.unmodifiableList(previewers);
- extPanels = Collections.unmodifiableList(extPanels);
-
- LOG.debug("Binary previewers found: {}", previewers);
- LOG.debug("Extension panels found: {}", extPanels);
- }
-
- public Class<? extends AbstractBinaryPreviewer> getPreviewerClass(final String mimeType) {
- LOG.debug("Searching for previewer class for MIME type: {}", mimeType);
- Class<? extends AbstractBinaryPreviewer> previewer = null;
- for (Class<? extends AbstractBinaryPreviewer> candidate : previewers) {
- LOG.debug("Evaluating previewer class {} for MIME type {}", candidate.getName(), mimeType);
- if (ArrayUtils.contains(candidate.getAnnotation(BinaryPreview.class).mimeTypes(), mimeType)) {
- LOG.debug("Found existing previewer for MIME type {}: {}", mimeType, candidate.getName());
- previewer = candidate;
- }
- }
- return previewer;
- }
-
- public List<Class<? extends AbstractBinaryPreviewer>> getPreviewerClasses() {
- return previewers;
- }
-
- public List<Class<? extends AbstractExtensionPanel>> getExtPanelClasses() {
- return extPanels;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
index 7a2f878..62dcff3 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
@@ -27,26 +27,15 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.util.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-@Component
-public class MIMETypesLoader implements SyncopeConsoleLoader {
+public class MIMETypesLoader {
- /**
- * Logger.
- */
private static final Logger LOG = LoggerFactory.getLogger(MIMETypesLoader.class);
private List<String> mimeTypes;
- @Override
- public Integer getPriority() {
- return 10;
- }
-
- @Override
public void load() {
- final Set<String> mediaTypes = new HashSet<>();
+ Set<String> mediaTypes = new HashSet<>();
this.mimeTypes = new ArrayList<>();
try {
final String mimeTypesFile = IOUtils.toString(getClass().getResourceAsStream("/MIMETypes"));
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/init/SyncopeConsoleLoader.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/SyncopeConsoleLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/SyncopeConsoleLoader.java
deleted file mode 100644
index 7c4d3d4..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/SyncopeConsoleLoader.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.init;
-
-/**
- * Marker interface for Syncope console initialization.
- */
-public interface SyncopeConsoleLoader {
-
- /**
- * @return the priority that the implementing class has in the initialization process.
- */
- Integer getPriority();
-
- /**
- * Perform initialization operations.
- */
- void load();
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/AbstractBasePage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/AbstractBasePage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/AbstractBasePage.java
index bd88711..c4096af 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/AbstractBasePage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/AbstractBasePage.java
@@ -19,24 +19,13 @@
package org.apache.syncope.client.console.pages;
import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.init.MIMETypesLoader;
import org.apache.syncope.client.console.panels.NotificationPanel;
-import org.apache.syncope.client.console.rest.ConfigurationRestClient;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-import org.apache.syncope.client.console.rest.ReportRestClient;
-import org.apache.syncope.client.console.rest.ResourceRestClient;
-import org.apache.syncope.client.console.rest.GroupRestClient;
-import org.apache.syncope.client.console.rest.SchemaRestClient;
-import org.apache.syncope.client.console.rest.TaskRestClient;
-import org.apache.syncope.client.console.rest.UserRestClient;
-import org.apache.syncope.client.console.rest.UserSelfRestClient;
import org.apache.syncope.client.console.wicket.markup.head.MetaHeaderItem;
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.WebPage;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,36 +45,6 @@ public class AbstractBasePage extends WebPage {
protected final HeaderItem meta = new MetaHeaderItem("X-UA-Compatible", "IE=edge");
- @SpringBean
- protected UserRestClient userRestClient;
-
- @SpringBean
- protected UserSelfRestClient userSelfRestClient;
-
- @SpringBean
- protected GroupRestClient groupRestClient;
-
- @SpringBean
- protected TaskRestClient taskRestClient;
-
- @SpringBean
- protected SchemaRestClient schemaRestClient;
-
- @SpringBean
- protected ResourceRestClient resourceRestClient;
-
- @SpringBean
- protected ConnectorRestClient connectorRestClient;
-
- @SpringBean
- protected ReportRestClient reportRestClient;
-
- @SpringBean
- protected ConfigurationRestClient confRestClient;
-
- @SpringBean
- protected MIMETypesLoader mimeTypesInitializer;
-
protected NotificationPanel feedbackPanel;
/**
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
index bcbd3bf..1ea44d5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.client.console.pages;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.rest.UserWorkflowRestClient;
@@ -37,14 +38,12 @@ import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public class BasePage extends AbstractBasePage implements IAjaxIndicatorAware {
private static final long serialVersionUID = 1571997737305598502L;
- @SpringBean
- private UserWorkflowRestClient userWorkflowRestClient;
+ private final UserWorkflowRestClient userWorkflowRestClient = new UserWorkflowRestClient();
public BasePage() {
this(null);
@@ -62,7 +61,7 @@ public class BasePage extends AbstractBasePage implements IAjaxIndicatorAware {
super(parameters);
// header, footer
- add(new Label("version", SyncopeConsoleSession.get().getVersion()));
+ add(new Label("version", SyncopeConsoleApplication.get().getVersion()));
add(new Label("username", SyncopeConsoleSession.get().getSelfTO().getUsername()));
final WebMarkupContainer todosContainer = new WebMarkupContainer("todosContainer");
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/DisplayAttributesModalPage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/DisplayAttributesModalPage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/DisplayAttributesModalPage.java
index 432c510..7be2525 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/DisplayAttributesModalPage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/DisplayAttributesModalPage.java
@@ -42,7 +42,6 @@ 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;
/**
* Modal window with Display attributes form.
@@ -59,8 +58,7 @@ public abstract class DisplayAttributesModalPage<T extends AnyTO> extends Abstra
*/
private static final int MAX_SELECTIONS = 9;
- @SpringBean
- private PreferenceManager prefMan;
+ private final PreferenceManager prefMan = new PreferenceManager();
private final List<String> selectedDetails;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
index 7e56e92..754dacd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
@@ -40,15 +40,11 @@ import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public class Login extends WebPage {
private static final long serialVersionUID = 5889157642852559004L;
- @SpringBean(name = "anonymousUser")
- private String anonymousUser;
-
private final NotificationPanel feedbackPanel;
private final StatelessForm<Void> form;
@@ -93,7 +89,7 @@ public class Login extends WebPage {
@Override
protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- if (anonymousUser.equals(usernameField.getRawInput())) {
+ if (SyncopeConsoleApplication.get().getAnonymousUser().equals(usernameField.getRawInput())) {
throw new AccessControlException("Illegal username");
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
index 5396561..51a3f6e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java
@@ -33,7 +33,6 @@ import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.form.validation.EqualPasswordInputValidator;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,8 +42,7 @@ public class MustChangePassword extends WebPage {
private static final Logger LOG = LoggerFactory.getLogger(MustChangePassword.class);
- @SpringBean
- private UserSelfRestClient userSelfRestClient;
+ private final UserSelfRestClient userSelfRestClient = new UserSelfRestClient();
private final NotificationPanel feedbackPanel;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
index 95ec54f..847bd61 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/ProvisioningModalPage.java
@@ -30,6 +30,9 @@ import org.apache.syncope.client.console.commons.status.ConnObjectWrapper;
import org.apache.syncope.client.console.commons.status.StatusBean;
import org.apache.syncope.client.console.commons.status.StatusUtils;
import org.apache.syncope.client.console.panels.ActionDataTablePanel;
+import org.apache.syncope.client.console.rest.GroupRestClient;
+import org.apache.syncope.client.console.rest.ResourceRestClient;
+import org.apache.syncope.client.console.rest.UserRestClient;
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.lib.SyncopeClient;
@@ -59,6 +62,12 @@ public class ProvisioningModalPage<T extends AnyTO> extends AbstractStatusModalP
private static final int ROWS_PER_PAGE = 10;
+ private final UserRestClient userRestClient = new UserRestClient();
+
+ private final GroupRestClient groupRestClient = new GroupRestClient();
+
+ private final ResourceRestClient resourceRestClient = new ResourceRestClient();
+
private final ResourceTO resourceTO;
private final AnyTypeKind anyTypeKind;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
index 300db13..0767b33 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
@@ -42,14 +42,12 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public class Realms extends BasePage {
private static final long serialVersionUID = -1100228004207271270L;
- @SpringBean
- private RealmRestClient realmRestClient;
+ private final RealmRestClient realmRestClient = new RealmRestClient();
private final RealmSidebarPanel realmSidebarPanel;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/ResultStatusModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/ResultStatusModal.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/ResultStatusModal.java
index 855a61f..998ac60 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/ResultStatusModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/ResultStatusModal.java
@@ -36,6 +36,7 @@ import org.apache.syncope.client.console.commons.status.Status;
import org.apache.syncope.client.console.commons.status.StatusUtils;
import org.apache.syncope.client.console.panels.AbstractModalPanel;
import org.apache.syncope.client.console.panels.FailureMessageModal;
+import org.apache.syncope.client.console.rest.UserRestClient;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
@@ -107,7 +108,7 @@ public final class ResultStatusModal<T extends AnyTO> extends AbstractModalPanel
}
public ResultStatusModal<T> build() {
- return new ResultStatusModal<T>(modal, pageRef, this);
+ return new ResultStatusModal<>(modal, pageRef, this);
}
}
@@ -115,10 +116,11 @@ public final class ResultStatusModal<T extends AnyTO> extends AbstractModalPanel
final BaseModal<T> modal,
final PageReference pageRef,
final Builder<T> builder) {
+
super(modal, pageRef);
this.subject = builder.subject;
- statusUtils = new StatusUtils(this.userRestClient);
+ statusUtils = new StatusUtils(new UserRestClient());
if (builder.mode == null) {
this.mode = Mode.ADMIN;
} else {
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/StatusModalPage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/StatusModalPage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/StatusModalPage.java
index f70c1c5..7dbe73e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/StatusModalPage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/StatusModalPage.java
@@ -31,6 +31,9 @@ import org.apache.syncope.client.console.commons.status.Status;
import org.apache.syncope.client.console.commons.status.StatusBean;
import org.apache.syncope.client.console.commons.status.StatusUtils;
import org.apache.syncope.client.console.panels.ActionDataTablePanel;
+import org.apache.syncope.client.console.rest.GroupRestClient;
+import org.apache.syncope.client.console.rest.ResourceRestClient;
+import org.apache.syncope.client.console.rest.UserRestClient;
import org.apache.syncope.client.console.wicket.ajax.markup.html.ClearIndicatingAjaxButton;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
@@ -65,6 +68,12 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
private static final long serialVersionUID = -9148734710505211261L;
+ private final UserRestClient userRestClient = new UserRestClient();
+
+ private final GroupRestClient groupRestClient = new GroupRestClient();
+
+ private final ResourceRestClient resourceRestClient = new ResourceRestClient();
+
private final AnyTO anyTO;
private int rowsPerPage = 10;
@@ -207,7 +216,7 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
confirm = new PasswordTextField("confirm", new Model<String>());
pwdMgtForm.add(confirm.setRequired(false).setEnabled(false));
- changepwd = new AjaxCheckBoxPanel("changepwd", "changepwd", new Model<Boolean>(false));
+ changepwd = new AjaxCheckBoxPanel("changepwd", "changepwd", new Model<>(false));
pwdMgtForm.add(changepwd.setModelObject(false));
pwdMgtForm.add(new Label("changePwdLabel", new ResourceModel("changePwdLabel", "Password propagation")));
@@ -494,7 +503,7 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
final List<ConnObjectWrapper> connObjects = statusUtils.getConnectorObjects(anyTO);
- final List<StatusBean> statusBeans = new ArrayList<StatusBean>(connObjects.size() + 1);
+ final List<StatusBean> statusBeans = new ArrayList<>(connObjects.size() + 1);
for (ConnObjectWrapper entry : connObjects) {
final StatusBean statusBean = statusUtils.getStatusBean(anyTO,
@@ -609,7 +618,7 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
final AjaxRequestTarget target,
final Collection<StatusBean> selection,
final BulkActionResult bulkActionResult) {
- final List<String> resources = new ArrayList<String>(selection.size());
+ final List<String> resources = new ArrayList<>(selection.size());
for (StatusBean statusBean : selection) {
resources.add(statusBean.getResourceName());
}
@@ -617,7 +626,7 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
final List<ConnObjectWrapper> connObjects = statusUtils.getConnectorObjects(Collections.singletonList(anyTO),
resources);
- final List<StatusBean> statusBeans = new ArrayList<StatusBean>(connObjects.size());
+ final List<StatusBean> statusBeans = new ArrayList<>(connObjects.size());
for (ConnObjectWrapper entry : connObjects) {
final StatusBean statusBean = statusUtils.getStatusBean(anyTO,
@@ -628,7 +637,7 @@ public class StatusModalPage<T extends AnyTO> extends AbstractStatusModalPage {
statusBeans.add(statusBean);
}
- target.add(modal.setContent(new BulkActionResultModalPage<StatusBean, String>(
+ target.add(modal.setContent(new BulkActionResultModalPage<>(
modal,
pageRef,
statusBeans,
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/Workflow.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Workflow.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Workflow.java
index b16bd2a..3a0ef0b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Workflow.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Workflow.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.pages;
import java.io.File;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.rest.WorkflowRestClient;
import org.apache.syncope.client.console.wicket.markup.html.link.VeilPopupSettings;
import org.apache.syncope.common.lib.types.Entitlement;
@@ -27,19 +28,15 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.model.Model;
-import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.DynamicImageResource;
import org.apache.wicket.request.resource.IResource;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.springframework.web.context.support.WebApplicationContextUtils;
public class Workflow extends BasePage {
private static final long serialVersionUID = -8781434495150074529L;
- @SpringBean
- private WorkflowRestClient wfRestClient;
+ private final WorkflowRestClient wfRestClient = new WorkflowRestClient();
public Workflow(final PageParameters parameters) {
super(parameters);
@@ -65,9 +62,7 @@ public class Workflow extends BasePage {
// Check if Activiti Modeler directory is found
boolean activitiModelerEnabled = false;
try {
- String activitiModelerDirectory = WebApplicationContextUtils.getWebApplicationContext(
- WebApplication.get().getServletContext()).getBean("activitiModelerDirectory", String.class);
- File baseDir = new File(activitiModelerDirectory);
+ File baseDir = new File(SyncopeConsoleApplication.get().getActivitiModelerDirectory());
activitiModelerEnabled = baseDir.exists() && baseDir.canRead() && baseDir.isDirectory();
} catch (Exception e) {
LOG.error("Could not check for Activiti Modeler directory", e);
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/pages/XMLEditorPopupPage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/XMLEditorPopupPage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/XMLEditorPopupPage.java
index c02d9ac..00d2c7f 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/XMLEditorPopupPage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/XMLEditorPopupPage.java
@@ -33,15 +33,13 @@ import org.apache.wicket.markup.html.form.Button;
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.spring.injection.annot.SpringBean;
import org.apache.wicket.util.io.IOUtils;
public class XMLEditorPopupPage extends BasePopupPage {
private static final long serialVersionUID = 5816041644635271734L;
- @SpringBean
- private WorkflowRestClient wfRestClient;
+ private final WorkflowRestClient wfRestClient = new WorkflowRestClient();
public XMLEditorPopupPage() {
Form<?> wfForm = new Form<>("workflowDefForm");
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
index 96d538b..2c244b2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractModalPanel.java
@@ -18,16 +18,6 @@
*/
package org.apache.syncope.client.console.panels;
-import org.apache.syncope.client.console.init.MIMETypesLoader;
-import org.apache.syncope.client.console.rest.ConfigurationRestClient;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-import org.apache.syncope.client.console.rest.ReportRestClient;
-import org.apache.syncope.client.console.rest.ResourceRestClient;
-import org.apache.syncope.client.console.rest.GroupRestClient;
-import org.apache.syncope.client.console.rest.SchemaRestClient;
-import org.apache.syncope.client.console.rest.TaskRestClient;
-import org.apache.syncope.client.console.rest.UserRestClient;
-import org.apache.syncope.client.console.rest.UserSelfRestClient;
import org.apache.syncope.client.console.wicket.markup.head.MetaHeaderItem;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.wicket.PageReference;
@@ -37,7 +27,6 @@ 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.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,36 +50,6 @@ public class AbstractModalPanel extends Panel {
protected final HeaderItem meta = new MetaHeaderItem("X-UA-Compatible", "IE=edge");
- @SpringBean
- protected UserRestClient userRestClient;
-
- @SpringBean
- protected UserSelfRestClient userSelfRestClient;
-
- @SpringBean
- protected GroupRestClient groupRestClient;
-
- @SpringBean
- protected TaskRestClient taskRestClient;
-
- @SpringBean
- protected SchemaRestClient schemaRestClient;
-
- @SpringBean
- protected ResourceRestClient resourceRestClient;
-
- @SpringBean
- protected ConnectorRestClient connectorRestClient;
-
- @SpringBean
- protected ReportRestClient reportRestClient;
-
- @SpringBean
- protected ConfigurationRestClient confRestClient;
-
- @SpringBean
- protected MIMETypesLoader mimeTypesInitializer;
-
public AbstractModalPanel(final BaseModal<?> modal, final PageReference pageRef) {
super(BaseModal.getContentId());
this.pageRef = pageRef;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.java
index c55d6bd..68bafbe 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.java
@@ -41,7 +41,6 @@ import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,16 +48,12 @@ public abstract class AbstractSearchResultPanel<T extends AnyTO> extends Panel i
private static final long serialVersionUID = -9170191461250434024L;
- /**
- * Logger.
- */
protected static final Logger LOG = LoggerFactory.getLogger(AbstractSearchResultPanel.class);
/**
* Application preferences.
*/
- @SpringBean
- protected PreferenceManager prefMan;
+ protected PreferenceManager prefMan = new PreferenceManager();
protected final AbstractAnyRestClient restClient;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/AnySearchResultPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnySearchResultPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnySearchResultPanel.java
index 0940698..eacdb4f 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnySearchResultPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnySearchResultPanel.java
@@ -49,15 +49,13 @@ import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.springframework.util.ReflectionUtils;
public class AnySearchResultPanel<T extends AnyTO> extends AbstractSearchResultPanel<T> {
private static final long serialVersionUID = -1100228004207271270L;
- @SpringBean
- protected SchemaRestClient schemaRestClient;
+ protected final SchemaRestClient schemaRestClient = new SchemaRestClient();
protected final List<String> schemaNames;
@@ -70,15 +68,16 @@ public class AnySearchResultPanel<T extends AnyTO> extends AbstractSearchResultP
public AnySearchResultPanel(final String type, final String parentId, final boolean filtered,
final String fiql, final PageReference callerRef, final AbstractAnyRestClient restClient,
final List<AnyTypeClassTO> anyTypeClassTOs, final String realm) {
+
super(parentId, filtered, fiql, callerRef, restClient, realm, type);
//setCustomMarkupId(markupId);
add(new Label("name", type));
- this.schemaNames = new ArrayList<String>();
+ this.schemaNames = new ArrayList<>();
for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
this.schemaNames.addAll(anyTypeClassTO.getPlainSchemas());
}
- this.dSchemaNames = new ArrayList<String>();
+ this.dSchemaNames = new ArrayList<>();
for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
this.dSchemaNames.addAll(anyTypeClassTO.getDerSchemas());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
index 349560c..2d981f6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
@@ -28,6 +28,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
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.topology.TopologyNode;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.common.lib.to.ConnBundleTO;
@@ -48,6 +49,8 @@ public class ConnectorModal extends AbstractResourceModal {
private static final long serialVersionUID = -2025535531121434050L;
+ private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
+
private final List<ConnBundleTO> bundles;
public ConnectorModal(
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupModalPanel.java
index 2e4caf5..9778881 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupModalPanel.java
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.panels;
import org.apache.commons.lang3.SerializationUtils;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.commons.Mode;
+import org.apache.syncope.client.console.rest.GroupRestClient;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.wicket.PageReference;
@@ -39,6 +40,8 @@ public class GroupModalPanel extends AbstractModalPanel {
private static final long serialVersionUID = -1732493223434085205L;
+ private final GroupRestClient groupRestClient = new GroupRestClient();
+
protected final Mode mode;
protected final boolean createFlag;
@@ -49,6 +52,7 @@ public class GroupModalPanel extends AbstractModalPanel {
public GroupModalPanel(
final BaseModal<?> modal, final PageReference pageRef, final GroupTO groupTO) {
+
this(modal, pageRef, groupTO, Mode.ADMIN);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 68a0b79..bea0610 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -35,7 +35,6 @@ import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,17 +48,13 @@ public class Realm extends Panel {
private final List<AnyTypeTO> anyTypeTOs;
- @SpringBean
- private AnyTypeRestClient anyTypeRestClient;
+ private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
- @SpringBean
- private UserRestClient userRestClient;
+ private final UserRestClient userRestClient = new UserRestClient();
- @SpringBean
- private GroupRestClient groupRestClient;
+ private final GroupRestClient groupRestClient = new GroupRestClient();
- @SpringBean
- private AnyObjectRestClient anyObjectRestClient;
+ private final AnyObjectRestClient anyObjectRestClient = new AnyObjectRestClient();
@SuppressWarnings({ "unchecked", "unchecked" })
public Realm(final String id, final RealmTO realmTO, final PageReference pageReference) {
@@ -120,7 +115,7 @@ public class Realm extends Panel {
anyTypeTO.getClasses()), realmTO.getFullPath());
break;
case ANY_OBJECT:
- panel = new AnySearchResultPanel(anyTypeTO.getKey(), id,
+ panel = new AnySearchResultPanel<>(anyTypeTO.getKey(), id,
false, null, pageReference, anyObjectRestClient, anyTypeRestClient.getAnyTypeClass(
anyTypeTO.getClasses()), realmTO.getFullPath());
break;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmModalPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmModalPanel.java
index 9ea299f..51c66e1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmModalPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmModalPanel.java
@@ -31,18 +31,16 @@ import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public class RealmModalPanel extends AbstractModalPanel {
private static final long serialVersionUID = -4285220460543213901L;
- protected RealmTO realmTO;
+ private final RealmRestClient realmRestClient = new RealmRestClient();
- private boolean newRealm = false;
+ private RealmTO realmTO;
- @SpringBean
- private RealmRestClient realmRestClient;
+ private boolean newRealm = false;
private final String parentPath;
@@ -52,6 +50,7 @@ public class RealmModalPanel extends AbstractModalPanel {
final RealmTO realmTO,
final String parentPath,
final String entitlement) {
+
this(modal, pageRef, realmTO, parentPath, entitlement, false);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmSidebarPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmSidebarPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmSidebarPanel.java
index 221a05b..eb899c9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmSidebarPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmSidebarPanel.java
@@ -44,14 +44,12 @@ import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public class RealmSidebarPanel extends Panel {
private static final long serialVersionUID = -1100228004207271270L;
- @SpringBean
- private RealmRestClient realmRestClient;
+ private final RealmRestClient realmRestClient = new RealmRestClient();
private final WebMarkupContainer menu;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
index cdce531..dbb3f37 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
@@ -26,14 +26,12 @@ import org.apache.syncope.client.console.rest.ConnectorRestClient;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.wicket.model.IModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
public abstract class ResourceConnConfPanel extends AbstractConnectorConfPanel<ResourceTO> {
private static final long serialVersionUID = -7982691107029848579L;
- @SpringBean
- private ConnectorRestClient restClient;
+ private ConnectorRestClient restClient = new ConnectorRestClient();
private final boolean createFlag;
http://git-wip-us.apache.org/repos/asf/syncope/blob/13f96e06/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
index cdc3fc0..330a4c2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
@@ -60,7 +60,6 @@ import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
/**
* Resource mapping panel.
@@ -87,14 +86,12 @@ public class ResourceMappingPanel extends Panel {
/**
* Schema rest client.
*/
- @SpringBean
- private SchemaRestClient schemaRestClient;
+ private final SchemaRestClient schemaRestClient = new SchemaRestClient();
/**
* ConnInstance rest client.
*/
- @SpringBean
- private ConnectorRestClient connRestClient;
+ private final ConnectorRestClient connRestClient = new ConnectorRestClient();
/**
* Resource schema name.