diff options
author | Bernard Normier <bernard@zeroc.com> | 2006-10-18 15:31:40 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2006-10-18 15:31:40 +0000 |
commit | 69c99ec49155767c56e9d7e041a802f3adf0a806 (patch) | |
tree | d044245599997c901aece021b017d80b56810b5d /java/src/IceGridGUI/LiveDeployment/Root.java | |
parent | Removed nonmutating metadata from new operations (diff) | |
download | ice-69c99ec49155767c56e9d7e041a802f3adf0a806.tar.bz2 ice-69c99ec49155767c56e9d7e041a802f3adf0a806.tar.xz ice-69c99ec49155767c56e9d7e041a802f3adf0a806.zip |
Support for replicated registries
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/Root.java')
-rwxr-xr-x | java/src/IceGridGUI/LiveDeployment/Root.java | 79 |
1 files changed, 55 insertions, 24 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/Root.java b/java/src/IceGridGUI/LiveDeployment/Root.java index 27336574fee..6b5eafb78e1 100755 --- a/java/src/IceGridGUI/LiveDeployment/Root.java +++ b/java/src/IceGridGUI/LiveDeployment/Root.java @@ -28,12 +28,14 @@ import IceGridGUI.*; // // The Root node of the Live Deployment view // -public class Root extends ListTreeNode +public class Root extends ListArrayTreeNode { public Root(Coordinator coordinator) { - super(null, "Root"); + super(null, "Root", 2); _coordinator = coordinator; + _childrenArray[0] = _registries; + _childrenArray[1] = _nodes; _tree = new JTree(this, true); _treeModel = (DefaultTreeModel)_tree.getModel(); @@ -133,7 +135,8 @@ public class Root extends ListTreeNode _objects.clear(); _descriptorMap.clear(); - _children.clear(); + _nodes.clear(); + _registries.clear(); _treeModel.nodeStructureChanged(this); _tree.setRootVisible(false); } @@ -230,16 +233,16 @@ public class Root extends ListTreeNode _descriptorMap.remove(name); java.util.List toRemove = new java.util.LinkedList(); - int[] toRemoveIndices = new int[_children.size()]; + int[] toRemoveIndices = new int[_nodes.size()]; int i = 0; - for(int index = 0; index < _children.size(); ++index) + for(int index = 0; index < _nodes.size(); ++index) { - Node node = (Node)_children.get(index); + Node node = (Node)_nodes.get(index); if(node.remove(name)) { toRemove.add(node); - toRemoveIndices[i++] = index; + toRemoveIndices[i++] = _registries.size() + index; } } @@ -333,7 +336,7 @@ public class Root extends ListTreeNode if(node.remove(update.name)) { int index = getIndex(node); - _children.remove(node); + _nodes.remove(node); _treeModel.nodesWereRemoved(this, new int[]{index}, new Object[]{node}); } } @@ -368,7 +371,7 @@ public class Root extends ListTreeNode // if(variablesChanged || !update.serviceTemplates.isEmpty() || !update.serverTemplates.isEmpty()) { - p = _children.iterator(); + p = _nodes.iterator(); while(p.hasNext()) { Node node = (Node)p.next(); @@ -383,9 +386,6 @@ public class Root extends ListTreeNode public void adapterInit(AdapterInfo[] adapters) { - // - // TODO: XXX: REVIEW - // for(int i = 0; i < adapters.length; ++i) { _adapters.put(adapters[i].id, adapters[i]); @@ -409,9 +409,6 @@ public class Root extends ListTreeNode public void objectInit(ObjectInfo[] objects) { - // - // TODO: XXX: REVIEW - // for(int i = 0; i < objects.length; ++i) { _objects.put(Ice.Util.identityToString(objects[i].proxy.ice_getIdentity()), objects[i]); @@ -435,6 +432,38 @@ public class Root extends ListTreeNode // + // From the Registry Observer: + // + public void registryUp(RegistryInfo info) + { + RegistryReplica newReplica = new RegistryReplica(this, info); + + int i; + for(i = 0; i < _registries.size(); ++i) + { + String otherName = _registries.get(i).toString(); + if(info.name.compareTo(otherName) > 0) + { + i++; + break; + } + } + _registries.add(i, newReplica); + _treeModel.nodesWereInserted(this, new int[]{i}); + } + + public void registryDown(String name) + { + TreeNodeBase registry = find(name, _registries); + if(registry != null) + { + int index = getIndex(registry); + _registries.remove(registry); + _treeModel.nodesWereRemoved(this, new int[]{index}, new Object[]{registry}); + } + } + + // // From the Node Observer: // public void nodeUp(NodeDynamicInfo updatedInfo) @@ -458,7 +487,7 @@ public class Root extends ListTreeNode if(node.down()) { int index = getIndex(node); - _children.remove(node); + _nodes.remove(node); _treeModel.nodesWereRemoved(this, new int[]{index}, new Object[]{node}); } } @@ -752,37 +781,40 @@ public class Root extends ListTreeNode private Node findNode(String nodeName) { - return (Node)find(nodeName, _children); + return (Node)find(nodeName, _nodes); } private void insertNode(Node node) { String nodeName = node.toString(); int i; - for(i = 0; i < _children.size(); ++i) + for(i = 0; i < _nodes.size(); ++i) { - String otherNodeName = _children.get(i).toString(); + String otherNodeName = _nodes.get(i).toString(); if(nodeName.compareTo(otherNodeName) > 0) { i++; break; } } - _children.add(i, node); - _treeModel.nodesWereInserted(this, new int[]{i}); + _nodes.add(i, node); + _treeModel.nodesWereInserted(this, new int[]{_registries.size() + i}); } private void removeNodes(int[] toRemoveIndices, java.util.List toRemove) { if(toRemove.size() > 0) { - _children.removeAll(toRemove); + _nodes.removeAll(toRemove); _treeModel.nodesWereRemoved(this, toRemoveIndices, toRemove.toArray()); } } private final Coordinator _coordinator; + private final java.util.List _nodes = new java.util.LinkedList(); + private final java.util.List _registries = new java.util.LinkedList(); + // // Maps application name to current application descriptor // @@ -810,6 +842,5 @@ public class Root extends ListTreeNode static private RegistryEditor _editor; static private JPopupMenu _popup; - static private DefaultTreeCellRenderer _cellRenderer; - + static private DefaultTreeCellRenderer _cellRenderer; } |