blob: 410f13a66442f632b140cbd9a29c6cfd4ad7f199 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
package com.c2kernel.gui.data;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.StringTokenizer;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.entity.proxy.ItemProxy;
import com.c2kernel.gui.EntityDetails;
import com.c2kernel.gui.EntityTabManager;
import com.c2kernel.gui.MainFrame;
import com.c2kernel.lookup.Path;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.utils.Logger;
/**
* Structure for Item presence on the tree and ItemDetails boxes. Created by NodeFactory.
* @author $Author: abranson $
* @version $Version$
*/
public class NodeItem extends NodeEntity {
public NodeItem(Path path, EntityTabManager desktop) {
super(path, desktop);
try {
makeExpandable();
} catch (Exception e) {
Logger.error(e);
}
}
public void loadChildren() {
try {
String collections = myEntity.queryData("Collection/all");
StringTokenizer tok = new StringTokenizer(collections, ",");
while (tok.hasMoreTokens()) {
NodeCollection newCollection = new NodeCollection((ItemProxy)myEntity, tok.nextToken(), desktop);
add(newCollection);
}
end(false);
} catch (Exception e) {
Logger.error(e);
}
}
public JPopupMenu getPopupMenu() {
JPopupMenu popup = super.getPopupMenu();
popup.addSeparator();
try {
ArrayList jobList = ((ItemProxy)myEntity).getJobList(MainFrame.userAgent);
ArrayList already = new ArrayList();
if (jobList.size() > 0) {
for (Iterator e = jobList.iterator(); e.hasNext();) {
Job thisJob = (Job)e.next();
String stepName = thisJob.getStepName();
if (already.contains(stepName))
continue;
already.add(stepName);
JMenuItem menuItem = new JMenuItem(stepName);
menuItem.setActionCommand(stepName);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
execute(e.getActionCommand());
}
});
popup.add(menuItem);
}
}
else {
JMenuItem noAct = new JMenuItem("No activities");
noAct.setEnabled(false);
popup.add(noAct);
}
} catch (Exception ex) {
JMenuItem error = new JMenuItem("Error querying jobs");
error.setEnabled(false);
popup.add(error);
}
return popup;
}
public void execute(String stepName) {
EntityDetails thisDetail = desktop.add(this);
thisDetail.runCommand("Execution", stepName);
}
public ArrayList getTabs() {
ArrayList requiredTabs = super.getTabs();
requiredTabs.add("Properties");
try {
String collNames = myEntity.queryData(ClusterStorage.COLLECTION+"/all");
if (collNames.length() > 0)
requiredTabs.add("Collection");
} catch (Exception e) { }
requiredTabs.add("Execution");
requiredTabs.add("History");
requiredTabs.add("Viewpoint");
requiredTabs.add("Workflow");
return requiredTabs;
}
}
|