Project

General

Profile

1
package eu.dnetlib.functionality.modular.ui.workflows.sarasvati.viewer;
2

    
3
import javax.swing.Icon;
4

    
5
import com.googlecode.sarasvati.Node;
6
import com.googlecode.sarasvati.visual.ProcessToImageMapAdapter;
7
import com.googlecode.sarasvati.visual.process.VisualProcessNode;
8

    
9
import eu.dnetlib.functionality.modular.ui.workflows.sarasvati.icons.ProcessJobIcon;
10
import eu.dnetlib.msro.workflows.nodes.ProgressJobNode;
11
import eu.dnetlib.msro.workflows.util.ProgressProvider;
12

    
13
public class ProcessToImageMapHelper extends ProcessToImageMapAdapter {
14

    
15
	private String procId;
16

    
17
	public ProcessToImageMapHelper(final String procId) {
18
		super();
19
		this.procId = procId;
20
	}
21

    
22
	@Override
23
	public String hrefForNode(final VisualProcessNode node) {
24
		return "javascript:getScope('map').getProcessNode('" + procId + "', '" + node.getNode().getId() + "')";
25
	}
26

    
27
	@Override
28
	public String hoverForNode(final VisualProcessNode vnode) {
29
		final Node node = vnode.getNode();
30
		if (node instanceof ProgressJobNode) {
31
			final ProgressProvider progress = ((ProgressJobNode) node).getProgressProvider();
32
			if (progress == null) {
33
				return "Processed: -";
34
			} else if (progress.isInaccurate()) {
35
				return "Processed: " + progress.getCurrentValue();
36
			} else {
37
				return "Processed: " + progress.getCurrentValue() + " - Total: " + progress.getTotalValue(); 
38
			}
39
		} else {
40
			return "Name: " + node.getName();
41
		}
42
	}
43

    
44
	@Override
45
	public Icon iconForNode(final VisualProcessNode vnode) {
46
		final Node node = vnode.getNode();
47

    
48
		final ProgressProvider progressProvider = (node instanceof ProgressJobNode) ? ((ProgressJobNode) node).getProgressProvider() : null;
49

    
50
		return new ProcessJobIcon(node, vnode.getToken(), progressProvider);
51
	}
52
}
(3-3/3)