Project

General

Profile

1
package eu.dnetlib.msro.worker.ui;
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.common.ifaces.ProgressProvider;
10
import eu.dnetlib.msro.worker.nodes.ProgressJobNode;
11

    
12
public class ProcessToImageMapHelper extends ProcessToImageMapAdapter {
13

    
14
	private String procId;
15

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

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

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

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

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

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