summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/Node.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-10-05 13:18:00 -0400
committerBernard Normier <bernard@zeroc.com>2007-10-05 13:18:00 -0400
commit0ace9a91634271f30743792e9a57853485b1744e (patch)
treebf8926c60cc6666f3e3f82d8fcd264186b67053f /java/src/IceGridGUI/Application/Node.java
parentFixed bug 2506 (diff)
downloadice-0ace9a91634271f30743792e9a57853485b1744e.tar.bz2
ice-0ace9a91634271f30743792e9a57853485b1744e.tar.xz
ice-0ace9a91634271f30743792e9a57853485b1744e.zip
Fixed bug #2499
Diffstat (limited to 'java/src/IceGridGUI/Application/Node.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/Node.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/java/src/IceGridGUI/Application/Node.java b/java/src/IceGridGUI/Application/Node.java
index 748d12679ed..46cd5a029f9 100755
--- a/java/src/IceGridGUI/Application/Node.java
+++ b/java/src/IceGridGUI/Application/Node.java
@@ -305,11 +305,31 @@ class Node extends TreeNode implements PropertySetParent
}
else if(descriptor instanceof ServerInstanceDescriptor)
{
- newServer(ServerInstance.copyDescriptor((ServerInstanceDescriptor)descriptor));
+ //
+ // Remove any extra parameters
+ //
+ ServerInstanceDescriptor sid = ServerInstance.copyDescriptor((ServerInstanceDescriptor)descriptor);
+
+ TemplateDescriptor td = getRoot().findServerTemplateDescriptor(sid.template);
+
+ if(td != null)
+ {
+ sid.parameterValues.keySet().retainAll(td.parameters);
+ }
+
+ newServer(sid);
}
else
{
- newServer(PlainServer.copyDescriptor(((ServerDescriptor)descriptor)));
+ ServerDescriptor sd = PlainServer.copyDescriptor((ServerDescriptor)descriptor);
+ if(sd instanceof IceBoxDescriptor)
+ {
+ if(!getRoot().pasteIceBox((IceBoxDescriptor)sd))
+ {
+ return;
+ }
+ }
+ newServer(sd);
}
}