Project

General

Profile

1
package eu.dnetlib.msro.workflows.nodes.repohi;
2

    
3
import java.util.Map;
4

    
5
import eu.dnetlib.data.mdstore.MDStoreService;
6
import eu.dnetlib.enabling.locators.comparators.HandledDatastructuresComparator;
7
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
8
import eu.dnetlib.msro.workflows.nodes.BlackboardJobNode;
9
import eu.dnetlib.msro.workflows.nodes.blackboard.BlackboardWorkflowJobListener;
10
import eu.dnetlib.msro.workflows.procs.Env;
11
import eu.dnetlib.msro.workflows.procs.Token;
12
import org.apache.commons.logging.Log;
13
import org.apache.commons.logging.LogFactory;
14

    
15
public class CreateMDStoreJobNode extends BlackboardJobNode {
16

    
17
	private static final Log log = LogFactory.getLog(CreateMDStoreJobNode.class);
18

    
19
	private String format;
20
	private String layout;
21
	private String interpretation;
22
	private String outputPrefix = "mdstore";
23

    
24
	@Override
25
	protected String obtainServiceId(final Env env) {
26
		return getServiceLocator().getServiceId(MDStoreService.class, new HandledDatastructuresComparator());
27
	}
28

    
29
	@Override
30
	protected void prepareJob(final BlackboardJob job, final Env env) {
31
		log.info("preparing blackboard job: " + getFormat());
32

    
33
		job.setAction("CREATE");
34
		job.getParameters().put("format", getFormat());
35
		job.getParameters().put("interpretation", getInterpretation());
36
		job.getParameters().put("layout", getLayout());
37
	}
38

    
39
	public String getFormat() {
40
		return format;
41
	}
42

    
43
	public void setFormat(final String format) {
44
		this.format = format;
45
	}
46

    
47
	public String getInterpretation() {
48
		return interpretation;
49
	}
50

    
51
	public void setInterpretation(final String interpretation) {
52
		this.interpretation = interpretation;
53
	}
54

    
55
	public String getLayout() {
56
		return layout;
57
	}
58

    
59
	public void setLayout(final String layout) {
60
		this.layout = layout;
61
	}
62

    
63
	public String getOutputPrefix() {
64
		return outputPrefix;
65
	}
66

    
67
	public void setOutputPrefix(final String outputPrefix) {
68
		this.outputPrefix = outputPrefix;
69
	}
70

    
71
	@Override
72
	protected BlackboardWorkflowJobListener generateBlackboardListener(final Token token) {
73
		return new BlackboardWorkflowJobListener(token) {
74

    
75
			@Override
76
			protected void responseToEnv(final Env env, final Map<String, String> responseParams) {
77
				env.setAttribute(getOutputPrefix() + "format", format);
78
				env.setAttribute(getOutputPrefix() + "layout", layout);
79
				env.setAttribute(getOutputPrefix() + "interpretation", interpretation);
80
				env.setAttribute(getOutputPrefix() + "id", responseParams.get("id"));
81
			}
82
		};
83
	}
84

    
85
}
(1-1/6)