refactoring env

This commit is contained in:
Michele Artini 2024-01-18 10:02:40 +01:00
parent aaf71a015b
commit c0ab592cef
4 changed files with 10 additions and 10 deletions

View File

@ -146,10 +146,10 @@ public class GraphUtils {
private static Function<RuntimeEnv, Boolean> generateFunction(final String condition) {
if (StringUtils.isBlank(condition)) { return env -> true; }
return token -> {
return env -> {
final ExpressionParser parser = new SpelExpressionParser();
final StandardEvaluationContext context = new StandardEvaluationContext(token.getAttributes());
final StandardEvaluationContext context = new StandardEvaluationContext(env.getAttributes());
context.addPropertyAccessor(new MapAccessor());
return parser.parseExpression(condition).getValue(context, Boolean.class);

View File

@ -52,7 +52,7 @@ public abstract class ProcessNode implements BeanNameAware {
public void onSuccess(final RuntimeEnv env) {
try {
saveOutputParams(env);
ProcessNode.this.engine.releaseToken(ProcessNode.this.process, ProcessNode.this.graphNode, env);
ProcessNode.this.engine.releaseEnv(ProcessNode.this.process, ProcessNode.this.graphNode, env);
} catch (final WorkflowManagerException e) {
onFail(env, e);
}

View File

@ -216,16 +216,16 @@ public class ProcessEngine {
}
}
public void releaseToken(final WorkflowProcess process, final RuntimeNode oldGraphNode, final RuntimeEnv oldEnv) {
public void releaseEnv(final WorkflowProcess process, final RuntimeNode oldGraphNode, final RuntimeEnv oldEnv) {
try {
for (final RuntimeNode graphNode : GraphUtils.nextNodes(process.getJobDetails().getGraph(), oldGraphNode, oldEnv)) {
if (graphNode.isJoin() || graphNode.isSuccessNode()) {
if (!process.getPausedJoinNodeTokens().containsKey(graphNode.getName())) {
process.getPausedJoinNodeTokens().put(graphNode.getName(), new ArrayList<>());
if (!process.getPausedJoinNodeEnvs().containsKey(graphNode.getName())) {
process.getPausedJoinNodeEnvs().put(graphNode.getName(), new ArrayList<>());
}
final List<RuntimeEnv> list = process.getPausedJoinNodeTokens().get(graphNode.getName());
final List<RuntimeEnv> list = process.getPausedJoinNodeEnvs().get(graphNode.getName());
list.add(oldEnv);

View File

@ -29,7 +29,7 @@ public class WorkflowProcess implements Comparable<WorkflowProcess> {
private ProcessCallback callback;
private List<RuntimeEnv> envs = new CopyOnWriteArrayList<>();
private final Map<String, List<RuntimeEnv>> pausedJoinNodeTokens = new HashMap<>();
private final Map<String, List<RuntimeEnv>> pausedJoinNodeEnvs = new HashMap<>();
private final Map<String, String> outputParams = new HashMap<>();
private Throwable error;
@ -47,8 +47,8 @@ public class WorkflowProcess implements Comparable<WorkflowProcess> {
return this.jobDetails;
}
public Map<String, List<RuntimeEnv>> getPausedJoinNodeTokens() {
return this.pausedJoinNodeTokens;
public Map<String, List<RuntimeEnv>> getPausedJoinNodeEnvs() {
return this.pausedJoinNodeEnvs;
}
public List<RuntimeEnv> getEnvs() {