Project

General

Profile

« Previous | Next » 

Revision 45579

View differences:

modules/dnet-simple-aggregation-worker/trunk/src/main/java/eu/dnetlib/msro/workers/controller/MsroWorkerController.java
1
package eu.dnetlib.msro.workers.controller;
2

  
3
import java.util.List;
4
import java.util.stream.Collectors;
5

  
6
import org.springframework.beans.BeansException;
7
import org.springframework.context.ApplicationContext;
8
import org.springframework.context.ApplicationContextAware;
9
import org.springframework.web.bind.annotation.RequestMapping;
10
import org.springframework.web.bind.annotation.RestController;
11

  
12
import eu.dnetlib.enabling.annotations.DnetService;
13
import eu.dnetlib.enabling.annotations.DnetServiceType;
14
import eu.dnetlib.msro.workflows.nodes.AbstractProcessNode;
15
import eu.dnetlib.msro.workflows.procs.ProcessNodeDetails;
16
import eu.dnetlib.services.BaseService;
17

  
18
@RestController
19
@RequestMapping("/worker")
20
@DnetService(DnetServiceType.msroWorker)
21
public class MsroWorkerController extends BaseService implements ApplicationContextAware {
22

  
23
	private ApplicationContext applicationContext;
24

  
25
	@RequestMapping("nodes")
26
	public List<ProcessNodeDetails> listNodes() {
27
		return applicationContext.getBeansOfType(AbstractProcessNode.class)
28
				.values()
29
				.stream()
30
				.map(Object::getClass)
31
				.map(ProcessNodeDetails::prepare)
32
				.collect(Collectors.toList());
33
	}
34

  
35
	@Override
36
	public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
37
		this.applicationContext = applicationContext;
38
	}
39
}
modules/dnet-simple-aggregation-worker/trunk/src/main/java/eu/dnetlib/msro/workflows/procs/WorkflowExecutor.java
2 2

  
3 3
import java.io.StringReader;
4 4
import java.util.HashMap;
5
import java.util.List;
6 5
import java.util.Map;
7 6
import java.util.concurrent.Executors;
8 7
import java.util.concurrent.TimeUnit;
9
import java.util.stream.Collectors;
10 8

  
11 9
import javax.annotation.PostConstruct;
12 10

  
......
17 15
import org.dom4j.Document;
18 16
import org.dom4j.Element;
19 17
import org.dom4j.io.SAXReader;
20
import org.springframework.beans.BeansException;
21 18
import org.springframework.beans.factory.annotation.Autowired;
22
import org.springframework.context.ApplicationContext;
23
import org.springframework.context.ApplicationContextAware;
24
import org.springframework.web.bind.annotation.RequestMapping;
25
import org.springframework.web.bind.annotation.RestController;
19
import org.springframework.stereotype.Component;
26 20

  
27 21
import eu.dnetlib.clients.is.InformationServiceClient;
28 22
import eu.dnetlib.enabling.common.Stoppable;
......
30 24
import eu.dnetlib.msro.exceptions.MSROException;
31 25
import eu.dnetlib.msro.workflows.graph.Graph;
32 26
import eu.dnetlib.msro.workflows.graph.GraphLoader;
33
import eu.dnetlib.msro.workflows.nodes.AbstractProcessNode;
34 27
import eu.dnetlib.msro.workflows.util.ProcessCallback;
35 28
import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
36 29

  
37
/**
38
 * Created by michele on 20/11/15.
39
 */
40
@RestController
41
@RequestMapping("/worker")
42
public class WorkflowExecutor implements Stoppable, ApplicationContextAware {
30
@Component
31
public class WorkflowExecutor implements Stoppable {
43 32

  
44 33
	private static final Log log = LogFactory.getLog(WorkflowExecutor.class);
45 34

  
......
56 45

  
57 46
	private boolean paused = false;
58 47

  
59
	private ApplicationContext applicationContext;
60

  
61 48
	@PostConstruct
62 49
	public void init() {
63 50

  
......
73 60
		}, 10, 10, TimeUnit.SECONDS);
74 61
	}
75 62

  
76
	@RequestMapping("nodes")
77
	public List<ProcessNodeDetails> listNodes() {
78
		return applicationContext.getBeansOfType(AbstractProcessNode.class)
79
				.values()
80
				.stream()
81
				.map(Object::getClass)
82
				.map(ProcessNodeDetails::prepare)
83
				.collect(Collectors.toList());
84
	}
85

  
86 63
	public String startRepoHiWorkflow(final String profileId, final String dsId, final String iface, final ProcessCallback processCallback, final String parent)
87 64
			throws Exception {
88 65

  
......
240 217
		this.paused = paused;
241 218
	}
242 219

  
243
	@Override
244
	public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
245
		this.applicationContext = applicationContext;
246
	}
247 220
}

Also available in: Unified diff