Commit 1f0bd7b7 by 吴佳

获取依赖moduleList后先判断是否存在,再执行ModuleList里面的Default Rule

parent dbf34e6e
......@@ -314,31 +314,33 @@ public class DCR {
//3.如果依赖moduleList,执行ModuleList里面的Default Rule
//3.1查找该ModuleList的Emitter
ModuleList moduleList = (ModuleList)MdaDriver.getBaseObject(null,path);
AbstractScopeEmitter emitterOfModuleList = getModuleListEmitter(moduleList.getDataClass());
if(emitter == null){
keyStack.pop();
return;
}
//3.2深入执行该ModuleList每一项的default rule
Map<String,Map<String,Object>> subMergeQueue = (Map<String,Map<String,Object>>)flagOrDps;
subMergeQueue.entrySet().forEach(entry->{
String idxStr = entry.getKey();
int num = Integer.parseInt(idxStr);
if(num <= 0){
return;
}
if(moduleList.size() <= 0){
return;
}
if (moduleList == null || moduleList.isEmpty()){
if(!MdaUtils.isEmpty(moduleList)) {
AbstractScopeEmitter emitterOfModuleList = getModuleListEmitter(moduleList.getDataClass());
if (emitter == null) {
keyStack.pop();
return;
}
IModule subRootModule = moduleList.getElement(num);
//3.3设置上下文,以当前数据项为root点,执行Default
emitterOfModuleList.acceptContext(subRootModule);
executeMergedQueue(subRootModule,emitterOfModuleList,rootMergeMap,entry.getValue(),keyStack);
emitterOfModuleList.removeContext();
});
//3.2深入执行该ModuleList每一项的default rule
Map<String, Map<String, Object>> subMergeQueue = (Map<String, Map<String, Object>>) flagOrDps;
subMergeQueue.entrySet().forEach(entry -> {
String idxStr = entry.getKey();
int num = Integer.parseInt(idxStr);
if (num <= 0) {
return;
}
if (moduleList.size() <= 0) {
return;
}
if (moduleList == null || moduleList.isEmpty()) {
return;
}
IModule subRootModule = moduleList.getElement(num);
//3.3设置上下文,以当前数据项为root点,执行Default
emitterOfModuleList.acceptContext(subRootModule);
executeMergedQueue(subRootModule, emitterOfModuleList, rootMergeMap, entry.getValue(), keyStack);
emitterOfModuleList.removeContext();
});
}
//执行一下自己
//emitter.executeDefault(path);
keyStack.pop();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment