Project

General

Profile

« Previous | Next » 

Revision 40094

partial reimplementation of the wf engine

View differences:

BlackboardWorkflowJobListener.java
3 3
import java.util.Map;
4 4
import java.util.Map.Entry;
5 5

  
6
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8

  
9
import com.googlecode.sarasvati.Arc;
10
import com.googlecode.sarasvati.Engine;
11
import com.googlecode.sarasvati.NodeToken;
12
import com.googlecode.sarasvati.env.Env;
13

  
14 6
import eu.dnetlib.enabling.tools.blackboard.AbstractBlackboardJobListener;
15 7
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
8
import eu.dnetlib.msro.workflows.graph.Arc;
9
import eu.dnetlib.msro.workflows.graph.Env;
10
import eu.dnetlib.msro.workflows.graph.Token;
16 11
import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
12
import org.apache.commons.logging.Log;
13
import org.apache.commons.logging.LogFactory;
17 14

  
18 15
public class BlackboardWorkflowJobListener extends AbstractBlackboardJobListener {
19 16

  
......
23 20
	private static final Log log = LogFactory.getLog(BlackboardWorkflowJobListener.class);
24 21

  
25 22
	/**
26
	 * workflow engine.
27
	 */
28
	private Engine engine;
29

  
30
	/**
31 23
	 * workflow node token.
32 24
	 */
33
	private NodeToken token;
25
	private Token token;
34 26

  
27
	public BlackboardWorkflowJobListener(final Token token) {
28
		super();
29
		this.token = token;
30
	}
31

  
35 32
	@Override
36 33
	protected void onDone(final BlackboardJob job) {
37 34
		log.debug("Blackboard workflow node DONE");
38 35
		complete(job, Arc.DEFAULT_ARC);
39 36
	}
40 37

  
41
	public BlackboardWorkflowJobListener(final Engine engine, final NodeToken token) {
42
		super();
43
		this.engine = engine;
44
		this.token = token;
45
	}
46

  
47 38
	@Override
48 39
	final public void processJob(final BlackboardJob job) {
49
		token.getEnv().setTransientAttribute(WorkflowsConstants.BLACKBOARD_JOB, job);
40
		token.getEnv().setAttribute(WorkflowsConstants.BLACKBOARD_JOB, job);
50 41
		super.processJob(job);
51 42
	}
52 43

  
......
63 54

  
64 55
		populateEnv(env, job.getParameters());
65 56

  
66
		engine.complete(token, arc);
67
		engine.executeQueuedArcTokens(token.getProcess());
57
		token.setNextArc(arc);
58
		token.release();
68 59
	}
69 60

  
70 61
	protected void populateEnv(final Env env, Map<String, String> responseParams) {
......
75 66

  
76 67
	@Override
77 68
	protected void onOngoing(final BlackboardJob job) {
69
		log.debug("Blackboard workflow node ONGOING");
78 70
		token.getEnv().setAttribute(WorkflowsConstants.BLACKBOARD_IS_GOING, true);
79 71
	}
80 72

  
81
	public Engine getEngine() {
82
		return engine;
83
	}
84

  
85
	public void setEngine(final Engine engine) {
86
		this.engine = engine;
87
	}
88

  
89
	public NodeToken getToken() {
73
	public Token getToken() {
90 74
		return token;
91 75
	}
92 76

  
93
	public void setToken(final NodeToken token) {
77
	public void setToken(final Env env) {
94 78
		this.token = token;
95 79
	}
96 80

  

Also available in: Unified diff