Project

General

Profile

1 55146 enrico.ott
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.msro.workflows.nodes.SimpleJobNode;
17
18
public class DeleteMDStoreHadoopJobNode extends SimpleJobNode {
19
20
	private static final Log log = LogFactory.getLog(DeleteMDStoreHadoopJobNode.class);
21
22
	private String mdId;
23
24
	/* Spring managed params */
25
	private String mdStoreManagerUrl;
26
27
	@Override
28
	protected String execute(final NodeToken token) throws Exception {
29
		final String url = getMdStoreManagerUrl() + "/mdstore/{mdId}";
30
31
		final Map<String, Object> params = new HashMap<>();
32
		params.put("mdId", getMdId());
33
34
		final URI uri = UriComponentsBuilder.fromUriString(url)
35
				.buildAndExpand(params)
36
				.toUri();
37
38
		final RestTemplate restTemplate = new RestTemplate();
39
		restTemplate.delete(uri);
40
41
		log.info("mdstor deleted: " + mdId);
42
43
		return Arc.DEFAULT_ARC;
44
	}
45
46
	public String getMdStoreManagerUrl() {
47
		return mdStoreManagerUrl;
48
	}
49
50
	@Required
51
	public void setMdStoreManagerUrl(final String mdStoreManagerUrl) {
52
		this.mdStoreManagerUrl = mdStoreManagerUrl;
53
	}
54
55
	public String getMdId() {
56
		return mdId;
57
	}
58
59
	public void setMdId(final String mdId) {
60
		this.mdId = mdId;
61
	}
62
63
}