Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gjjs-bd-common
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
s_guodong
gjjs-bd-common
Commits
1f0bd7b7
Commit
1f0bd7b7
authored
Aug 11, 2023
by
吴佳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取依赖moduleList后先判断是否存在,再执行ModuleList里面的Default Rule
parent
dbf34e6e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
23 deletions
+25
-23
DCR.java
.../main/java/com/brilliance/mda/runtime/mda/driver/DCR.java
+25
-23
No files found.
gjjs-bd-runtime/src/main/java/com/brilliance/mda/runtime/mda/driver/DCR.java
View file @
1f0bd7b7
...
...
@@ -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
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment