]> git.argeo.org Git - gpl/argeo-slc.git/blob - eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/ProcessDetailView.java
Improve process management
[gpl/argeo-slc.git] / eclipse / plugins / org.argeo.slc.client.ui / src / main / java / org / argeo / slc / client / ui / views / ProcessDetailView.java
1 package org.argeo.slc.client.ui.views;
2
3 import org.argeo.slc.dao.process.SlcExecutionDao;
4 import org.argeo.slc.process.SlcExecution;
5 import org.eclipse.jface.viewers.IContentProvider;
6 import org.eclipse.jface.viewers.ITableLabelProvider;
7 import org.eclipse.jface.viewers.LabelProvider;
8 import org.eclipse.jface.viewers.TreeViewer;
9 import org.eclipse.swt.SWT;
10 import org.eclipse.swt.graphics.Image;
11 import org.eclipse.swt.widgets.Composite;
12 import org.eclipse.ui.part.ViewPart;
13
14 /**
15 * Multi-instance view that enables to browse the details of a given
16 * SlcExecution
17 *
18 * @author bsinou
19 *
20 */
21
22 public class ProcessDetailView extends ViewPart {
23 // private final static Log log =
24 // LogFactory.getLog(ProcessDetailView.class);
25 public static final String ID = "org.argeo.slc.client.ui.processDetailView";
26
27 private TreeViewer viewer;
28
29 private String uuid;
30 private SlcExecution se;
31
32 // IoC
33 private IContentProvider contentProvider;
34 private SlcExecutionDao slcExecutionDao;
35
36 public void createPartControl(Composite parent) {
37 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
38 viewer.setContentProvider(contentProvider);
39 viewer.setLabelProvider(new ProcessDetailLabelProvider());
40 // viewer.setInput(getViewSite());
41 }
42
43 public void setFocus() {
44 viewer.getControl().setFocus();
45 }
46
47 public TreeViewer getViewer() {
48 return viewer;
49 }
50
51 public void retrieveResults() {
52 se = slcExecutionDao.getSlcExecution(uuid);
53 viewer.setInput(se);
54 }
55
56 public void setUuid(String uuid) {
57 this.uuid = uuid;
58 }
59
60 // Inner Class
61 public class ProcessDetailLabelProvider extends LabelProvider implements
62 ITableLabelProvider {
63 public String getColumnText(Object obj, int index) {
64 // log.debug(sessionFactory.getClass().toString());
65
66 SlcExecution se = (SlcExecution) obj;
67 switch (index) {
68
69 case 0:
70 return getText(se.getStartDate());
71 case 1:
72 return se.getHost();
73 case 2:
74 return se.getUuid();
75 case 3:
76 return se.currentStep().getType();
77 }
78 return getText(obj);
79 }
80
81 public Image getColumnImage(Object obj, int index) {
82 return null;
83 }
84
85 }
86
87 // IoC
88 public void setContentProvider(IContentProvider contentProvider) {
89 this.contentProvider = contentProvider;
90 }
91
92 public void setSlcExecutionDao(SlcExecutionDao slcExecutionDao) {
93 this.slcExecutionDao = slcExecutionDao;
94 }
95 }