ilgrosso commented on a change in pull request #264:
URL: https://github.com/apache/syncope/pull/264#discussion_r636028258



##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -96,7 +97,7 @@
         }
     }
 
-    public static Optional<PasswordRule> buildPasswordRule(final 
Implementation impl)
+    public static Optional<PasswordRule> buildPasswordRule(final String 
domain, final Implementation impl)

Review comment:
       same as above

##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -48,7 +49,7 @@
 
     private static final Map<String, Class<?>> CLASS_CACHE = 
Collections.synchronizedMap(new HashMap<>());
 
-    public static Optional<Reportlet> buildReportlet(final Implementation impl)
+    public static Optional<Reportlet> buildReportlet(final String domain, 
final Implementation impl)

Review comment:
       Why adding a `domain` argument and not letting the method body getting 
it via `AuthContextUtils.getDomain()` ?

##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -120,7 +121,7 @@
         }
     }
 
-    public static Optional<PullCorrelationRule> buildPullCorrelationRule(final 
Implementation impl)
+    public static Optional<PullCorrelationRule> buildPullCorrelationRule(final 
String domain, final Implementation impl)

Review comment:
       same as above

##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -216,28 +217,27 @@
     }
 
     @SuppressWarnings("unchecked")
-    private static <T> T buildJavaWithConf(final Class<T> clazz) {
-        T bean = null;
-
+    private static <T> T buildJavaWithConf(final String domain, final Class<T> 
clazz) {
         if (clazz != null) {
-            if 
(ApplicationContextProvider.getBeanFactory().containsSingleton(clazz.getName()))
 {
-                bean = (T) 
ApplicationContextProvider.getBeanFactory().getSingleton(clazz.getName());
-            } else {
-                try {
-                    bean = (T) ApplicationContextProvider.getBeanFactory().
-                            createBean(clazz, 
AbstractBeanDefinition.AUTOWIRE_BY_TYPE, false);
-                    
ApplicationContextProvider.getBeanFactory().registerSingleton(clazz.getName(), 
bean);
-                } catch (IllegalStateException e) {
-                    LOG.debug("While attempting to register {}", 
clazz.getName(), e);
+            String domainableBeanNameWithConf = domain + clazz.getName();
+            DefaultListableBeanFactory beanFactory = 
ApplicationContextProvider.getBeanFactory();
+
+            if (beanFactory.containsSingleton(domainableBeanNameWithConf)) {

Review comment:
       The same exact `if` with statement is also performed in the 
`synchronized` block: why?

##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -72,7 +73,7 @@
         }
     }
 
-    public static Optional<AccountRule> buildAccountRule(final Implementation 
impl)
+    public static Optional<AccountRule> buildAccountRule(final String domain, 
final Implementation impl)

Review comment:
       same as above

##########
File path: 
core/spring/src/main/java/org/apache/syncope/core/spring/ImplementationManager.java
##########
@@ -145,7 +146,7 @@
         }
     }
 
-    public static Optional<PushCorrelationRule> buildPushCorrelationRule(final 
Implementation impl)
+    public static Optional<PushCorrelationRule> buildPushCorrelationRule(final 
String domain, final Implementation impl)

Review comment:
       same as above




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to