Project

General

Profile

1 35869 claudio.at
package eu.dnetlib.msro.workflows.dedup;
2 35866 claudio.at
3
import org.apache.commons.lang.StringUtils;
4 36417 claudio.at
import org.springframework.beans.factory.annotation.Autowired;
5 35866 claudio.at
6
import com.googlecode.sarasvati.Arc;
7
import com.googlecode.sarasvati.NodeToken;
8
9 36417 claudio.at
import eu.dnetlib.msro.workflows.dedup.conf.DedupConfigurationOrchestration;
10
import eu.dnetlib.msro.workflows.dedup.conf.DedupConfigurationOrchestrationLoader;
11 35866 claudio.at
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 36417 claudio.at
	@Autowired
20
	private DedupConfigurationOrchestrationLoader dedupOrchestrationLoader;
21
22 35866 claudio.at
	@Override
23
	protected String execute(final NodeToken token) throws Exception {
24
25
		if (StringUtils.isBlank(getDedupConfigSequence())) throw new IllegalArgumentException("missing configuration sequence");
26
27 37127 claudio.at
		final DedupConfigurationOrchestration dedupOrchestration = dedupOrchestrationLoader.loadByActionSetId(getDedupConfigSequence());
28 35866 claudio.at
29 36417 claudio.at
		token.getEnv().setAttribute("entityType", dedupOrchestration.getEntity().getName());
30
		token.getEnv().setAttribute("entityTypeId", dedupOrchestration.getEntity().getCode());
31 35866 claudio.at
32 36417 claudio.at
		token.getEnv().setAttribute(getDedupConfigSequenceParam(), dedupOrchestration.toString());
33
34 35866 claudio.at
		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
}