Project

General

Profile

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

    
3
import javax.annotation.Resource;
4

    
5
import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
6
import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
7
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
8
import eu.dnetlib.msro.workflows.graph.Arc;
9
import eu.dnetlib.msro.workflows.graph.Env;
10
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
11
import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
12
import org.apache.commons.logging.Log;
13
import org.apache.commons.logging.LogFactory;
14

    
15
public class ValidateDatasourceJobNode extends SimpleJobNode {
16

    
17
	private static final Log log = LogFactory.getLog(ValidateDatasourceJobNode.class);
18
	@Resource
19
	private UniqueServiceLocator serviceLocator;
20

    
21
	@Override
22
	protected String execute(final Env env) throws Exception {
23
		final String oldId = env.getAttribute(WorkflowsConstants.DATASOURCE_ID, String.class);
24
		final String newId = registerDatasourceWorkflow(oldId);
25
		
26
		env.setAttribute(WorkflowsConstants.DATASOURCE_ID, newId);
27

    
28
		log.info("Validated datasource - OLD ID: " + oldId);
29
		log.info("Validated datasource - NEW ID: " + newId);
30

    
31
		return Arc.DEFAULT_ARC;
32
	}
33

    
34
	public String registerDatasourceWorkflow(final String oldId) throws ISRegistryException {
35
		return serviceLocator.getService(ISRegistryService.class).validateProfile(oldId);
36
	}
37
}
(5-5/6)