From 58c894459865334773380fc0a82f7b618ab64550 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Thu, 18 Jan 2024 10:09:05 +0100 Subject: [PATCH] refactoring env --- .../main/java/eu/dnetlib/wfs/procs/RuntimeEnv.java | 13 ------------- .../main/java/eu/dnetlib/wfs/nodes/ProcessNode.java | 6 ++---- .../java/eu/dnetlib/wfs/procs/ProcessEngine.java | 6 +++--- .../java/eu/dnetlib/wfs/procs/WorkflowProcess.java | 12 ++++++------ 4 files changed, 11 insertions(+), 26 deletions(-) diff --git a/dnet-app/libs/dnet-wf-common/src/main/java/eu/dnetlib/wfs/procs/RuntimeEnv.java b/dnet-app/libs/dnet-wf-common/src/main/java/eu/dnetlib/wfs/procs/RuntimeEnv.java index 18c9253..8a3e1e3 100644 --- a/dnet-app/libs/dnet-wf-common/src/main/java/eu/dnetlib/wfs/procs/RuntimeEnv.java +++ b/dnet-app/libs/dnet-wf-common/src/main/java/eu/dnetlib/wfs/procs/RuntimeEnv.java @@ -9,11 +9,6 @@ import java.util.Map; public class RuntimeEnv { private final Map attributes = new HashMap<>(); - private Throwable error; - - public RuntimeEnv() { - this.error = null; - } public Map getAttributes() { return this.attributes; @@ -49,12 +44,4 @@ public class RuntimeEnv { return this.attributes.remove(name); } - public Throwable getError() { - return this.error; - } - - public void setError(final Throwable error) { - this.error = error; - } - } diff --git a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/nodes/ProcessNode.java b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/nodes/ProcessNode.java index 80dd2d9..d8f0a59 100644 --- a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/nodes/ProcessNode.java +++ b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/nodes/ProcessNode.java @@ -61,8 +61,7 @@ public abstract class ProcessNode implements BeanNameAware { @Override public void onFail(final RuntimeEnv env, final Throwable e) { log.debug("FAILURE IN NODE " + getNodeName()); - env.setError(e); - ProcessNode.this.engine.completeProcess(ProcessNode.this.process, env); + ProcessNode.this.engine.completeProcess(ProcessNode.this.process, env, e); } }; @@ -72,9 +71,8 @@ public abstract class ProcessNode implements BeanNameAware { execute(env, callback); } } catch (final Throwable e) { - env.setError(e); this.graphNode.setStatus(RuntimeNodeStatus.failed); - this.engine.completeProcess(this.process, env); + this.engine.completeProcess(this.process, env, e); } } diff --git a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/ProcessEngine.java b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/ProcessEngine.java index 28fee7b..aaaee02 100644 --- a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/ProcessEngine.java +++ b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/ProcessEngine.java @@ -235,7 +235,7 @@ public class ProcessEngine { executeNode(process, graphNode, env); if (graphNode.isSuccessNode()) { - completeProcess(process, env); + completeProcess(process, env, null); } } } else { @@ -304,9 +304,9 @@ public class ProcessEngine { return map; } - public void completeProcess(final WorkflowProcess process, final RuntimeEnv env) { + public void completeProcess(final WorkflowProcess process, final RuntimeEnv env, final Throwable err) { - process.complete(env); + process.complete(env, err); updateRunningJob(process); saveHistoryJob(process); diff --git a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/WorkflowProcess.java b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/WorkflowProcess.java index 82302ed..dccd91e 100644 --- a/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/WorkflowProcess.java +++ b/dnet-app/libs/dnet-wf-executor-common/src/main/java/eu/dnetlib/wfs/procs/WorkflowProcess.java @@ -98,21 +98,21 @@ public class WorkflowProcess implements Comparable { return env; } - public void complete(final RuntimeEnv env) { + public void complete(final RuntimeEnv env, final Throwable err) { final LocalDateTime now = LocalDateTime.now(); this.jobDetails.setLastUpdate(now); this.jobDetails.setEndDate(now); - this.jobDetails.setStatus(env.getError() != null ? JobStatus.failure : JobStatus.success); + this.jobDetails.setStatus(err != null ? JobStatus.failure : JobStatus.success); - if (env.getError() != null) { - setError(env.getError()); + if (err != null) { + setError(err); } if (this.callback != null) { - if (env.getError() != null) { - this.callback.onFail(this, env.getError()); + if (err != null) { + this.callback.onFail(this, err); } else { this.callback.onSuccess(this); }