Revision 40099
Added by Michele Artini over 8 years ago
BlackboardWorkflowJobListener.java | ||
---|---|---|
6 | 6 |
import eu.dnetlib.enabling.tools.blackboard.AbstractBlackboardJobListener; |
7 | 7 |
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob; |
8 | 8 |
import eu.dnetlib.msro.workflows.graph.Arc; |
9 |
import eu.dnetlib.msro.workflows.graph.Env;
|
|
10 |
import eu.dnetlib.msro.workflows.graph.Token;
|
|
9 |
import eu.dnetlib.msro.workflows.procs.Env;
|
|
10 |
import eu.dnetlib.msro.workflows.procs.Token;
|
|
11 | 11 |
import eu.dnetlib.msro.workflows.util.WorkflowsConstants; |
12 | 12 |
import org.apache.commons.logging.Log; |
13 | 13 |
import org.apache.commons.logging.LogFactory; |
... | ... | |
32 | 32 |
@Override |
33 | 33 |
protected void onDone(final BlackboardJob job) { |
34 | 34 |
log.debug("Blackboard workflow node DONE"); |
35 |
complete(job, Arc.DEFAULT_ARC); |
|
35 |
responseToEnv(token.getEnv(), job.getParameters()); |
|
36 |
|
|
37 |
token.setNextArc(Arc.DEFAULT_ARC); |
|
38 |
token.release(); |
|
36 | 39 |
} |
37 | 40 |
|
38 | 41 |
@Override |
... | ... | |
44 | 47 |
@Override |
45 | 48 |
final protected void onFailed(final BlackboardJob job) { |
46 | 49 |
log.warn("Blackboard workflow node FAILED: " + job.getError()); |
47 |
token.getEnv().setAttribute(WorkflowsConstants.SYSTEM_HAS_FAILED, true);
|
|
50 |
responseToEnv(token.getEnv(), job.getParameters());
|
|
48 | 51 |
token.getEnv().setAttribute(WorkflowsConstants.SYSTEM_ERROR, job.getError()); |
49 |
complete(job, "failed"); |
|
50 |
} |
|
51 |
|
|
52 |
final protected void complete(final BlackboardJob job, final String arc) { |
|
53 |
final Env env = token.getEnv(); |
|
54 |
|
|
55 |
populateEnv(env, job.getParameters()); |
|
56 |
|
|
57 |
token.setNextArc(arc); |
|
58 | 52 |
token.release(); |
59 | 53 |
} |
60 |
|
|
61 |
protected void populateEnv(final Env env, Map<String, String> responseParams) {
|
|
54 |
|
|
55 |
protected void responseToEnv(final Env env, Map<String, String> responseParams) {
|
|
62 | 56 |
for (Entry<String, String> entry : responseParams.entrySet()) { |
63 | 57 |
env.setAttribute(WorkflowsConstants.BLACKBOARD_PARAM_PREFIX + entry.getKey(), entry.getValue()); |
64 | 58 |
} |
Also available in: Unified diff
partial reimplementation of the wf engine