You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2019/11/04 16:18:50 UTC
[syncope] branch master updated: [SYNCOPE-1410] Empower
SpringBoot's capabilities to configure actual implementations on IdRepo /
IdM Console variants
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new b0df00f [SYNCOPE-1410] Empower SpringBoot's capabilities to configure actual implementations on IdRepo / IdM Console variants
b0df00f is described below
commit b0df00f3be5203fc2244d6fc8298f5cc1cafef51
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Mon Nov 4 17:18:38 2019 +0100
[SYNCOPE-1410] Empower SpringBoot's capabilities to configure actual implementations on IdRepo / IdM Console variants
---
.../client/console/SyncopeIdMConsoleContext.java | 75 +++++++++++++
.../commons/IdMImplementationInfoProvider.java | 5 -
.../panels/search/ConnObjectSearchPanel.java | 5 +-
.../client/console/SyncopeConsoleApplication.java | 20 ----
.../console/SyncopeIdRepoConsoleContext.java | 101 +++++++++++++++++
.../client/console/SyncopeWebApplication.java | 15 ++-
.../commons/IdRepoImplementationInfoProvider.java | 10 +-
.../init/ClassPathScanImplementationLookup.java | 123 +--------------------
.../apache/syncope/client/console/pages/Login.java | 5 +-
.../implementations/MyPropagationActions.groovy | 5 +-
.../syncope/fit/console/AbstractConsoleITCase.java | 20 +---
11 files changed, 199 insertions(+), 185 deletions(-)
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/SyncopeIdMConsoleContext.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/SyncopeIdMConsoleContext.java
new file mode 100644
index 0000000..5e3f387
--- /dev/null
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/SyncopeIdMConsoleContext.java
@@ -0,0 +1,75 @@
+/*
+ * 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;
+
+import org.apache.syncope.client.console.commons.AnyDirectoryPanelAditionalActionLinksProvider;
+import org.apache.syncope.client.console.commons.AnyWizardBuilderAdditionalSteps;
+import org.apache.syncope.client.console.commons.ExternalResourceProvider;
+import org.apache.syncope.client.console.commons.IdMAnyDirectoryPanelAditionalActionLinksProvider;
+import org.apache.syncope.client.console.commons.IdMAnyWizardBuilderAdditionalSteps;
+import org.apache.syncope.client.console.commons.IdMExternalResourceProvider;
+import org.apache.syncope.client.console.commons.IdMImplementationInfoProvider;
+import org.apache.syncope.client.console.commons.IdMPolicyTabProvider;
+import org.apache.syncope.client.console.commons.IdMStatusProvider;
+import org.apache.syncope.client.console.commons.IdMVirSchemaDetailsPanelProvider;
+import org.apache.syncope.client.console.commons.ImplementationInfoProvider;
+import org.apache.syncope.client.console.commons.PolicyTabProvider;
+import org.apache.syncope.client.console.commons.StatusProvider;
+import org.apache.syncope.client.console.commons.VirSchemaDetailsPanelProvider;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SyncopeIdMConsoleContext {
+
+ @Bean
+ public ExternalResourceProvider resourceProvider() {
+ return new IdMExternalResourceProvider();
+ }
+
+ @Bean
+ public AnyWizardBuilderAdditionalSteps anyWizardBuilderAdditionalSteps() {
+ return new IdMAnyWizardBuilderAdditionalSteps();
+ }
+
+ @Bean
+ public StatusProvider statusProvider() {
+ return new IdMStatusProvider();
+ }
+
+ @Bean
+ public VirSchemaDetailsPanelProvider virSchemaDetailsPanelProvider() {
+ return new IdMVirSchemaDetailsPanelProvider();
+ }
+
+ @Bean
+ public AnyDirectoryPanelAditionalActionLinksProvider anyDirectoryPanelAditionalActionLinksProvider() {
+ return new IdMAnyDirectoryPanelAditionalActionLinksProvider();
+ }
+
+ @Bean
+ public ImplementationInfoProvider implementationInfoProvider() {
+ return new IdMImplementationInfoProvider();
+ }
+
+ @Bean
+ public PolicyTabProvider policyTabProvider() {
+ return new IdMPolicyTabProvider();
+ }
+}
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
index 19c783b..1ceacaf 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
import org.apache.syncope.client.console.rest.ImplementationRestClient;
import org.apache.syncope.common.lib.to.EntityTO;
import org.apache.syncope.common.lib.to.ImplementationTO;
@@ -34,10 +33,6 @@ public class IdMImplementationInfoProvider extends IdRepoImplementationInfoProvi
private static final long serialVersionUID = -5385695412826366167L;
- public IdMImplementationInfoProvider(final ClassPathScanImplementationLookup lookup) {
- super(lookup);
- }
-
@Override
public ViewMode getViewMode(final ImplementationTO implementation) {
return IdMImplementationType.PULL_CORRELATION_RULE.equals(implementation.getType())
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
index 54142ab..918eced 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.client.console.panels.search;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@@ -81,7 +80,7 @@ public class ConnObjectSearchPanel extends AbstractSearchPanel {
@Override
protected List<SearchClause.Type> load() {
- return Collections.singletonList(SearchClause.Type.ATTRIBUTE);
+ return List.of(SearchClause.Type.ATTRIBUTE);
}
};
@@ -91,7 +90,7 @@ public class ConnObjectSearchPanel extends AbstractSearchPanel {
@Override
protected List<String> load() {
- return Collections.emptyList();
+ return List.of();
}
};
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
index 9e24a56..0fda265 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java
@@ -19,16 +19,12 @@
package org.apache.syncope.client.console;
import com.giffing.wicket.spring.boot.starter.web.config.WicketWebInitializerAutoConfig.WebSocketWicketWebInitializerAutoConfiguration;
-import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
-import org.apache.syncope.client.console.init.MIMETypesLoader;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.Bean;
@SpringBootApplication(exclude = {
ErrorMvcAutoConfiguration.class,
@@ -44,20 +40,4 @@ public class SyncopeConsoleApplication extends SpringBootServletInitializer {
builder.properties(WebSocketWicketWebInitializerAutoConfiguration.REGISTER_SERVER_ENDPOINT_ENABLED + "=false");
return super.configure(builder);
}
-
- @ConditionalOnMissingBean(name = "classPathScanImplementationLookup")
- @Bean
- public ClassPathScanImplementationLookup classPathScanImplementationLookup() {
- ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
- lookup.load();
- return lookup;
- }
-
- @ConditionalOnMissingBean(name = "mimeTypesLoader")
- @Bean
- public MIMETypesLoader mimeTypesLoader() {
- MIMETypesLoader mimeTypesLoader = new MIMETypesLoader();
- mimeTypesLoader.load();
- return mimeTypesLoader;
- }
}
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeIdRepoConsoleContext.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeIdRepoConsoleContext.java
new file mode 100644
index 0000000..b38185a
--- /dev/null
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeIdRepoConsoleContext.java
@@ -0,0 +1,101 @@
+/*
+ * 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;
+
+import org.apache.syncope.client.console.commons.AnyDirectoryPanelAditionalActionLinksProvider;
+import org.apache.syncope.client.console.commons.AnyWizardBuilderAdditionalSteps;
+import org.apache.syncope.client.console.commons.ExternalResourceProvider;
+import org.apache.syncope.client.console.commons.IdRepoAnyDirectoryPanelAditionalActionLinksProvider;
+import org.apache.syncope.client.console.commons.IdRepoAnyWizardBuilderAdditionalSteps;
+import org.apache.syncope.client.console.commons.IdRepoExternalResourceProvider;
+import org.apache.syncope.client.console.commons.IdRepoImplementationInfoProvider;
+import org.apache.syncope.client.console.commons.IdRepoPolicyTabProvider;
+import org.apache.syncope.client.console.commons.IdRepoStatusProvider;
+import org.apache.syncope.client.console.commons.IdRepoVirSchemaDetailsPanelProvider;
+import org.apache.syncope.client.console.commons.ImplementationInfoProvider;
+import org.apache.syncope.client.console.commons.PolicyTabProvider;
+import org.apache.syncope.client.console.commons.StatusProvider;
+import org.apache.syncope.client.console.commons.VirSchemaDetailsPanelProvider;
+import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
+import org.apache.syncope.client.console.init.MIMETypesLoader;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SyncopeIdRepoConsoleContext {
+
+ @ConditionalOnMissingBean(name = "classPathScanImplementationLookup")
+ @Bean
+ public ClassPathScanImplementationLookup classPathScanImplementationLookup() {
+ ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
+ lookup.load();
+ return lookup;
+ }
+
+ @ConditionalOnMissingBean(name = "mimeTypesLoader")
+ @Bean
+ public MIMETypesLoader mimeTypesLoader() {
+ MIMETypesLoader mimeTypesLoader = new MIMETypesLoader();
+ mimeTypesLoader.load();
+ return mimeTypesLoader;
+ }
+
+ @ConditionalOnMissingBean(name = "resourceProvider")
+ @Bean
+ public ExternalResourceProvider resourceProvider() {
+ return new IdRepoExternalResourceProvider();
+ }
+
+ @ConditionalOnMissingBean(name = "anyWizardBuilderAdditionalSteps")
+ @Bean
+ public AnyWizardBuilderAdditionalSteps anyWizardBuilderAdditionalSteps() {
+ return new IdRepoAnyWizardBuilderAdditionalSteps();
+ }
+
+ @ConditionalOnMissingBean(name = "statusProvider")
+ @Bean
+ public StatusProvider statusProvider() {
+ return new IdRepoStatusProvider();
+ }
+
+ @ConditionalOnMissingBean(name = "virSchemaDetailsPanelProvider")
+ @Bean
+ public VirSchemaDetailsPanelProvider virSchemaDetailsPanelProvider() {
+ return new IdRepoVirSchemaDetailsPanelProvider();
+ }
+
+ @ConditionalOnMissingBean(name = "anyDirectoryPanelAditionalActionLinksProvider")
+ @Bean
+ public AnyDirectoryPanelAditionalActionLinksProvider anyDirectoryPanelAditionalActionLinksProvider() {
+ return new IdRepoAnyDirectoryPanelAditionalActionLinksProvider();
+ }
+
+ @ConditionalOnMissingBean(name = "implementationInfoProvider")
+ @Bean
+ public ImplementationInfoProvider implementationInfoProvider() {
+ return new IdRepoImplementationInfoProvider();
+ }
+
+ @ConditionalOnMissingBean(name = "policyTabProvider")
+ @Bean
+ public PolicyTabProvider policyTabProvider() {
+ return new IdRepoPolicyTabProvider();
+ }
+}
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
index d291d1c..0b451fa 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
@@ -118,18 +118,25 @@ public class SyncopeWebApplication extends WicketBootSecuredWebApplication {
private Integer queueCapacity;
+ @Autowired
private ExternalResourceProvider resourceProvider;
+ @Autowired
private AnyWizardBuilderAdditionalSteps anyWizardBuilderAdditionalSteps;
+ @Autowired
private StatusProvider statusProvider;
+ @Autowired
private VirSchemaDetailsPanelProvider virSchemaDetailsPanelProvider;
+ @Autowired
private AnyDirectoryPanelAditionalActionLinksProvider anyDirectoryPanelAditionalActionLinksProvider;
+ @Autowired
private ImplementationInfoProvider implementationInfoProvider;
+ @Autowired
private PolicyTabProvider policyTabProvider;
private Map<String, Class<? extends BasePage>> pageClasses;
@@ -209,14 +216,6 @@ public class SyncopeWebApplication extends WicketBootSecuredWebApplication {
getSecuritySettings().setAuthorizationStrategy(new MetaDataRoleAuthorizationStrategy(this));
- resourceProvider = lookup.getResourceProvider();
- anyWizardBuilderAdditionalSteps = lookup.getAnyWizardBuilderAdditionalSteps();
- statusProvider = lookup.getStatusProvider();
- virSchemaDetailsPanelProvider = lookup.getVirSchemaDetailsPanelProvider();
- anyDirectoryPanelAditionalActionLinksProvider = lookup.getAnyDirectoryPanelAditionalActionLinksProvider();
- implementationInfoProvider = lookup.getImplementationInfoProvider();
- policyTabProvider = lookup.getPolicyTabProvider();
-
lookup.getPageClasses().
forEach(cls -> MetaDataRoleAuthorizationStrategy.authorize(cls, Constants.ROLE_AUTHENTICATED));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
index 2ed938d..e61e195 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
@@ -33,16 +33,14 @@ import org.apache.syncope.common.lib.types.IdRepoImplementationType;
import org.apache.syncope.common.lib.types.ImplementationEngine;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
+import org.springframework.beans.factory.annotation.Autowired;
public class IdRepoImplementationInfoProvider implements ImplementationInfoProvider {
private static final long serialVersionUID = -6620368595630782392L;
- protected final ClassPathScanImplementationLookup lookup;
-
- public IdRepoImplementationInfoProvider(final ClassPathScanImplementationLookup lookup) {
- this.lookup = lookup;
- }
+ @Autowired
+ protected ClassPathScanImplementationLookup lookup;
@Override
public ViewMode getViewMode(final ImplementationTO implementation) {
@@ -62,7 +60,7 @@ public class IdRepoImplementationInfoProvider implements ImplementationInfoProvi
Optional<JavaImplInfo> javaClasses = SyncopeConsoleSession.get().getPlatformInfo().
getJavaImplInfo(implementation.getType());
classes = javaClasses.map(javaImplInfo -> new ArrayList<>(javaImplInfo.getClasses()))
- .orElseGet(ArrayList::new);
+ .orElseGet(ArrayList::new);
} else if (viewMode == ViewMode.JSON_BODY) {
switch (implementation.getType()) {
case IdRepoImplementationType.REPORTLET:
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
index f243261..332948c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/init/ClassPathScanImplementationLookup.java
@@ -40,11 +40,6 @@ import org.apache.syncope.client.console.annotations.IdMPage;
import org.apache.syncope.client.console.annotations.Resource;
import org.apache.syncope.client.console.commons.AnyDirectoryPanelAditionalActionLinksProvider;
import org.apache.syncope.client.console.commons.AnyWizardBuilderAdditionalSteps;
-import org.apache.syncope.client.console.commons.IdRepoAnyDirectoryPanelAditionalActionLinksProvider;
-import org.apache.syncope.client.console.commons.IdRepoAnyWizardBuilderAdditionalSteps;
-import org.apache.syncope.client.console.commons.IdRepoExternalResourceProvider;
-import org.apache.syncope.client.console.commons.IdRepoStatusProvider;
-import org.apache.syncope.client.console.commons.IdRepoVirSchemaDetailsPanelProvider;
import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.ui.commons.panels.BaseSSOLoginFormPanel;
import org.apache.syncope.client.ui.commons.markup.html.form.preview.AbstractBinaryPreviewer;
@@ -65,8 +60,6 @@ import org.springframework.context.annotation.ClassPathScanningCandidateComponen
import org.springframework.core.type.filter.AssignableTypeFilter;
import org.springframework.util.ClassUtils;
import org.apache.syncope.client.console.commons.ExternalResourceProvider;
-import org.apache.syncope.client.console.commons.IdRepoImplementationInfoProvider;
-import org.apache.syncope.client.console.commons.IdRepoPolicyTabProvider;
import org.apache.syncope.client.console.commons.ImplementationInfoProvider;
import org.apache.syncope.client.console.commons.PolicyTabProvider;
import org.apache.syncope.client.console.commons.StatusProvider;
@@ -105,22 +98,6 @@ public class ClassPathScanImplementationLookup {
});
}
- private ExternalResourceProvider resourceProvider = new IdRepoExternalResourceProvider();
-
- private AnyWizardBuilderAdditionalSteps anyWizardBuilderAdditionalSteps =
- new IdRepoAnyWizardBuilderAdditionalSteps();
-
- private StatusProvider statusProvider = new IdRepoStatusProvider();
-
- private VirSchemaDetailsPanelProvider virSchemaDetailsPanelProvider = new IdRepoVirSchemaDetailsPanelProvider();
-
- private AnyDirectoryPanelAditionalActionLinksProvider anyDirectoryPanelAditionalActionLinksProvider =
- new IdRepoAnyDirectoryPanelAditionalActionLinksProvider();
-
- private ImplementationInfoProvider implementationInfoProvider = new IdRepoImplementationInfoProvider(this);
-
- private PolicyTabProvider policyTabProvider = new IdRepoPolicyTabProvider();
-
private List<Class<? extends BasePage>> pages;
private List<Class<? extends AbstractBinaryPreviewer>> previewers;
@@ -199,7 +176,7 @@ public class ClassPathScanImplementationLookup {
scanner.findCandidateComponents(getBasePackage()).forEach(bd -> {
try {
Class<?> clazz = ClassUtils.resolveClassName(
- Objects.requireNonNull(bd.getBeanClassName()), ClassUtils.getDefaultClassLoader());
+ Objects.requireNonNull(bd.getBeanClassName()), ClassUtils.getDefaultClassLoader());
boolean isAbstractClazz = Modifier.isAbstract(clazz.getModifiers());
if (!isAbstractClazz) {
if (BaseExtPage.class.isAssignableFrom(clazz)) {
@@ -252,61 +229,6 @@ public class ClassPathScanImplementationLookup {
LOG.error("Could not find annotation {} in {}, ignoring",
Resource.class.getName(), clazz.getName());
}
- } else if (ExternalResourceProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoExternalResourceProvider.class)
- && !clazz.isInstance(resourceProvider)) {
-
- resourceProvider = (ExternalResourceProvider) clazz.
- getConstructor().newInstance();
- }
- } else if (AnyWizardBuilderAdditionalSteps.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoAnyWizardBuilderAdditionalSteps.class)
- && !clazz.isInstance(anyWizardBuilderAdditionalSteps)) {
-
- anyWizardBuilderAdditionalSteps = (AnyWizardBuilderAdditionalSteps) clazz.
- getConstructor().newInstance();
- }
- } else if (StatusProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoStatusProvider.class)
- && !clazz.isInstance(statusProvider)) {
-
- statusProvider = (StatusProvider) clazz.
- getConstructor().newInstance();
- }
- } else if (VirSchemaDetailsPanelProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoVirSchemaDetailsPanelProvider.class)
- && !clazz.isInstance(virSchemaDetailsPanelProvider)) {
-
- virSchemaDetailsPanelProvider = (VirSchemaDetailsPanelProvider) clazz.
- getConstructor().newInstance();
- }
- } else if (AnyDirectoryPanelAditionalActionLinksProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoAnyDirectoryPanelAditionalActionLinksProvider.class)
- && !clazz.isInstance(anyDirectoryPanelAditionalActionLinksProvider)) {
-
- anyDirectoryPanelAditionalActionLinksProvider =
- (AnyDirectoryPanelAditionalActionLinksProvider) clazz.
- getConstructor().newInstance();
-
- }
- } else if (ImplementationInfoProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoImplementationInfoProvider.class)
- && !clazz.isInstance(implementationInfoProvider)) {
-
- implementationInfoProvider =
- (ImplementationInfoProvider) clazz.
- getConstructor(ClassPathScanImplementationLookup.class).newInstance(this);
-
- }
- } else if (PolicyTabProvider.class.isAssignableFrom(clazz)) {
- if (!clazz.equals(IdRepoPolicyTabProvider.class)
- && !clazz.isInstance(policyTabProvider)) {
-
- policyTabProvider =
- (PolicyTabProvider) clazz.
- getConstructor().newInstance();
-
- }
}
}
} catch (Throwable t) {
@@ -362,21 +284,6 @@ public class ClassPathScanImplementationLookup {
LOG.debug("Pull Correlation Rule configurations found: {}", pullCorrelationRuleConfs);
LOG.debug("Push Correlation Rule configurations found: {}", pushCorrelationRuleConfs);
LOG.debug("Wicket Resources found: {}", resources);
-
- LOG.debug("{}: {}", ExternalResourceProvider.class.getSimpleName(),
- resourceProvider.getClass().getSimpleName());
- LOG.debug("{}: {}", AnyWizardBuilderAdditionalSteps.class.getSimpleName(),
- anyWizardBuilderAdditionalSteps.getClass().getSimpleName());
- LOG.debug("{}: {}", StatusProvider.class.getSimpleName(),
- statusProvider.getClass().getSimpleName());
- LOG.debug("{}: {}", VirSchemaDetailsPanelProvider.class.getSimpleName(),
- virSchemaDetailsPanelProvider.getClass().getSimpleName());
- LOG.debug("{}: {}", AnyDirectoryPanelAditionalActionLinksProvider.class.getSimpleName(),
- anyDirectoryPanelAditionalActionLinksProvider.getClass().getSimpleName());
- LOG.debug("{}: {}", ImplementationInfoProvider.class.getSimpleName(),
- implementationInfoProvider.getClass().getSimpleName());
- LOG.debug("{}: {}", PolicyTabProvider.class.getSimpleName(),
- policyTabProvider.getClass().getSimpleName());
}
public Class<? extends AbstractBinaryPreviewer> getPreviewerClass(final String mimeType) {
@@ -444,32 +351,4 @@ public class ClassPathScanImplementationLookup {
public List<Class<? extends AbstractResource>> getResources() {
return resources;
}
-
- public ExternalResourceProvider getResourceProvider() {
- return resourceProvider;
- }
-
- public AnyWizardBuilderAdditionalSteps getAnyWizardBuilderAdditionalSteps() {
- return anyWizardBuilderAdditionalSteps;
- }
-
- public StatusProvider getStatusProvider() {
- return statusProvider;
- }
-
- public VirSchemaDetailsPanelProvider getVirSchemaDetailsPanelProvider() {
- return virSchemaDetailsPanelProvider;
- }
-
- public AnyDirectoryPanelAditionalActionLinksProvider getAnyDirectoryPanelAditionalActionLinksProvider() {
- return anyDirectoryPanelAditionalActionLinksProvider;
- }
-
- public ImplementationInfoProvider getImplementationInfoProvider() {
- return implementationInfoProvider;
- }
-
- public PolicyTabProvider getPolicyTabProvider() {
- return policyTabProvider;
- }
}
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Login.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
index 3facd54..9009d37 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Login.java
@@ -80,8 +80,9 @@ public class Login extends BaseLogin {
}
@Override
- protected void authenticate(final String username, final String password, final AjaxRequestTarget target) throws
- AccessControlException {
+ protected void authenticate(final String username, final String password, final AjaxRequestTarget target)
+ throws AccessControlException {
+
if (SyncopeWebApplication.get().getAnonymousUser().equals(username)) {
throw new AccessControlException("Illegal username");
}
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyPropagationActions.groovy b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyPropagationActions.groovy
index 6f58ce0..f0156eb 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyPropagationActions.groovy
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyPropagationActions.groovy
@@ -18,7 +18,6 @@
* under the License.
*/
import groovy.transform.CompileStatic
-import java.util.Collections
import java.util.Set
import org.apache.syncope.core.persistence.api.entity.resource.OrgUnit
import org.apache.syncope.core.persistence.api.entity.resource.Provision
@@ -32,12 +31,12 @@ class MyPropagationActions implements PropagationActions {
@Override
Set<String> moreAttrsToGet(PropagationTask task, OrgUnit orgUnit) {
- return Collections.emptySet();
+ return Set.of();
}
@Override
Set<String> moreAttrsToGet(PropagationTask task, Provision provision) {
- return Collections.emptySet();
+ return Set.of();
}
@Override
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
index 3d9fdb6..973c3c0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
@@ -25,10 +25,10 @@ import com.giffing.wicket.spring.boot.starter.configuration.extensions.core.sett
import com.giffing.wicket.spring.boot.starter.configuration.extensions.external.spring.boot.actuator.WicketEndpointRepositoryDefault;
import java.util.List;
+import org.apache.syncope.client.console.SyncopeIdMConsoleContext;
+import org.apache.syncope.client.console.SyncopeIdRepoConsoleContext;
import org.apache.syncope.client.console.SyncopeWebApplication;
import org.apache.syncope.client.console.commons.PreviewUtils;
-import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
-import org.apache.syncope.client.console.init.MIMETypesLoader;
import org.apache.syncope.client.console.pages.Login;
import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
import org.apache.syncope.common.keymaster.client.self.SelfKeymasterClientContext;
@@ -72,20 +72,6 @@ public abstract class AbstractConsoleITCase extends AbstractUITCase {
}
@Bean
- public ClassPathScanImplementationLookup classPathScanImplementationLookup() {
- ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
- lookup.load();
- return lookup;
- }
-
- @Bean
- public MIMETypesLoader mimeTypesLoader() {
- MIMETypesLoader mimeTypesLoader = new MIMETypesLoader();
- mimeTypesLoader.load();
- return mimeTypesLoader;
- }
-
- @Bean
public PreviewUtils previewUtils() {
return new PreviewUtils();
}
@@ -98,6 +84,8 @@ public abstract class AbstractConsoleITCase extends AbstractUITCase {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(SyncopeConsoleWebApplicationTestConfig.class);
ctx.register(SyncopeWebApplication.class);
+ ctx.register(SyncopeIdRepoConsoleContext.class);
+ ctx.register(SyncopeIdMConsoleContext.class);
ctx.refresh();
UTILITY_UI = new UtilityUIT(new WicketTester(ctx.getBean(SyncopeWebApplication.class)));