This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 3_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/3_0_X by this push:
new 0adeec348b Realigning ClassPathScanImplementationLookup with
IdRepoImplementationType and IdMImplementationType
0adeec348b is described below
commit 0adeec348b0b13586f742faf07b3279223842866
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Tue Dec 24 11:48:29 2024 +0100
Realigning ClassPathScanImplementationLookup with IdRepoImplementationType
and IdMImplementationType
---
.../init/ClassPathScanImplementationLookup.java | 73 +++++++++++-----------
1 file changed, 38 insertions(+), 35 deletions(-)
diff --git
a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
index 58acb1cbf3..9405d9f2dd 100644
---
a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
+++
b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
@@ -44,6 +44,7 @@ import
org.apache.syncope.core.provisioning.api.job.SchedTaskJobDelegate;
import org.apache.syncope.core.provisioning.api.job.report.ReportConfClass;
import org.apache.syncope.core.provisioning.api.job.report.ReportJobDelegate;
import org.apache.syncope.core.provisioning.api.macro.Command;
+import org.apache.syncope.core.provisioning.api.macro.MacroActions;
import
org.apache.syncope.core.provisioning.api.notification.RecipientsProvider;
import org.apache.syncope.core.provisioning.api.propagation.PropagationActions;
import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
@@ -138,15 +139,7 @@ public class ClassPathScanImplementationLookup implements
ImplementationLookup {
continue;
}
- if (ReportJobDelegate.class.isAssignableFrom(clazz)) {
- ReportConfClass annotation =
clazz.getAnnotation(ReportConfClass.class);
- if (annotation == null) {
- LOG.warn("Found Report {} without declared
configuration", clazz.getName());
- } else {
-
classNames.get(IdRepoImplementationType.REPORT_DELEGATE).add(clazz.getName());
- reportJobDelegateClasses.put(annotation.value(),
(Class<? extends ReportJobDelegate>) clazz);
- }
- } else if (AccountRule.class.isAssignableFrom(clazz)) {
+ if (AccountRule.class.isAssignableFrom(clazz)) {
AccountRuleConfClass annotation =
clazz.getAnnotation(AccountRuleConfClass.class);
if (annotation == null) {
LOG.warn("Found account policy rule {} without
declared configuration", clazz.getName());
@@ -162,6 +155,42 @@ public class ClassPathScanImplementationLookup implements
ImplementationLookup {
classNames.get(IdRepoImplementationType.PASSWORD_RULE).add(clazz.getName());
passwordRuleClasses.put(annotation.value(), (Class<?
extends PasswordRule>) clazz);
}
+ } else if (SchedTaskJobDelegate.class.isAssignableFrom(clazz)
+ && !PullJobDelegate.class.isAssignableFrom(clazz)
+ && !PushJobDelegate.class.isAssignableFrom(clazz)
+ &&
!GroupMemberProvisionTaskJobDelegate.class.isAssignableFrom(clazz)) {
+
+
classNames.get(IdRepoImplementationType.TASKJOB_DELEGATE).add(bd.getBeanClassName());
+ } else if (ReportJobDelegate.class.isAssignableFrom(clazz)) {
+ ReportConfClass annotation =
clazz.getAnnotation(ReportConfClass.class);
+ if (annotation == null) {
+ LOG.warn("Found Report {} without declared
configuration", clazz.getName());
+ } else {
+
classNames.get(IdRepoImplementationType.REPORT_DELEGATE).add(clazz.getName());
+ reportJobDelegateClasses.put(annotation.value(),
(Class<? extends ReportJobDelegate>) clazz);
+ }
+ } else if (LogicActions.class.isAssignableFrom(clazz)) {
+
classNames.get(IdRepoImplementationType.LOGIC_ACTIONS).add(bd.getBeanClassName());
+ } else if (MacroActions.class.isAssignableFrom(clazz)) {
+
classNames.get(IdRepoImplementationType.MACRO_ACTIONS).add(bd.getBeanClassName());
+ } else if
(PlainAttrValueValidator.class.isAssignableFrom(clazz)) {
+
classNames.get(IdRepoImplementationType.ATTR_VALUE_VALIDATOR).add(bd.getBeanClassName());
+ } else if (Command.class.isAssignableFrom(clazz)) {
+
classNames.get(IdRepoImplementationType.COMMAND).add(bd.getBeanClassName());
+ } else if (RecipientsProvider.class.isAssignableFrom(clazz)) {
+
classNames.get(IdRepoImplementationType.RECIPIENTS_PROVIDER).add(bd.getBeanClassName());
+ } else if (ItemTransformer.class.isAssignableFrom(clazz)
+ && !clazz.equals(JEXLItemTransformerImpl.class)) {
+
+
classNames.get(IdRepoImplementationType.ITEM_TRANSFORMER).add(clazz.getName());
+ } else if (ReconFilterBuilder.class.isAssignableFrom(clazz)) {
+
classNames.get(IdMImplementationType.RECON_FILTER_BUILDER).add(bd.getBeanClassName());
+ } else if (PropagationActions.class.isAssignableFrom(clazz)) {
+
classNames.get(IdMImplementationType.PROPAGATION_ACTIONS).add(bd.getBeanClassName());
+ } else if (PullActions.class.isAssignableFrom(clazz)) {
+
classNames.get(IdMImplementationType.PULL_ACTIONS).add(bd.getBeanClassName());
+ } else if (PushActions.class.isAssignableFrom(clazz)) {
+
classNames.get(IdMImplementationType.PUSH_ACTIONS).add(bd.getBeanClassName());
} else if (PullCorrelationRule.class.isAssignableFrom(clazz)) {
PullCorrelationRuleConfClass annotation =
clazz.getAnnotation(PullCorrelationRuleConfClass.class);
if (annotation == null) {
@@ -178,34 +207,8 @@ public class ClassPathScanImplementationLookup implements
ImplementationLookup {
classNames.get(IdMImplementationType.PUSH_CORRELATION_RULE).add(clazz.getName());
pushCRClasses.put(annotation.value(), (Class<? extends
PushCorrelationRule>) clazz);
}
- } else if (ItemTransformer.class.isAssignableFrom(clazz)
- && !clazz.equals(JEXLItemTransformerImpl.class)) {
-
-
classNames.get(IdRepoImplementationType.ITEM_TRANSFORMER).add(clazz.getName());
- } else if (SchedTaskJobDelegate.class.isAssignableFrom(clazz)
- && !PullJobDelegate.class.isAssignableFrom(clazz)
- && !PushJobDelegate.class.isAssignableFrom(clazz)
- &&
!GroupMemberProvisionTaskJobDelegate.class.isAssignableFrom(clazz)) {
-
-
classNames.get(IdRepoImplementationType.TASKJOB_DELEGATE).add(bd.getBeanClassName());
- } else if (ReconFilterBuilder.class.isAssignableFrom(clazz)) {
-
classNames.get(IdMImplementationType.RECON_FILTER_BUILDER).add(bd.getBeanClassName());
- } else if (LogicActions.class.isAssignableFrom(clazz)) {
-
classNames.get(IdRepoImplementationType.LOGIC_ACTIONS).add(bd.getBeanClassName());
- } else if (PropagationActions.class.isAssignableFrom(clazz)) {
-
classNames.get(IdMImplementationType.PROPAGATION_ACTIONS).add(bd.getBeanClassName());
- } else if (PullActions.class.isAssignableFrom(clazz)) {
-
classNames.get(IdMImplementationType.PULL_ACTIONS).add(bd.getBeanClassName());
- } else if (PushActions.class.isAssignableFrom(clazz)) {
-
classNames.get(IdMImplementationType.PUSH_ACTIONS).add(bd.getBeanClassName());
- } else if
(PlainAttrValueValidator.class.isAssignableFrom(clazz)) {
-
classNames.get(IdRepoImplementationType.ATTR_VALUE_VALIDATOR).add(bd.getBeanClassName());
- } else if (RecipientsProvider.class.isAssignableFrom(clazz)) {
-
classNames.get(IdRepoImplementationType.RECIPIENTS_PROVIDER).add(bd.getBeanClassName());
} else if (ProvisionSorter.class.isAssignableFrom(clazz)) {
classNames.get(IdMImplementationType.PROVISION_SORTER).add(bd.getBeanClassName());
- } else if (Command.class.isAssignableFrom(clazz)) {
-
classNames.get(IdRepoImplementationType.COMMAND).add(bd.getBeanClassName());
} else {
extImplTypes.forEach((typeName, typeInterface) -> {
Class<?> tic =
ClassUtils.resolveClassName(typeInterface, ClassUtils.getDefaultClassLoader());