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 eu.dnetlib.data.utility.cleaner.rmi.CleanerService;
7
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
8
import eu.dnetlib.enabling.resultset.client.utils.EPRUtils;
9
import eu.dnetlib.msro.workflows.graph.Arc;
10
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
11
import eu.dnetlib.msro.workflows.procs.Env;
12

    
13
public class CleanJobNode extends SimpleJobNode {
14

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

    
19
	@Resource
20
	private UniqueServiceLocator serviceLocator;
21

    
22
	@Override
23
	protected String execute(final Env env) throws Exception {
24

    
25
		final W3CEndpointReference inputEpr = new EPRUtils().getEpr(env.getAttribute(inputEprParam, String.class));
26
		final W3CEndpointReference outputEpr = ruleId == null || ruleId.isEmpty() ? inputEpr : serviceLocator.getService(CleanerService.class).clean(inputEpr,
27
				ruleId);
28

    
29
		env.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)