Project

General

Profile

1 26600 sandro.lab
package eu.dnetlib.msro.workflows.nodes.mdstore;
2
3 32746 andrea.man
import javax.annotation.Resource;
4 26600 sandro.lab
import javax.xml.ws.wsaddressing.W3CEndpointReference;
5
6 31660 claudio.at
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8 26600 sandro.lab
9
import com.googlecode.sarasvati.Arc;
10
import com.googlecode.sarasvati.NodeToken;
11
12
import eu.dnetlib.data.mdstore.MDStoreService;
13 32639 michele.ar
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
14 31660 claudio.at
import eu.dnetlib.msro.rmi.MSROException;
15 26600 sandro.lab
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
16
17
public class FetchMDStoreRecordsJobNode extends SimpleJobNode {
18
19 31660 claudio.at
	private static final Log log = LogFactory.getLog(FetchMDStoreRecordsJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM
20
21 32746 andrea.man
	@Resource
22 32639 michele.ar
	private UniqueServiceLocator serviceLocator;
23 26600 sandro.lab
24
	private String mdId;
25
	private String mdFormat;
26
	private String eprParam;
27
28
	@Override
29
	protected String execute(final NodeToken token) throws Exception {
30
		if (getMdId() == null) {
31
			setMdId(token.getEnv().getAttribute("mdId"));
32
		}
33
		if (getMdFormat() == null) {
34
			setMdFormat(token.getEnv().getAttribute("mdFormat"));
35
		}
36
37 31660 claudio.at
		log.info("getting MDRecords from: " + getMdId());
38 32877 michele.ar
		final W3CEndpointReference epr = serviceLocator.getService(MDStoreService.class, getMdId()).deliverMDRecords(getMdId(), "", "", "");
39 32639 michele.ar
		if (epr == null) { throw new MSROException("unable to read MDRecords from: " + getMdId()); }
40 26600 sandro.lab
		token.getEnv().setAttribute(getEprParam(), epr.toString());
41
		return Arc.DEFAULT_ARC;
42
	}
43
44
	public String getMdId() {
45
		return mdId;
46
	}
47
48
	public void setMdId(final String mdId) {
49
		this.mdId = mdId;
50
	}
51
52
	public String getMdFormat() {
53
		return mdFormat;
54
	}
55
56
	public void setMdFormat(final String mdFormat) {
57
		this.mdFormat = mdFormat;
58
	}
59
60
	public String getEprParam() {
61
		return eprParam;
62
	}
63
64
	public void setEprParam(final String eprParam) {
65
		this.eprParam = eprParam;
66
	}
67
}