Revision 40094
Added by Michele Artini over 8 years ago
UpdateDbJobNode.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.msro.workflows.nodes.db; |
2 | 2 |
|
3 |
import com.googlecode.sarasvati.NodeToken; |
|
4 | 3 |
import eu.dnetlib.enabling.database.rmi.DatabaseService; |
5 | 4 |
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob; |
5 |
import eu.dnetlib.msro.workflows.graph.Env; |
|
6 |
import eu.dnetlib.msro.workflows.graph.Process; |
|
7 |
import eu.dnetlib.msro.workflows.graph.ProcessAware; |
|
6 | 8 |
import eu.dnetlib.msro.workflows.nodes.BlackboardJobNode; |
7 | 9 |
import eu.dnetlib.msro.workflows.nodes.ProgressJobNode; |
8 |
import eu.dnetlib.msro.workflows.procs.WorkflowProcess; |
|
9 | 10 |
import eu.dnetlib.msro.workflows.resultset.ProcessCountingResultSetFactory; |
10 | 11 |
import eu.dnetlib.msro.workflows.util.ProgressProvider; |
11 | 12 |
import eu.dnetlib.msro.workflows.util.ResultsetProgressProvider; |
... | ... | |
13 | 14 |
import org.apache.commons.logging.LogFactory; |
14 | 15 |
import org.springframework.beans.factory.annotation.Required; |
15 | 16 |
|
16 |
public class UpdateDbJobNode extends BlackboardJobNode implements ProgressJobNode { |
|
17 |
public class UpdateDbJobNode extends BlackboardJobNode implements ProgressJobNode, ProcessAware {
|
|
17 | 18 |
|
18 | 19 |
private static final Log log = LogFactory.getLog(UpdateDbJobNode.class); |
19 | 20 |
private String db; |
... | ... | |
21 | 22 |
private String eprParam; |
22 | 23 |
private ProcessCountingResultSetFactory processCountingResultSetFactory; |
23 | 24 |
private ResultsetProgressProvider progressProvider; |
25 |
private Process process; |
|
24 | 26 |
|
25 | 27 |
@Override |
26 |
protected String obtainServiceId(final NodeToken token) {
|
|
28 |
protected String obtainServiceId(final Env env) {
|
|
27 | 29 |
return getServiceLocator().getServiceId(DatabaseService.class); |
28 | 30 |
} |
29 | 31 |
|
30 | 32 |
@Override |
31 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception {
|
|
33 |
protected void prepareJob(final BlackboardJob job, final Env env) throws Exception {
|
|
32 | 34 |
if (db == null || db.isEmpty()) { |
33 |
db = token.getEnv().getAttribute(getDbParam());
|
|
35 |
db = env.getAttribute(getDbParam(), String.class);
|
|
34 | 36 |
} |
35 | 37 |
|
36 | 38 |
log.info("preparing blackboard job to update DB: " + db); |
37 | 39 |
|
38 |
final String epr = token.getEnv().getAttribute(getEprParam());
|
|
40 |
final String epr = env.getAttribute(getEprParam(), String.class);
|
|
39 | 41 |
|
40 |
this.progressProvider = processCountingResultSetFactory.createProgressProvider((WorkflowProcess) token.getProcess(), epr);
|
|
42 |
this.progressProvider = processCountingResultSetFactory.createProgressProvider(process, epr);
|
|
41 | 43 |
|
42 | 44 |
job.setAction("IMPORT"); |
43 | 45 |
job.getParameters().put("db", db); |
... | ... | |
82 | 84 |
this.dbParam = dbParam; |
83 | 85 |
} |
84 | 86 |
|
87 |
@Override |
|
88 |
public void setProcess(final Process process) { |
|
89 |
this.process = process; |
|
90 |
} |
|
85 | 91 |
} |
Also available in: Unified diff
partial reimplementation of the wf engine