Project

General

Profile

1
package eu.dnetlib.msro.openaireplus.workflows.nodes.dhp;
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
}
(4-4/11)