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.transformation.service.rmi.TransformationService;
10
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
11
import eu.dnetlib.enabling.resultset.client.utils.EPRUtils;
12
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
13

    
14
public class TransformJobNode extends SimpleJobNode {
15

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

    
20
	@Resource
21
	private UniqueServiceLocator serviceLocator;
22

    
23
	@Override
24
	protected String execute(final NodeToken token) throws Exception {
25
		final W3CEndpointReference inputEpr = new EPRUtils().getEpr(token.getEnv().getAttribute(inputEprParam));
26
		final W3CEndpointReference outputEpr = serviceLocator.getService(TransformationService.class).transform(ruleId, inputEpr);
27

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

    
30
		return Arc.DEFAULT_ARC;
31
	}
32

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

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

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

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

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

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

    
57
}
(6-6/6)