diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-10-07 09:18:33 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-10-07 09:18:33 +0200 |
| commit | 5e4034b5cba89460a62fa958fc78c2b85acb3d5f (patch) | |
| tree | aa8e32f014801459ad65acdf45eee70d16008fe6 /src/main/java/org/cristalise/gui/tree/NodeContext.java | |
| parent | a5a9d90ec6714ad6a9358c35ca7093e5868373f7 (diff) | |
Repackage to org.cristalise
Diffstat (limited to 'src/main/java/org/cristalise/gui/tree/NodeContext.java')
| -rw-r--r-- | src/main/java/org/cristalise/gui/tree/NodeContext.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/main/java/org/cristalise/gui/tree/NodeContext.java b/src/main/java/org/cristalise/gui/tree/NodeContext.java new file mode 100644 index 0000000..97252c7 --- /dev/null +++ b/src/main/java/org/cristalise/gui/tree/NodeContext.java @@ -0,0 +1,66 @@ +package org.cristalise.gui.tree;
+
+import java.util.Iterator;
+
+import org.cristalise.gui.ItemTabManager;
+import org.cristalise.kernel.entity.proxy.DomainPathSubscriber;
+import org.cristalise.kernel.lookup.DomainPath;
+import org.cristalise.kernel.lookup.Path;
+import org.cristalise.kernel.process.Gateway;
+import org.cristalise.kernel.utils.Logger;
+
+
+
+public class NodeContext extends Node implements DomainPathSubscriber {
+ Iterator<Path> children;
+
+ public NodeContext(Path path, ItemTabManager desktop) {
+ super(path, desktop);
+ this.itemPath = null;
+ createTreeNode();
+ this.makeExpandable();
+ this.type = "Cristal Context";
+ }
+
+
+ @Override
+ public void loadChildren() {
+ if (children == null) {
+ Gateway.getProxyManager().subscribeTree(this, (DomainPath)binding);
+ children = Gateway.getLookup().getChildren(binding);
+ }
+
+ int batch = 75;
+ while (children.hasNext() && batch > 0) {
+ Path newPath = children.next();
+ if (newPath == null) break;
+ Logger.msg(2, "Subscription.run() - new node: " + newPath );
+ add( newNode(newPath));
+ batch--;
+ }
+ end(children.hasNext());
+ }
+
+ @Override
+ public void pathAdded(DomainPath path) {
+ add(newNode(path));
+ }
+
+ @Override
+ public void refresh() {
+ children = null;
+ super.refresh();
+ }
+ @Override
+ public void pathRemoved(DomainPath path) {
+ remove(path);
+ }
+
+}
+
+
+
+
+
+
+
|
