Project

General

Profile

« Previous | Next » 

Revision 42206

View differences:

modules/dnet-msro-service/trunk/src/main/java/eu/dnetlib/msro/workflows/nodes/LaunchWorkflowTemplateJobNode.java
8 8

  
9 9
import eu.dnetlib.msro.workflows.graph.Arc;
10 10
import eu.dnetlib.msro.workflows.procs.ProcessAware;
11
import eu.dnetlib.msro.workflows.procs.ProcessRegistry;
11 12
import eu.dnetlib.msro.workflows.procs.Token;
12 13
import eu.dnetlib.msro.workflows.procs.WorkflowExecutor;
13 14
import eu.dnetlib.msro.workflows.procs.WorkflowProcess;
14 15
import eu.dnetlib.msro.workflows.util.ProcessCallback;
16
import eu.dnetlib.msro.workflows.util.SubWorkflowProgressProvider;
15 17

  
16 18
/**
17 19
 * Created by michele on 12/01/16.
......
36 38
	@Autowired
37 39
	private WorkflowExecutor executor;
38 40

  
41
	@Autowired
42
	private ProcessRegistry processRegistry;
43

  
39 44
	@Override
40 45
	public final void execute(final Token token) {
41 46
		try {
......
64 69
			if (log.isDebugEnabled()) {
65 70
				log.debug("The child workflow [" + getNodeName() + "] is starting with procId: " + procId);
66 71
			}
72

  
73
			token.setProgressProvider(new SubWorkflowProgressProvider(procId, this.processRegistry));
74

  
67 75
		} catch (final Throwable e) {
68 76
			log.error("got exception while launching child workflow", e);
69 77
			token.releaseAsFailed(e);
modules/dnet-msro-service/trunk/src/main/java/eu/dnetlib/msro/workflows/nodes/LaunchWorkflowJobNode.java
5 5
import org.springframework.beans.factory.annotation.Autowired;
6 6

  
7 7
import eu.dnetlib.msro.workflows.graph.Arc;
8
import eu.dnetlib.msro.workflows.procs.ProcessRegistry;
8 9
import eu.dnetlib.msro.workflows.procs.Token;
9 10
import eu.dnetlib.msro.workflows.procs.WorkflowExecutor;
10 11
import eu.dnetlib.msro.workflows.util.ProcessCallback;
12
import eu.dnetlib.msro.workflows.util.SubWorkflowProgressProvider;
11 13

  
12 14
/**
13 15
 * Created by michele on 18/11/15.
......
20 22
	@Autowired
21 23
	private WorkflowExecutor executor;
22 24

  
25
	@Autowired
26
	private ProcessRegistry processRegistry;
27

  
23 28
	@Override
24 29
	public final void execute(final Token token) {
25 30

  
......
42 47
			if (log.isDebugEnabled()) {
43 48
				log.debug("The child workflow [" + getWfId() + "] is starting with procId: " + procId);
44 49
			}
50

  
51
			token.setProgressProvider(new SubWorkflowProgressProvider(procId, this.processRegistry));
52

  
45 53
		} catch (final Throwable e) {
46 54
			log.error("got exception while launching child workflow", e);
47 55
			token.releaseAsFailed(e);
modules/dnet-msro-service/trunk/src/main/java/eu/dnetlib/msro/workflows/util/SubWorkflowProgressProvider.java
1
package eu.dnetlib.msro.workflows.util;
2

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

  
6
import eu.dnetlib.msro.workflows.procs.ProcessRegistry;
7
import eu.dnetlib.msro.workflows.procs.WorkflowProcess;
8

  
9
public class SubWorkflowProgressProvider implements ProgressProvider {
10

  
11
	private final String procId;
12
	private final ProcessRegistry processRegistry;
13

  
14
	public SubWorkflowProgressProvider(final String procId, final ProcessRegistry processRegistry) {
15
		super();
16
		this.procId = procId;
17
		this.processRegistry = processRegistry;
18
	}
19

  
20
	@Override
21
	public String getProgressDescription() {
22
		final WorkflowProcess proc = this.processRegistry.findProcess(this.procId);
23

  
24
		if (proc == null) { return "-"; }
25

  
26
		final List<String> list = proc.getTokens()
27
				.stream()
28
				.filter(t -> t.isActive())
29
				.map(t -> t.getProgressProvider() != null ? String.format("%s (%s)", t.getNodeName(), t.getProgressProvider().getProgressDescription())
30
						: t.getNodeName())
31
				.collect(Collectors.toList());
32
		if (!list.isEmpty()) { return list.stream().collect(Collectors.joining(", ")); }
33

  
34
		return "-";
35
	}
36

  
37
}
modules/dnet-modular-uis/trunk/src/main/resources/eu/dnetlib/web/resources/html/wf/wf-process-modal.html
38 38
								<th>Node</th>
39 39
								<th class="col-xs-3 text-center">Start date</th>
40 40
								<th class="col-xs-3 text-center">End date</th>
41
								<th class="col-xs-2 text-center">Progress</th>
41
								<th class="col-xs-3 text-center">Progress</th>
42 42
								<th class="col-xs-1 text-center">Status</th>
43 43
							</tr>
44 44
						</thead>

Also available in: Unified diff