Project

General

Profile

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

    
3
import java.net.URI;
4
import java.util.HashMap;
5
import java.util.Map;
6

    
7
import org.apache.commons.logging.Log;
8
import org.apache.commons.logging.LogFactory;
9
import org.springframework.beans.factory.annotation.Required;
10
import org.springframework.web.client.RestTemplate;
11
import org.springframework.web.util.UriComponentsBuilder;
12

    
13
import com.googlecode.sarasvati.Arc;
14
import com.googlecode.sarasvati.NodeToken;
15

    
16
import eu.dnetlib.data.mdstore.manager.common.model.MDStoreVersion;
17
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
18

    
19
public class EndReadingMDStoreJobNode extends SimpleJobNode {
20

    
21
	private static final Log log = LogFactory.getLog(EndReadingMDStoreJobNode.class);
22

    
23
	/* Spring managed params */
24
	private String mdStoreManagerUrl;
25

    
26
	@Override
27
	protected String execute(final NodeToken token) throws Exception {
28
		final String url = getMdStoreManagerUrl() + "/version/{versionId}/endReading";
29

    
30
		final Map<String, Object> params = new HashMap<>();
31
		params.put("versionId", token.getEnv().getAttribute("reading_versionId"));
32

    
33
		final URI uri = UriComponentsBuilder.fromUriString(url)
34
				.buildAndExpand(params)
35
				.toUri();
36

    
37
		final RestTemplate restTemplate = new RestTemplate();
38
		restTemplate.getForObject(uri, MDStoreVersion.class);
39

    
40
		log.info("mdstore version read complete ");
41
		return Arc.DEFAULT_ARC;
42
	}
43

    
44
	public String getMdStoreManagerUrl() {
45
		return mdStoreManagerUrl;
46
	}
47

    
48
	@Required
49
	public void setMdStoreManagerUrl(final String mdStoreManagerUrl) {
50
		this.mdStoreManagerUrl = mdStoreManagerUrl;
51
	}
52

    
53
}
(5-5/12)