Project

General

Profile

1
package eu.dnetlib.msro.openaireplus.workflows.nodes.bulktag;
2

    
3
import com.google.common.base.Joiner;
4
import com.googlecode.sarasvati.Arc;
5
import com.googlecode.sarasvati.NodeToken;
6
import eu.dnetlib.data.bulktag.CommunityConfigurationFactory;
7
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
8
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
9
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
10
import org.apache.commons.logging.Log;
11
import org.apache.commons.logging.LogFactory;
12
import org.springframework.beans.factory.annotation.Autowired;
13

    
14
import java.util.List;
15

    
16
public class LoadBulkTaggingConfigurationJobNode extends SimpleJobNode {
17

    
18
	private static final Log log = LogFactory.getLog(LoadBulkTaggingConfigurationJobNode.class);
19

    
20
	@Autowired
21
	private UniqueServiceLocator serviceLocator;
22

    
23
	private String xquery;
24

    
25
	private String bulkTaggingConfParam;
26

    
27
	@Override
28
	protected String execute(final NodeToken token) throws Exception {
29

    
30
		final List<String> res = serviceLocator.getService(ISLookUpService.class).quickSearchProfile(getXquery());
31

    
32
		final String xmlConf = "<communities>" + Joiner.on(" ").join(res) + "</communities>";
33

    
34
		token.getEnv().setAttribute(getBulkTaggingConfParam(), CommunityConfigurationFactory.newInstance(xmlConf).toJson());
35

    
36
		return Arc.DEFAULT_ARC;
37
	}
38

    
39
	public String getXquery() {
40

    
41
		return xquery;
42
	}
43

    
44
	public void setXquery(final String xquery) {
45
		this.xquery = xquery;
46

    
47
	}
48

    
49
	public String getBulkTaggingConfParam() {
50
		return bulkTaggingConfParam;
51
	}
52

    
53
	public void setBulkTaggingConfParam(final String bulkTaggingConfParam) {
54
		this.bulkTaggingConfParam = bulkTaggingConfParam;
55
	}
56
}
    (1-1/1)