Project

General

Profile

1
package eu.dnetlib.msro.workflows.dedup;
2

    
3
import org.apache.commons.lang.StringUtils;
4
import org.springframework.beans.factory.annotation.Autowired;
5

    
6
import com.googlecode.sarasvati.Arc;
7
import com.googlecode.sarasvati.NodeToken;
8

    
9
import eu.dnetlib.msro.workflows.dedup.conf.DedupConfigurationOrchestration;
10
import eu.dnetlib.msro.workflows.dedup.conf.DedupConfigurationOrchestrationLoader;
11
import eu.dnetlib.msro.workflows.nodes.AsyncJobNode;
12

    
13
public class DedupConfigurationSetterJobNode extends AsyncJobNode {
14

    
15
	private String dedupConfigSequence;
16

    
17
	private String dedupConfigSequenceParam;
18

    
19
	@Autowired
20
	private DedupConfigurationOrchestrationLoader dedupOrchestrationLoader;
21

    
22
	@Override
23
	protected String execute(final NodeToken token) throws Exception {
24

    
25
		if (StringUtils.isBlank(getDedupConfigSequence())) throw new IllegalArgumentException("missing configuration sequence");
26

    
27
		final DedupConfigurationOrchestration dedupOrchestration = dedupOrchestrationLoader.load(getDedupConfigSequence());
28

    
29
		token.getEnv().setAttribute("entityType", dedupOrchestration.getEntity().getName());
30
		token.getEnv().setAttribute("entityTypeId", dedupOrchestration.getEntity().getCode());
31

    
32
		token.getEnv().setAttribute(getDedupConfigSequenceParam(), dedupOrchestration.toString());
33

    
34
		return Arc.DEFAULT_ARC;
35
	}
36

    
37
	public String getDedupConfigSequence() {
38
		return dedupConfigSequence;
39
	}
40

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

    
45
	public String getDedupConfigSequenceParam() {
46
		return dedupConfigSequenceParam;
47
	}
48

    
49
	public void setDedupConfigSequenceParam(final String dedupConfigSequenceParam) {
50
		this.dedupConfigSequenceParam = dedupConfigSequenceParam;
51
	}
52

    
53
}
(3-3/8)