Project

General

Profile

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

    
3
import javax.annotation.Resource;
4

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

    
8
import com.googlecode.sarasvati.Arc;
9
import com.googlecode.sarasvati.NodeToken;
10

    
11
import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
12
import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
13
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
14
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
15
import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
16

    
17
public class ValidateDatasourceJobNode extends SimpleJobNode {
18

    
19
	@Resource
20
	private UniqueServiceLocator serviceLocator;
21

    
22
	private static final Log log = LogFactory.getLog(ValidateDatasourceJobNode.class);
23

    
24
	@Override
25
	protected String execute(final NodeToken token) throws Exception {
26
		String oldId = token.getFullEnv().getAttribute(WorkflowsConstants.DATAPROVIDER_ID);
27
		String newId = registerDatasourceWorkflow(oldId);
28
		token.getFullEnv().setAttribute(WorkflowsConstants.DATAPROVIDER_ID, newId);
29
		token.getEnv().setAttribute(WorkflowsConstants.DATAPROVIDER_ID, newId);
30

    
31
		log.info("Validated datasource - OLD ID: " + oldId);
32
		log.info("Validated datasource - NEW ID: " + newId);
33

    
34
		return Arc.DEFAULT_ARC;
35
	}
36

    
37
	public String registerDatasourceWorkflow(final String oldId) throws ISRegistryException {
38
		return serviceLocator.getService(ISRegistryService.class).validateProfile(oldId);
39
	}
40
}
(6-6/7)