Project

General

Profile

1
package eu.dnetlib.msro.workflows.nodes.transform;
2

    
3
import javax.annotation.Resource;
4
import javax.xml.ws.wsaddressing.W3CEndpointReference;
5

    
6
import com.googlecode.sarasvati.Arc;
7
import com.googlecode.sarasvati.NodeToken;
8

    
9
import eu.dnetlib.data.utility.cleaner.rmi.CleanerService;
10
import eu.dnetlib.enabling.resultset.client.utils.EPRUtils;
11
import eu.dnetlib.enabling.tools.ServiceLocator;
12
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
13

    
14
public class CleanJobNode extends SimpleJobNode {
15

    
16
	private String inputEprParam;
17
	private String outputEprParam;
18
	private String ruleId;
19

    
20
	@Resource(name = "cleanerServiceLocator")
21
	private ServiceLocator<CleanerService> cleanerServiceLocator;
22

    
23
	@Override
24
	protected String execute(final NodeToken token) throws Exception {
25

    
26
		final W3CEndpointReference inputEpr = (new EPRUtils()).getEpr(token.getEnv().getAttribute(inputEprParam));
27
		final W3CEndpointReference outputEpr = ((ruleId == null) || ruleId.isEmpty()) ? inputEpr : cleanerServiceLocator.getService().clean(inputEpr, ruleId);
28

    
29
		token.getEnv().setAttribute(outputEprParam, outputEpr.toString());
30

    
31
		return Arc.DEFAULT_ARC;
32
	}
33

    
34
	public String getInputEprParam() {
35
		return inputEprParam;
36
	}
37

    
38
	public void setInputEprParam(final String inputEprParam) {
39
		this.inputEprParam = inputEprParam;
40
	}
41

    
42
	public String getOutputEprParam() {
43
		return outputEprParam;
44
	}
45

    
46
	public void setOutputEprParam(final String outputEprParam) {
47
		this.outputEprParam = outputEprParam;
48
	}
49

    
50
	public String getRuleId() {
51
		return ruleId;
52
	}
53

    
54
	public void setRuleId(final String ruleId) {
55
		this.ruleId = ruleId;
56
	}
57

    
58
}
(2-2/6)