summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/TreeNode/Parent.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGrid/TreeNode/Parent.java')
-rwxr-xr-xjava/src/IceGrid/TreeNode/Parent.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/java/src/IceGrid/TreeNode/Parent.java b/java/src/IceGrid/TreeNode/Parent.java
index 7d411b8e9b4..4be2012b0e5 100755
--- a/java/src/IceGrid/TreeNode/Parent.java
+++ b/java/src/IceGrid/TreeNode/Parent.java
@@ -576,6 +576,46 @@ class Parent extends CommonBaseI
this(id, model, false);
}
+
+ CommonBase addNewChild(Object descriptor)
+ throws UpdateFailedException
+ {
+ assert false;
+ return null;
+ }
+
+ Object rebuildChild(CommonBase child, java.util.List editables)
+ throws UpdateFailedException
+ {
+ Object descriptor = child.getDescriptor();
+ removeChild(child, true);
+ try
+ {
+ addNewChild(descriptor);
+ }
+ catch(UpdateFailedException e)
+ {
+ addChild(child, true);
+ throw e;
+ }
+ return null;
+ }
+
+ void restoreChild(CommonBase child, Object backup)
+ {
+ CommonBase badChild = findChildWithDescriptor(child.getDescriptor());
+ removeChild(badChild, true);
+
+ try
+ {
+ addChild(child, true);
+ }
+ catch(UpdateFailedException e)
+ {
+ assert false; // impossible
+ }
+ }
+
protected void sortChildren(boolean val)
{
_sortChildren = val;