Project

General

Profile

1
package eu.dnetlib.parthenos.workflows.nodes;
2

    
3
import eu.dnetlib.enabling.resultset.factory.ResultSetFactory;
4
import eu.dnetlib.msro.workflows.graph.Arc;
5
import eu.dnetlib.msro.workflows.nodes.AsyncJobNode;
6
import eu.dnetlib.msro.workflows.procs.Env;
7
import eu.dnetlib.rmi.common.ResultSet;
8
import org.apache.commons.logging.Log;
9
import org.apache.commons.logging.LogFactory;
10
import org.springframework.beans.factory.annotation.Autowired;
11

    
12
/**
13
 * Created by Alessia Bardi on 26/01/2018.
14
 *
15
 * @author Alessia Bardi
16
 */
17
public class ReadVirtuosoJobNode extends AsyncJobNode {
18

    
19
	private static final Log log = LogFactory.getLog(ReadVirtuosoJobNode.class);
20

    
21
	private String datasourceName;
22
	private String datasourceInterface;
23
	private String virtuosoReaderAPIUrl;
24

    
25
	@Autowired
26
	private ResultSetFactory rsFactory;
27

    
28
	@Override
29
	protected String execute(final Env env){
30
		log.info("Using virtuoso reader at : " + getVirtuosoReaderAPIUrl());
31

    
32
		VirtuosoParthenosIterator iterator = new VirtuosoParthenosIterator().datasourceInterface(getDatasourceInterface()).virtuosoReaderAPIUrl(getVirtuosoReaderAPIUrl()).datasourceName(getDatasourceName());
33
		ResultSet<String> rs = rsFactory.createResultSet(new VirtuosoParthenosIterable(iterator));
34

    
35
		env.setAttribute("virtuoso_rs", rs);
36

    
37
		return Arc.DEFAULT_ARC;
38
	}
39

    
40
	public String getDatasourceName() {
41
		return datasourceName;
42
	}
43

    
44
	public void setDatasourceName(final String datasourceName) {
45
		this.datasourceName = datasourceName;
46
	}
47

    
48
	public String getDatasourceInterface() {
49
		return datasourceInterface;
50
	}
51

    
52
	public void setDatasourceInterface(final String datasourceInterface) {
53
		this.datasourceInterface = datasourceInterface;
54
	}
55

    
56
	public String getVirtuosoReaderAPIUrl() {
57
		return virtuosoReaderAPIUrl;
58
	}
59

    
60
	public void setVirtuosoReaderAPIUrl(final String virtuosoReaderAPIUrl) {
61
		this.virtuosoReaderAPIUrl = virtuosoReaderAPIUrl;
62
	}
63
}
(6-6/11)