From b2d620ffa787b95074d7cf479b6610b7327dd388 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 4 Jul 2019 12:51:23 +0200 Subject: fix some small bugs in SL2.0 module --- .../impl/idp/auth/modules/ModuleRegistration.java | 32 ++++++++++++---------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java') diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java index 356744e8..f35b6032 100644 --- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java @@ -59,7 +59,7 @@ public class ModuleRegistration { private static ModuleRegistration instance = new ModuleRegistration(); - private List priorizedModules = new ArrayList<>(); + private final List priorizedModules = new ArrayList<>(); @Autowired private ApplicationContext ctx; @@ -67,7 +67,7 @@ public class ModuleRegistration { @Autowired private ProcessEngine processEngine; - private Logger log = LoggerFactory.getLogger(getClass()); + private final Logger log = LoggerFactory.getLogger(getClass()); public static ModuleRegistration getInstance() { return instance; @@ -86,6 +86,8 @@ public class ModuleRegistration { // order modules according to their priority sortModules(); + + instance = this; } /** @@ -93,10 +95,10 @@ public class ModuleRegistration { */ private void initServiceLoaderModules() { log.info("Looking for auth modules."); - ServiceLoader loader = ServiceLoader.load(AuthModule.class); - Iterator modules = loader.iterator(); + final ServiceLoader loader = ServiceLoader.load(AuthModule.class); + final Iterator modules = loader.iterator(); while (modules.hasNext()) { - AuthModule module = modules.next(); + final AuthModule module = modules.next(); log.info("Detected module {}", module.getClass().getName()); registerModuleProcessDefinitions(module); priorizedModules.add(module); @@ -108,8 +110,8 @@ public class ModuleRegistration { */ private void initSpringModules() { log.debug("Discovering Spring modules."); - Map modules = ctx.getBeansOfType(AuthModule.class); - for (AuthModule module : modules.values()) { + final Map modules = ctx.getBeansOfType(AuthModule.class); + for (final AuthModule module : modules.values()) { registerModuleProcessDefinitions(module); priorizedModules.add(module); } @@ -122,15 +124,15 @@ public class ModuleRegistration { * the module. */ private void registerModuleProcessDefinitions(AuthModule module) { - for (String uri : module.getProcessDefinitions()) { - Resource resource = ctx.getResource(uri); + for (final String uri : module.getProcessDefinitions()) { + final Resource resource = ctx.getResource(uri); if (resource.isReadable()) { log.info("Registering process definition '{}'.", uri); try (InputStream processDefinitionInputStream = resource.getInputStream()) { processEngine.registerProcessDefinition(processDefinitionInputStream); - } catch (IOException e) { + } catch (final IOException e) { log.error("Process definition '{}' could NOT be read.", uri, e); - } catch (ProcessDefinitionParserException e) { + } catch (final ProcessDefinitionParserException e) { log.error("Error while parsing process definition '{}'", uri, e); } } else { @@ -146,8 +148,8 @@ public class ModuleRegistration { Collections.sort(priorizedModules, new Comparator() { @Override public int compare(AuthModule thisAuthModule, AuthModule otherAuthModule) { - int thisOrder = thisAuthModule.getPriority(); - int otherOrder = otherAuthModule.getPriority(); + final int thisOrder = thisAuthModule.getPriority(); + final int otherOrder = otherAuthModule.getPriority(); return (thisOrder < otherOrder ? 1 : (thisOrder == otherOrder ? 0 : -1)); } }); @@ -162,8 +164,8 @@ public class ModuleRegistration { * @return the process id or {@code null} */ public String selectProcess(ExecutionContext context) { - for (AuthModule module : priorizedModules) { - String id = module.selectProcess(context); + for (final AuthModule module : priorizedModules) { + final String id = module.selectProcess(context); if (StringUtils.isNotEmpty(id)) { log.debug("Process with id '{}' selected, for context '{}'.", id, context); return id; -- cgit v1.2.3