summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/Server.java24
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/TreeNode.java6
2 files changed, 27 insertions, 3 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/Server.java b/java/src/IceGridGUI/LiveDeployment/Server.java
index 13ede590e09..a36a7579477 100755
--- a/java/src/IceGridGUI/LiveDeployment/Server.java
+++ b/java/src/IceGridGUI/LiveDeployment/Server.java
@@ -716,11 +716,29 @@ class Server extends ListArrayTreeNode
_instanceDescriptor = server._instanceDescriptor;
_serverDescriptor = server._serverDescriptor;
_application = server._application;
+
_adapters = server._adapters;
_dbEnvs = server._dbEnvs;
-
_services = server._services;
+ //
+ // Need to re-parent all the children
+ //
+ for(Adapter adapter: _adapters)
+ {
+ adapter.reparent(this);
+ }
+
+ for(DbEnv dbEnv: _dbEnvs)
+ {
+ dbEnv.reparent(this);
+ }
+
+ for(Service service: _services)
+ {
+ service.reparent(this);
+ }
+
_childrenArray[0] = _adapters;
_childrenArray[1] = _dbEnvs;
_childrenArray[2] = _services;
@@ -1134,8 +1152,8 @@ class Server extends ListArrayTreeNode
private ApplicationDescriptor _application;
private Utils.Resolver _resolver;
- private java.util.List _adapters = new java.util.LinkedList();
- private java.util.List _dbEnvs = new java.util.LinkedList();
+ private java.util.List<Adapter> _adapters = new java.util.LinkedList<Adapter>();
+ private java.util.List<DbEnv> _dbEnvs = new java.util.LinkedList<DbEnv>();
private java.util.List<Service> _services = new java.util.LinkedList<Service>();
private ServerState _state;
diff --git a/java/src/IceGridGUI/LiveDeployment/TreeNode.java b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
index b182730f70d..e5535cadc25 100755
--- a/java/src/IceGridGUI/LiveDeployment/TreeNode.java
+++ b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
@@ -215,4 +215,10 @@ public abstract class TreeNode extends TreeNodeBase
title,
JOptionPane.ERROR_MESSAGE);
}
+
+ void reparent(TreeNode newParent)
+ {
+ assert newParent != null;
+ _parent = newParent;
+ }
}