refactoring env
This commit is contained in:
parent
c0ab592cef
commit
58c8944598
|
@ -9,11 +9,6 @@ import java.util.Map;
|
|||
public class RuntimeEnv {
|
||||
|
||||
private final Map<String, Object> attributes = new HashMap<>();
|
||||
private Throwable error;
|
||||
|
||||
public RuntimeEnv() {
|
||||
this.error = null;
|
||||
}
|
||||
|
||||
public Map<String, Object> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -98,21 +98,21 @@ public class WorkflowProcess implements Comparable<WorkflowProcess> {
|
|||
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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue