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 CreateObjectStoreJobNode extends BlackboardJobNode {
17

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

    
20
	
21
	private String interpretation;
22
	private String outputPrefix = "objectStore_";
23
	
24
	@Override
25
	protected String getXqueryForServiceId(NodeToken token) {
26
		return "//RESOURCE_PROFILE[.//RESOURCE_TYPE/@value = 'ObjectStoreServiceResourceType']//RESOURCE_IDENTIFIER/@value/string()";
27
	}
28
	
29
	@Override
30
	protected void prepareJob(final BlackboardJob job, final NodeToken token) {
31
		log.info("preparing blackboard job for the creation of the objectStore ");        
32
        job.setAction("CREATE");        
33
        job.getParameters().put("interpretation", interpretation);
34
	}
35

    
36
	
37
	public String getInterpretation() {
38
		return interpretation;
39
	}
40

    
41
	public void setInterpretation(final String interpretation) {
42
		this.interpretation = interpretation;
43
	}
44

    
45
		
46
	public String getOutputPrefix() {
47
		return outputPrefix;
48
	}
49

    
50
	public void setOutputPrefix(String outputPrefix) {
51
		this.outputPrefix = outputPrefix;
52
	}
53

    
54
	@Override
55
	protected BlackboardWorkflowJobListener generateBlackboardListener(Engine engine, NodeToken token) {
56
		return new BlackboardWorkflowJobListener(engine, token) {
57
			@Override
58
			protected void populateEnv(final Env env, Map<String, String> responseParams) {				;
59
				env.setAttribute(getOutputPrefix() + "interpretation", interpretation);
60
				env.setAttribute(getOutputPrefix() + "id", responseParams.get("objectStoreId"));
61
			}
62
		};
63
	}
64

    
65
	
66

    
67
}
(2-2/7)