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
commit 97df970a521be72ba2da561ea3bea887e751b57a Author: Francesco Chicchiriccò <ilgro...@apache.org> AuthorDate: Fri Oct 13 09:19:32 2023 +0200 Cleanup --- .../syncope/core/persistence/jpa/dao/AbstractDAO.java | 3 +-- .../core/provisioning/java/data/TaskDataBinderImpl.java | 12 ++++-------- .../java/pushpull/PullResultHandlerDispatcher.java | 2 +- .../java/pushpull/PushResultHandlerDispatcher.java | 2 +- .../java/pushpull/SyncopeResultHandlerDispatcher.java | 13 +++---------- 5 files changed, 10 insertions(+), 22 deletions(-) diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java index cc238fc36a..117c55a97d 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java @@ -41,7 +41,7 @@ public abstract class AbstractDAO<E extends Entity> implements DAO<E> { protected static final Logger LOG = LoggerFactory.getLogger(DAO.class); private static final Map<String, Boolean> IS_ORACLE = new ConcurrentHashMap<>(); - + protected EntityManagerFactory entityManagerFactory() { return EntityManagerFactoryUtils.findEntityManagerFactory( ApplicationContextProvider.getBeanFactory(), AuthContextUtils.getDomain()); @@ -71,7 +71,6 @@ public abstract class AbstractDAO<E extends Entity> implements DAO<E> { isOracle = ((MappingRepository) emfspi.getConfiguration() .getMetaDataRepositoryInstance()).getDBDictionary() instanceof OracleDictionary; IS_ORACLE.put(AuthContextUtils.getDomain(), isOracle); - } return isOracle; } diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java index f6e876c3ee..c83efc8a04 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java @@ -156,8 +156,6 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements // remove all filters not contained in the TO pushTask.getFilters().entrySet(). removeIf(filter -> !pushTaskTO.getFilters().containsKey(filter.getKey())); - - pushTask.setConcurrentSettings(pushTaskTO.getConcurrentSettings()); } else if (provisioningTask instanceof PullTask && provisioningTaskTO instanceof PullTaskTO) { PullTask pullTask = (PullTask) provisioningTask; PullTaskTO pullTaskTO = (PullTaskTO) provisioningTaskTO; @@ -217,8 +215,6 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements removeIf(anyTemplate -> !pullTaskTO.getTemplates().containsKey(anyTemplate.getAnyType().getKey())); pullTask.setRemediation(pullTaskTO.isRemediation()); - - pullTask.setConcurrentSettings(pullTaskTO.getConcurrentSettings()); } // 3. fill the remaining fields @@ -233,6 +229,8 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements () -> LOG.debug("Invalid Implementation {}, ignoring...", action))); // remove all implementations not contained in the TO provisioningTask.getActions().removeIf(impl -> !provisioningTaskTO.getActions().contains(impl.getKey())); + + provisioningTask.setConcurrentSettings(provisioningTaskTO.getConcurrentSettings()); } protected void fill(final MacroTask macroTask, final MacroTaskTO macroTaskTO) { @@ -411,6 +409,8 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements provisioningTaskTO.setPerformUpdate(provisioningTask.isPerformUpdate()); provisioningTaskTO.setPerformDelete(provisioningTask.isPerformDelete()); provisioningTaskTO.setSyncStatus(provisioningTask.isSyncStatus()); + + provisioningTaskTO.setConcurrentSettings(provisioningTask.getConcurrentSettings()); } } @@ -498,8 +498,6 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements put(template.getAnyType().getKey(), template.get())); pullTaskTO.setRemediation(pullTask.isRemediation()); - - pullTaskTO.setConcurrentSettings(pullTask.getConcurrentSettings()); break; case PUSH: @@ -515,8 +513,6 @@ public class TaskDataBinderImpl extends AbstractExecutableDatabinder implements ? UnmatchingRule.ASSIGN : pushTask.getUnmatchingRule()); pushTaskTO.getFilters().putAll(pushTask.getFilters()); - - pushTaskTO.setConcurrentSettings(pushTask.getConcurrentSettings()); break; case NOTIFICATION: diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullResultHandlerDispatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullResultHandlerDispatcher.java index 4362281d3b..974ff8a542 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullResultHandlerDispatcher.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullResultHandlerDispatcher.java @@ -51,7 +51,7 @@ public class PullResultHandlerDispatcher return false; } - if (ecs.isEmpty()) { + if (tpte.isEmpty()) { boolean result = nonConcurrentHandler(delta.getObjectClass().getObjectClassValue()).handle(delta); executor.reportHandled(delta.getObjectClass().getObjectClassValue(), delta.getObject().getName()); diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushResultHandlerDispatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushResultHandlerDispatcher.java index 4bed895fdb..0f50511326 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushResultHandlerDispatcher.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushResultHandlerDispatcher.java @@ -45,7 +45,7 @@ public class PushResultHandlerDispatcher return false; } - if (ecs.isEmpty()) { + if (tpte.isEmpty()) { boolean result = nonConcurrentHandler(anyType).handle(anyKey); executor.reportHandled(anyType, anyKey); diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SyncopeResultHandlerDispatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SyncopeResultHandlerDispatcher.java index 185c53b524..b9559b378d 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SyncopeResultHandlerDispatcher.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SyncopeResultHandlerDispatcher.java @@ -25,7 +25,6 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.Future; import java.util.concurrent.ThreadPoolExecutor; import java.util.function.Supplier; @@ -52,18 +51,15 @@ public abstract class SyncopeResultHandlerDispatcher< protected final Optional<ThreadPoolTaskExecutor> tpte; - protected final Optional<ExecutorCompletionService<Void>> ecs; - protected final Map<String, Supplier<RA>> suppliers = new ConcurrentHashMap<>(); protected final Map<String, RA> handlers = new ConcurrentHashMap<>(); - protected final List<Future<Void>> futures = new ArrayList<>(); + protected final List<Future<?>> futures = new ArrayList<>(); protected SyncopeResultHandlerDispatcher(final ProvisioningProfile<T, A> profile) { if (profile.getTask().getConcurrentSettings() == null) { tpte = Optional.empty(); - ecs = Optional.empty(); } else { ThreadPoolTaskExecutor t = new ThreadPoolTaskExecutor(); t.setCorePoolSize(profile.getTask().getConcurrentSettings().getCorePoolSize()); @@ -89,7 +85,6 @@ public abstract class SyncopeResultHandlerDispatcher< t.initialize(); tpte = Optional.of(t); - ecs = Optional.of(new ExecutorCompletionService<>(t.getThreadPoolExecutor())); } } @@ -106,13 +101,11 @@ public abstract class SyncopeResultHandlerDispatcher< } protected void submit(final Runnable runnable) { - if (ecs.isPresent()) { - futures.add(ecs.get().submit(runnable, null)); - } + tpte.ifPresent(executor -> futures.add(executor.submit(runnable))); } protected void shutdown() { - for (Future<Void> f : this.futures) { + for (Future<?> f : this.futures) { try { f.get(); } catch (ExecutionException | InterruptedException e) {