Project

General

Profile

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

    
3
import java.util.List;
4

    
5
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
6
import eu.dnetlib.enabling.resultset.factory.ResultSetFactory;
7
import eu.dnetlib.msro.workflows.graph.Arc;
8
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
9
import eu.dnetlib.msro.workflows.procs.Env;
10
import eu.dnetlib.rmi.common.ResultSet;
11
import eu.dnetlib.rmi.enabling.ISLookUpService;
12
import org.apache.commons.io.IOUtils;
13
import org.springframework.beans.factory.annotation.Autowired;
14
import org.springframework.beans.factory.annotation.Required;
15
import org.springframework.core.io.Resource;
16

    
17
public class FindVocabularyEntriesJobNode extends SimpleJobNode {
18

    
19
	private String outputEprParam = "epr";
20

    
21
	@javax.annotation.Resource
22
	private UniqueServiceLocator serviceLocator;
23

    
24
	@Autowired
25
	private ResultSetFactory resultSetFactory;
26

    
27
	private Resource xquery;
28

    
29
	@Override
30
	protected String execute(final Env env) throws Exception {
31
		final String query = IOUtils.toString(xquery.getInputStream());
32
		final List<String> terms = serviceLocator.getService(ISLookUpService.class).quickSearchProfile(query);
33
		final ResultSet<String> resultSet = resultSetFactory.createResultSet(terms);
34
		env.setAttribute(getOutputEprParam(), resultSet);
35
		return Arc.DEFAULT_ARC;
36
	}
37

    
38
	public String getOutputEprParam() {
39
		return outputEprParam;
40
	}
41

    
42
	public void setOutputEprParam(final String outputEprParam) {
43
		this.outputEprParam = outputEprParam;
44
	}
45

    
46
	public Resource getXquery() {
47
		return xquery;
48
	}
49

    
50
	@Required
51
	public void setXquery(final Resource xquery) {
52
		this.xquery = xquery;
53
	}
54

    
55
}
(1-1/6)