summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/TreeNode/Adapter.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-09-27 14:57:58 +0000
committerBernard Normier <bernard@zeroc.com>2005-09-27 14:57:58 +0000
commit731b70f3de99ecc9be2137a383d087a0f51c8553 (patch)
treeafa4de6f5748a2609297a65a205107869fbb72ca /java/src/IceGrid/TreeNode/Adapter.java
parentFixed bug 495 - assertion on server side udp shutdown (diff)
downloadice-731b70f3de99ecc9be2137a383d087a0f51c8553.tar.bz2
ice-731b70f3de99ecc9be2137a383d087a0f51c8553.tar.xz
ice-731b70f3de99ecc9be2137a383d087a0f51c8553.zip
Service templates editing + refactoring
Diffstat (limited to 'java/src/IceGrid/TreeNode/Adapter.java')
-rwxr-xr-xjava/src/IceGrid/TreeNode/Adapter.java83
1 files changed, 41 insertions, 42 deletions
diff --git a/java/src/IceGrid/TreeNode/Adapter.java b/java/src/IceGrid/TreeNode/Adapter.java
index 85fa36bfd5a..9414c8644a9 100755
--- a/java/src/IceGrid/TreeNode/Adapter.java
+++ b/java/src/IceGrid/TreeNode/Adapter.java
@@ -63,39 +63,46 @@ class Adapter extends Leaf
public boolean destroy()
{
- if(isEphemeral() || isEditable() && _model.canUpdate())
- {
- Adapters adapters = (Adapters)_parent;
-
- if(isEphemeral())
- {
- adapters.removeChild(this, true);
- }
- else
- {
- adapters.removeDescriptor(_descriptor);
- getEditable().markModified();
- getApplication().applySafeUpdate();
- }
- return true;
- }
- else
+ return _parent == null ? false :
+ ((ListParent)_parent).destroyChild(this);
+ }
+
+
+ public void setParent(CommonBase parent)
+ {
+ if(_resolver != null)
{
- return false;
+ //
+ // In a server instance
+ //
+ _instanceId
+ = new AdapterInstanceId(_resolver.find("server"),
+ _resolver.substitute(_descriptor.id));
+
+ _proxy = _model.getRoot().registerAdapter(_resolver.find("node"),
+ _instanceId,
+ this);
+ createToolTip();
}
+
+ super.setParent(parent);
}
- public void unregister()
+ public void clearParent()
{
- if(_instanceId != null)
+ if(_parent != null)
{
- getApplication().unregisterAdapter(_resolver.find("node"),
- _instanceId,
- this);
+ if(_instanceId != null)
+ {
+ _model.getRoot().unregisterAdapter(_resolver.find("node"),
+ _instanceId, this);
+ }
+ super.clearParent();
}
}
+
static public AdapterDescriptor copyDescriptor(AdapterDescriptor d)
{
return (AdapterDescriptor)d.clone();
@@ -128,28 +135,12 @@ class Adapter extends Leaf
}
Adapter(String adapterName, AdapterDescriptor descriptor,
- Utils.Resolver resolver, Application application, Model model)
+ Utils.Resolver resolver, Model model)
{
super(adapterName, model);
_descriptor = descriptor;
_resolver = resolver;
_ephemeral = false;
-
- if(resolver != null)
- {
- assert application != null;
- //
- // In a server instance
- //
- _instanceId
- = new AdapterInstanceId(_resolver.find("server"),
- _resolver.substitute(_descriptor.id));
-
- _proxy = application.registerAdapter(_resolver.find("node"),
- _instanceId,
- this);
- createToolTip();
- }
}
//
@@ -159,7 +150,7 @@ class Adapter extends Leaf
//
Adapter(String name, AdapterDescriptor descriptor, Model model)
{
- super("*" + name, model);
+ super(name, model);
_descriptor = descriptor;
_ephemeral = true;
}
@@ -180,7 +171,15 @@ class Adapter extends Leaf
boolean isEditable()
{
- return ((Adapters)_parent).isEditable();
+ if(_parent == null)
+ {
+ return false;
+ }
+ else
+ {
+ return ((Adapters)_parent).isEditable();
+ }
+
}
boolean inIceBox()