Project

General

Profile

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

    
3
import java.util.Map;
4

    
5
import org.apache.commons.logging.Log;
6
import org.apache.commons.logging.LogFactory;
7

    
8
import com.googlecode.sarasvati.Engine;
9
import com.googlecode.sarasvati.NodeToken;
10
import com.googlecode.sarasvati.env.Env;
11

    
12
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
13
import eu.dnetlib.msro.workflows.nodes.BlackboardJobNode;
14
import eu.dnetlib.msro.workflows.nodes.blackboard.BlackboardWorkflowJobListener;
15

    
16
public class CreateMDStoreJobNode extends BlackboardJobNode {
17

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

    
20
	private String format;
21
	private String layout;
22
	private String interpretation;
23
	private String outputPrefix = "mdstore";
24
	
25
	@Override
26
	protected String getXqueryForServiceId(NodeToken token) {
27
		return "collection('/db/DRIVER/ServiceResources/MDStoreServiceResourceType')//RESOURCE_IDENTIFIER/@value/string()";
28
	}
29
	
30
	@Override
31
	protected void prepareJob(final BlackboardJob job, final NodeToken token) {
32
		log.info("preparing blackboard job: " + getFormat());
33

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

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

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

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

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

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

    
60
	public void setLayout(final String layout) {
61
		this.layout = layout;
62
	}
63
	
64
	public String getOutputPrefix() {
65
		return outputPrefix;
66
	}
67

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

    
72
	@Override
73
	protected BlackboardWorkflowJobListener generateBlackboardListener(Engine engine, NodeToken token) {
74
		return new BlackboardWorkflowJobListener(engine, token) {
75
			@Override
76
			protected void populateEnv(final Env env, 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
	
86

    
87
}
(1-1/7)