diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-09-09 12:14:01 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-09-09 12:14:01 +0200 |
| commit | 8e5d28aec9368c29acec858e9d748ed2ed5eb397 (patch) | |
| tree | f80282cb0c9ab47159816ca3c3a8f7c193103e65 /src/main/java/com/c2kernel/gui/tree | |
| parent | 7690395f52e3d0853695cea77f0103fb56c81838 (diff) | |
Support move to using UUIDs and ItemPaths as Item identifiers instead of
ints.
Diffstat (limited to 'src/main/java/com/c2kernel/gui/tree')
5 files changed, 25 insertions, 29 deletions
diff --git a/src/main/java/com/c2kernel/gui/tree/Node.java b/src/main/java/com/c2kernel/gui/tree/Node.java index 62e9d19..eb4ebb2 100644 --- a/src/main/java/com/c2kernel/gui/tree/Node.java +++ b/src/main/java/com/c2kernel/gui/tree/Node.java @@ -13,9 +13,10 @@ import javax.swing.tree.DefaultMutableTreeNode; import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.gui.DynamicTreeBuilder;
-import com.c2kernel.gui.ItemTabManager;
import com.c2kernel.gui.ImageLoader;
+import com.c2kernel.gui.ItemTabManager;
import com.c2kernel.lookup.AgentPath;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.lookup.Path;
import com.c2kernel.process.Gateway;
import com.c2kernel.utils.Language;
@@ -26,7 +27,7 @@ public abstract class Node implements Runnable { protected Path binding;
protected DefaultMutableTreeNode treeNode;
protected String name; // domain key
- protected int sysKey; // target item
+ protected ItemPath itemPath; // target item
// attributes
protected String type = "";
protected String toolTip = null;
@@ -52,7 +53,9 @@ public abstract class Node implements Runnable { public Node(Path path, ItemTabManager desktop) {
this.binding = path;
this.desktop = desktop;
- this.sysKey = path.getSysKey();
+ try {
+ this.itemPath = path.getItemPath();
+ } catch (ObjectNotFoundException e) { }
// get the name of this node (last path element)
String[] pathComponents = path.getPath();
if (pathComponents.length > 0)
@@ -68,7 +71,7 @@ public abstract class Node implements Runnable { public Node newNode(Path path)
{
try {
- if (path.getEntity() instanceof AgentPath)
+ if (path.getItemPath() instanceof AgentPath)
return new NodeAgent(path, desktop);
else
return new NodeItem(path, desktop);
@@ -184,7 +187,7 @@ public abstract class Node implements Runnable { // Getters and Setters
- public int getSysKey() { return sysKey; }
+ public ItemPath getItemPath() { return itemPath; }
// public void setSysKey( int sysKey ) { this.sysKey = sysKey; }
public String getName() { return name; }
diff --git a/src/main/java/com/c2kernel/gui/tree/NodeCollection.java b/src/main/java/com/c2kernel/gui/tree/NodeCollection.java index 3d624ee..7cd66b5 100644 --- a/src/main/java/com/c2kernel/gui/tree/NodeCollection.java +++ b/src/main/java/com/c2kernel/gui/tree/NodeCollection.java @@ -13,7 +13,6 @@ import com.c2kernel.entity.proxy.MemberSubscription; import com.c2kernel.entity.proxy.ProxyObserver;
import com.c2kernel.gui.ItemTabManager;
import com.c2kernel.gui.MainFrame;
-import com.c2kernel.lookup.InvalidItemPathException;
import com.c2kernel.lookup.ItemPath;
import com.c2kernel.lookup.Path;
import com.c2kernel.persistency.ClusterStorage;
@@ -31,7 +30,7 @@ public class NodeCollection extends Node implements ProxyObserver<Collection<? e super(desktop);
this.parent = parent;
this.name = name;
- this.path = parent.getSystemKey()+"/Collection/"+name;
+ this.path = parent.getPath()+"/Collection/"+name;
createTreeNode();
this.makeExpandable();
}
@@ -40,7 +39,7 @@ public class NodeCollection extends Node implements ProxyObserver<Collection<? e super(desktop);
this.parent = parent;
this.name = coll.getName();
- this.path = parent.getSystemKey()+"/Collection/"+name;
+ this.path = parent.getPath()+"/Collection/"+name;
createTreeNode();
this.makeExpandable();
add(coll);
@@ -75,20 +74,14 @@ public class NodeCollection extends Node implements ProxyObserver<Collection<? e ArrayList<Path> currentPaths = new ArrayList<Path>();
// add any missing paths
for (CollectionMember newMember : newMembers) {
- if (!oldMembers.contains(newMember) && newMember.getSystemKey()>-1)
- try
- {
- ItemPath itemPath = new ItemPath(newMember.getSystemKey());
- currentPaths.add(itemPath);
- NodeItem newMemberNode = new NodeItem(itemPath, desktop);
- newMemberNode.setCollection(contents, newMember.getID(), parent);
- newMemberNode.setToolTip(getPropertyToolTip(newMember.getProperties()));
- add(newMemberNode);
- }
- catch (InvalidItemPathException ex)
- {
- Logger.error("NodeCollection::loadChildren() " + ex.toString());
- }
+ ItemPath itemPath = newMember.getItemPath();
+ if (!oldMembers.contains(newMember) && itemPath != null) {
+ currentPaths.add(itemPath);
+ NodeItem newMemberNode = new NodeItem(itemPath, desktop);
+ newMemberNode.setCollection(contents, newMember.getID(), parent);
+ newMemberNode.setToolTip(getPropertyToolTip(newMember.getProperties()));
+ add(newMemberNode);
+ }
}
// remove those no longer present
for (Path childPath : childNodes.keySet()) {
@@ -104,9 +97,9 @@ public class NodeCollection extends Node implements ProxyObserver<Collection<? e end(false);
}
- public boolean addMember(int syskey) {
+ public boolean addMember(ItemPath itemPath) {
if (!isDependency()) return false;
- String[] params = { thisCollection.getName(), String.valueOf(syskey) };
+ String[] params = { thisCollection.getName(), itemPath.getUUID().toString() };
try {
MainFrame.userAgent.execute(parent, "AddMemberToCollection", params);
return true;
diff --git a/src/main/java/com/c2kernel/gui/tree/NodeContext.java b/src/main/java/com/c2kernel/gui/tree/NodeContext.java index fcd1553..6d7c7bd 100644 --- a/src/main/java/com/c2kernel/gui/tree/NodeContext.java +++ b/src/main/java/com/c2kernel/gui/tree/NodeContext.java @@ -15,7 +15,7 @@ public class NodeContext extends Node implements DomainPathSubscriber { public NodeContext(Path path, ItemTabManager desktop) {
super(path, desktop);
- this.sysKey=Path.INVALID;
+ this.itemPath = null;
createTreeNode();
this.makeExpandable();
this.type = "Cristal Context";
diff --git a/src/main/java/com/c2kernel/gui/tree/NodeItem.java b/src/main/java/com/c2kernel/gui/tree/NodeItem.java index 9cdfc5a..3194bcd 100644 --- a/src/main/java/com/c2kernel/gui/tree/NodeItem.java +++ b/src/main/java/com/c2kernel/gui/tree/NodeItem.java @@ -44,8 +44,8 @@ public class NodeItem extends Node implements Transferable { // if an item - resolve the item and get its properties
try {
myItem = Gateway.getProxyManager().getProxy(path);
- this.sysKey = path.getSysKey();
- Logger.msg(2,"NodeEntity.<init> - System key is "+this.sysKey);
+ this.itemPath = path.getItemPath();
+ Logger.msg(2,"NodeEntity.<init> - System key is "+this.itemPath);
// Name should be the alias if present
String alias = myItem.getName();
@@ -66,7 +66,7 @@ public class NodeItem extends Node implements Transferable { iconString = iconString.toLowerCase();
this.setIcon(iconString);
} catch (ObjectNotFoundException e1) {
- this.sysKey = -1;
+ this.itemPath = null;
this.type="Error";
this.name="Entity not found";
this.setIcon("error");
diff --git a/src/main/java/com/c2kernel/gui/tree/NodeTransferHandler.java b/src/main/java/com/c2kernel/gui/tree/NodeTransferHandler.java index 3918b1c..56e61bd 100644 --- a/src/main/java/com/c2kernel/gui/tree/NodeTransferHandler.java +++ b/src/main/java/com/c2kernel/gui/tree/NodeTransferHandler.java @@ -44,7 +44,7 @@ public class NodeTransferHandler extends TransferHandler { NodeItem source;
try {
source = (NodeItem)support.getTransferable().getTransferData(NodeItem.dataFlavor);
- return collNode.addMember(source.getSysKey());
+ return collNode.addMember(source.getItemPath());
} catch (Exception e) {
Logger.error(e);
return false;
|
