Project

General

Profile

1
package eu.dnetlib.msro.openaireplus.workflows.nodes.contexts;
2

    
3
import javax.annotation.Resource;
4

    
5
import com.googlecode.sarasvati.Arc;
6
import com.googlecode.sarasvati.NodeToken;
7
import eu.dnetlib.enabling.resultset.client.ResultSetClientFactory;
8
import eu.dnetlib.msro.workflows.nodes.ProgressJobNode;
9
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
10
import eu.dnetlib.msro.workflows.resultset.ProcessCountingResultSetFactory;
11
import eu.dnetlib.msro.workflows.util.ProgressProvider;
12
import eu.dnetlib.msro.workflows.util.ResultsetProgressProvider;
13
import org.apache.commons.logging.Log;
14
import org.apache.commons.logging.LogFactory;
15

    
16
public class ProcessContextsJobNode extends SimpleJobNode implements ProgressJobNode {
17

    
18
	private static final Log log = LogFactory.getLog(ProcessContextsJobNode.class);
19

    
20
	private String eprParam;
21
	private String contextObj;
22
	private ResultsetProgressProvider progressProvider;
23
	private String contextId;
24
	private String contextLabel;
25
	private String contextType;
26

    
27
	private String contextParams;
28

    
29
	@Resource
30
	private ResultSetClientFactory resultSetClientFactory;
31

    
32
	@Resource
33
	private ProcessCountingResultSetFactory processCountingResultSetFactory;
34

    
35
	@Override
36
	protected String execute(final NodeToken token) throws Exception {
37

    
38
		final String epr = token.getEnv().getAttribute(eprParam);
39

    
40
		this.progressProvider = processCountingResultSetFactory.createProgressProvider(token.getProcess(), epr);
41

    
42
		final Iterable<String> iter = resultSetClientFactory.getClient(progressProvider.getEpr());
43

    
44
		final ContextDesc context = ContextUtils.getContext(iter, getContextId(), getContextLabel(), getContextType(), getContextParams());
45

    
46
		token.getEnv().setTransientAttribute(contextObj, context);
47

    
48
		return Arc.DEFAULT_ARC;
49
	}
50

    
51
	public String getEprParam() {
52
		return eprParam;
53
	}
54

    
55
	public void setEprParam(final String eprParam) {
56
		this.eprParam = eprParam;
57
	}
58

    
59
	public String getContextObj() {
60
		return contextObj;
61
	}
62

    
63
	public void setContextObj(final String contextObj) {
64
		this.contextObj = contextObj;
65
	}
66

    
67
	@Override
68
	public ProgressProvider getProgressProvider() {
69
		return progressProvider;
70
	}
71

    
72
	public String getContextId() {
73
		return contextId;
74
	}
75

    
76
	public void setContextId(final String contextId) {
77
		this.contextId = contextId;
78
	}
79

    
80
	public String getContextLabel() {
81
		return contextLabel;
82
	}
83

    
84
	public void setContextLabel(final String contextLabel) {
85
		this.contextLabel = contextLabel;
86
	}
87

    
88
	public String getContextType() {
89
		return contextType;
90
	}
91

    
92
	public void setContextType(final String contextType) {
93
		this.contextType = contextType;
94
	}
95

    
96
	public String getContextParams() {
97
		return contextParams;
98
	}
99

    
100
	public void setContextParams(final String contextParams) {
101
		this.contextParams = contextParams;
102
	}
103
}
(7-7/8)