diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2012-05-30 08:37:45 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2012-05-30 08:37:45 +0200 |
| commit | b086f57f56bf0eb9dab9cf321a0f69aaaae84347 (patch) | |
| tree | 8e6e26e8b7eed6abad7a17b093bdbb55c5e6b1ba /src/main/java/com/c2kernel/gui/data/NodeCollection.java | |
| parent | 22088ae8d2d5ff390518dbe1c4372325ffb3a647 (diff) | |
Initial Maven Conversion
Diffstat (limited to 'src/main/java/com/c2kernel/gui/data/NodeCollection.java')
| -rw-r--r-- | src/main/java/com/c2kernel/gui/data/NodeCollection.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/main/java/com/c2kernel/gui/data/NodeCollection.java b/src/main/java/com/c2kernel/gui/data/NodeCollection.java new file mode 100644 index 0000000..ceee16f --- /dev/null +++ b/src/main/java/com/c2kernel/gui/data/NodeCollection.java @@ -0,0 +1,68 @@ +package com.c2kernel.gui.data;
+
+import java.util.ArrayList;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+
+import com.c2kernel.collection.CollectionMember;
+import com.c2kernel.collection.Parent2ChildCollection;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.entity.proxy.ItemProxy;
+import com.c2kernel.gui.EntityTabManager;
+import com.c2kernel.lookup.EntityPath;
+import com.c2kernel.lookup.InvalidEntityPathException;
+import com.c2kernel.utils.Logger;
+
+public class NodeCollection extends Node {
+
+ ItemProxy parent;
+ Parent2ChildCollection<CollectionMember> thisCollection;
+ String path;
+
+ public NodeCollection(ItemProxy parent, String name, EntityTabManager desktop) {
+ this.desktop = desktop;
+ this.parent = parent;
+ this.name = name;
+ this.path = parent.getSystemKey()+"/Collection/"+name;
+ createTreeNode();
+ this.makeExpandable();
+ }
+
+ @Override
+ public void loadChildren() {
+ Logger.msg(8, "NodeCollection::loadChildren()");
+ try {
+ thisCollection = (Parent2ChildCollection<CollectionMember>)parent.getObject("Collection/"+name);
+ } catch (ObjectNotFoundException ex) {
+ end(false);
+ return;
+ }
+
+ this.type = thisCollection.getClass().getName();
+ int lastDot = this.type.lastIndexOf('.');
+ if (lastDot > -1) this.type = this.type.substring(lastDot+1);
+ ArrayList<CollectionMember> collectionMembers = thisCollection.getMembers().list;
+ for (int i=0; i<collectionMembers.size(); i++)
+ {
+ CollectionMember aMember = collectionMembers.get(i);
+ if (aMember!=null)
+ try
+ {
+ EntityPath entityPath = new EntityPath(aMember.getEntityKey());
+ add(new NodeItem(entityPath, desktop));
+ }
+ catch (InvalidEntityPathException ex)
+ {
+ Logger.error("InvalidEntityPathException::NodeCollection::loadChildren() " + ex.toString());
+ }
+ }
+
+ end(false);
+
+ }
+
+ @Override
+ public DefaultMutableTreeNode getTreeNode() {
+ return treeNode;
+ }
+}
|
