diff --git a/src/main/java/neatlogic/framework/process/processtaskserialnumberpolicy/core/ProcessTaskSerialNumberPolicyHandlerFactory.java b/src/main/java/neatlogic/framework/process/processtaskserialnumberpolicy/core/ProcessTaskSerialNumberPolicyHandlerFactory.java index 08d4d4976a642a7f6118f2c68d282071f541835e..2155627c1e9bb0d97ad3097a02508f27b73eeb10 100644 --- a/src/main/java/neatlogic/framework/process/processtaskserialnumberpolicy/core/ProcessTaskSerialNumberPolicyHandlerFactory.java +++ b/src/main/java/neatlogic/framework/process/processtaskserialnumberpolicy/core/ProcessTaskSerialNumberPolicyHandlerFactory.java @@ -32,7 +32,12 @@ public class ProcessTaskSerialNumberPolicyHandlerFactory extends ModuleInitializ private static final List policyList = new ArrayList<>(); public static IProcessTaskSerialNumberPolicyHandler getHandler(String handler) { - return policyMap.get(handler); + IProcessTaskSerialNumberPolicyHandler processTaskSerialNumberPolicyHandler = policyMap.get(handler); + if (processTaskSerialNumberPolicyHandler == null) { + int index = handler.lastIndexOf("."); + processTaskSerialNumberPolicyHandler = policyMap.get(handler.substring(index + 1)); + } + return processTaskSerialNumberPolicyHandler; } public static List getPolicyHandlerList() { @@ -45,9 +50,12 @@ public class ProcessTaskSerialNumberPolicyHandlerFactory extends ModuleInitializ context.getBeansOfType(IProcessTaskSerialNumberPolicyHandler.class); for (Map.Entry entry : map.entrySet()) { IProcessTaskSerialNumberPolicyHandler numberPolicy = entry.getValue(); - policyMap.put(numberPolicy.getHandler(), numberPolicy); + String handler = numberPolicy.getHandler(); + int index = handler.lastIndexOf("."); + policyMap.put(handler, numberPolicy); + policyMap.put(handler.substring(index + 1), numberPolicy); ProcessTaskSerialNumberPolicyVo policy = new ProcessTaskSerialNumberPolicyVo(); - policy.setHandler(numberPolicy.getHandler()); + policy.setHandler(handler); policy.setName(numberPolicy.getName()); policy.setFormAttributeList(numberPolicy.makeupFormAttributeList()); policyList.add(policy); diff --git a/src/main/java/neatlogic/framework/process/workerdispatcher/core/WorkerDispatcherFactory.java b/src/main/java/neatlogic/framework/process/workerdispatcher/core/WorkerDispatcherFactory.java index f8a1a7d12d0711a9c9803031f1be586771ab9469..3d38af687ad2a8b3f43fcaea30b2de4724794cbe 100644 --- a/src/main/java/neatlogic/framework/process/workerdispatcher/core/WorkerDispatcherFactory.java +++ b/src/main/java/neatlogic/framework/process/workerdispatcher/core/WorkerDispatcherFactory.java @@ -36,10 +36,15 @@ public class WorkerDispatcherFactory extends ModuleInitializedListenerBase { private static final Map className2ModuleIdMap = new HashMap<>(); public static IWorkerDispatcher getDispatcher(String name) { - if (!componentMap.containsKey(name) || componentMap.get(name) == null) { + IWorkerDispatcher workerDispatcher = componentMap.get(name); + if (workerDispatcher == null) { + int index = name.lastIndexOf("."); + workerDispatcher = componentMap.get(name.substring(index + 1)); + } + if (workerDispatcher == null) { throw new HandlerDispatchComponentTypeNotFoundException(name); } - return componentMap.get(name); + return workerDispatcher; } public static List getAllActiveWorkerDispatcher() { @@ -79,9 +84,12 @@ public class WorkerDispatcherFactory extends ModuleInitializedListenerBase { Map myMap = context.getBeansOfType(IWorkerDispatcher.class); for (Map.Entry entry : myMap.entrySet()) { IWorkerDispatcher component = entry.getValue(); - if (StringUtils.isNotBlank(component.getClassName())) { - componentMap.put(component.getClassName(), component); - className2ModuleIdMap.put(component.getClassName(), context.getId()); + String className = component.getClassName(); + if (StringUtils.isNotBlank(className)) { + componentMap.put(className, component); + int index = className.lastIndexOf("."); + componentMap.put(className.substring(index + 1), component); + className2ModuleIdMap.put(className, context.getId()); } } }