Project

General

Profile

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

    
3
import javax.xml.ws.wsaddressing.W3CEndpointReference;
4

    
5
import org.springframework.beans.factory.annotation.Required;
6

    
7
import com.googlecode.sarasvati.GraphProcess;
8

    
9
import eu.dnetlib.enabling.resultset.ResultSetFactory;
10
import eu.dnetlib.enabling.resultset.client.utils.EPRUtils;
11
import eu.dnetlib.enabling.resultset.rmi.ResultSetException;
12
import eu.dnetlib.enabling.resultset.rmi.ResultSetService;
13
import eu.dnetlib.enabling.tools.ServiceResolver;
14
import eu.dnetlib.msro.workflows.util.ResultsetProgressProvider;
15

    
16
public class ProcessCountingResultSetFactory {
17

    
18
	private ResultSetFactory resultSetFactory;
19
	
20
	private ServiceResolver serviceResolver;
21
	
22
	public ResultsetProgressProvider createProgressProvider(final GraphProcess process, final String epr) throws ResultSetException {
23
		return createProgressProvider(process, (new EPRUtils()).getEpr(epr));
24
	}
25
	
26
	public ResultsetProgressProvider createProgressProvider(final GraphProcess process, final W3CEndpointReference epr) throws ResultSetException {
27
		final ResultSetService service = serviceResolver.getService(ResultSetService.class, epr);
28
		final String rsId = serviceResolver.getResourceIdentifier(epr);
29
		return new ResultsetProgressProvider(resultSetFactory, new ProcessCountingResultSetListener(process, service, rsId));
30
	}
31

    
32
	public ResultSetFactory getResultSetFactory() {
33
		return resultSetFactory;
34
	}
35

    
36
	@Required
37
	public void setResultSetFactory(ResultSetFactory resultSetFactory) {
38
		this.resultSetFactory = resultSetFactory;
39
	}
40

    
41

    
42
	public ServiceResolver getServiceResolver() {
43
		return serviceResolver;
44
	}
45

    
46
	@Required
47
	public void setServiceResolver(ServiceResolver serviceResolver) {
48
		this.serviceResolver = serviceResolver;
49
	}
50
}
(1-1/2)