Project

General

Profile

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

    
3
import java.io.StringReader;
4

    
5
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
6
import eu.dnetlib.msro.workflows.graph.Arc;
7
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
8
import eu.dnetlib.msro.workflows.procs.Env;
9
import eu.dnetlib.rmi.common.ResultSet;
10
import eu.dnetlib.rmi.data.CollectorService;
11
import eu.dnetlib.rmi.data.InterfaceDescriptor;
12
import eu.dnetlib.rmi.enabling.ISLookUpService;
13
import org.dom4j.Document;
14
import org.dom4j.Node;
15
import org.dom4j.io.SAXReader;
16
import org.springframework.beans.factory.annotation.Autowired;
17

    
18
public class DateRangeCollectRecordsJobNode extends SimpleJobNode {
19

    
20
	@Autowired
21
	private UniqueServiceLocator serviceLocator;
22

    
23
	private String datasourceId;
24
	private String datasourceInterface;
25
	private String eprParam;
26
	private String fromDate;
27
	private String untilDate;
28

    
29
	@Override
30
	protected String execute(final Env env) throws Exception {
31
		final String profile = this.serviceLocator.getService(ISLookUpService.class).getResourceProfile(this.datasourceId);
32
		final Document doc = new SAXReader().read(new StringReader(profile));
33
		final Node ifcNode = doc.selectSingleNode("//INTERFACE[@id='" + this.datasourceInterface + "']");
34

    
35
		final InterfaceDescriptor interfaceDescriptor = InterfaceDescriptor.newInstance(ifcNode);
36

    
37
		final ResultSet<String> rs = this.serviceLocator.getService(CollectorService.class).dateRangeCollect(interfaceDescriptor, fromDate, untilDate);
38

    
39
		env.setAttribute(getEprParam(), rs);
40

    
41
		return Arc.DEFAULT_ARC;
42
	}
43

    
44
	public String getDatasourceId() {
45
		return this.datasourceId;
46
	}
47

    
48
	public void setDatasourceId(final String datasourceId) {
49
		this.datasourceId = datasourceId;
50
	}
51

    
52
	public String getDatasourceInterface() {
53
		return this.datasourceInterface;
54
	}
55

    
56
	public void setDatasourceInterface(final String datasourceInterface) {
57
		this.datasourceInterface = datasourceInterface;
58
	}
59

    
60
	public String getEprParam() {
61
		return this.eprParam;
62
	}
63

    
64
	public void setEprParam(final String eprParam) {
65
		this.eprParam = eprParam;
66
	}
67

    
68
	public String getFromDate() {
69
		return fromDate;
70
	}
71

    
72
	public void setFromDate(final String fromDate) {
73
		this.fromDate = fromDate;
74
	}
75

    
76
	public String getUntilDate() {
77
		return untilDate;
78
	}
79

    
80
	public void setUntilDate(final String untilDate) {
81
		this.untilDate = untilDate;
82
	}
83
}
(2-2/3)