summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/Application/CommunicatorChildEditor.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/CommunicatorChildEditor.java244
1 files changed, 122 insertions, 122 deletions
diff --git a/java/src/IceGridGUI/Application/CommunicatorChildEditor.java b/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
index b80d4e9f625..d9ccbe65788 100755
--- a/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
+++ b/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
@@ -1,122 +1,122 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-package IceGridGUI.Application;
-
-import javax.swing.JOptionPane;
-
-import IceGrid.*;
-import IceGridGUI.*;
-
-abstract class CommunicatorChildEditor extends Editor
-{
- abstract void writeDescriptor();
- abstract boolean isSimpleUpdate();
- abstract Communicator.ChildList getChildList();
-
- void postUpdate() {}
-
- protected boolean applyUpdate()
- {
- Root root = _target.getRoot();
- root.disableSelectionListener();
- try
- {
- if(_target.isEphemeral())
- {
- Communicator.ChildList childList = getChildList();
-
- writeDescriptor();
- Object descriptor = _target.getDescriptor();
- _target.destroy(); // just removes the child
-
- try
- {
- childList.tryAdd(descriptor);
- }
- catch(UpdateFailedException e)
- {
- //
- // Restore ephemeral
- //
- try
- {
- childList.addChild(_target, true);
- }
- catch(UpdateFailedException die)
- {
- assert false;
- }
-
- JOptionPane.showMessageDialog(
- root.getCoordinator().getMainFrame(),
- e.toString(),
- "Apply failed",
- JOptionPane.ERROR_MESSAGE);
-
- root.setSelectedNode(_target);
- return false;
- }
-
- //
- // Success
- //
- _target = childList.findChildWithDescriptor(descriptor);
- root.updated();
- root.setSelectedNode(_target);
- }
- else if(isSimpleUpdate())
- {
- writeDescriptor();
- root.updated();
- ((Communicator)_target.getParent()).getEnclosingEditable().markModified();
- }
- else
- {
- //
- // Save to be able to rollback
- //
- Object savedDescriptor = ((DescriptorHolder)_target).saveDescriptor();
- Communicator.ChildList childList = getChildList();
- writeDescriptor();
- try
- {
- childList.tryUpdate(_target);
- }
- catch(UpdateFailedException e)
- {
- ((DescriptorHolder)_target).restoreDescriptor(savedDescriptor);
- JOptionPane.showMessageDialog(
- root.getCoordinator().getMainFrame(),
- e.toString(),
- "Apply failed",
- JOptionPane.ERROR_MESSAGE);
- return false;
- }
-
- //
- // Success
- //
- _target = childList.findChildWithDescriptor(_target.getDescriptor());
- root.updated();
- root.setSelectedNode(_target);
- }
-
- postUpdate();
-
- root.getCoordinator().getCurrentTab().showNode(_target);
- _applyButton.setEnabled(false);
- _discardButton.setEnabled(false);
- return true;
- }
- finally
- {
- root.enableSelectionListener();
- }
- }
-}
+// **********************************************************************
+//
+// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+package IceGridGUI.Application;
+
+import javax.swing.JOptionPane;
+
+import IceGrid.*;
+import IceGridGUI.*;
+
+abstract class CommunicatorChildEditor extends Editor
+{
+ abstract void writeDescriptor();
+ abstract boolean isSimpleUpdate();
+ abstract Communicator.ChildList getChildList();
+
+ void postUpdate() {}
+
+ protected boolean applyUpdate()
+ {
+ Root root = _target.getRoot();
+ root.disableSelectionListener();
+ try
+ {
+ if(_target.isEphemeral())
+ {
+ Communicator.ChildList childList = getChildList();
+
+ writeDescriptor();
+ Object descriptor = _target.getDescriptor();
+ _target.destroy(); // just removes the child
+
+ try
+ {
+ childList.tryAdd(descriptor);
+ }
+ catch(UpdateFailedException e)
+ {
+ //
+ // Restore ephemeral
+ //
+ try
+ {
+ childList.addChild(_target, true);
+ }
+ catch(UpdateFailedException die)
+ {
+ assert false;
+ }
+
+ JOptionPane.showMessageDialog(
+ root.getCoordinator().getMainFrame(),
+ e.toString(),
+ "Apply failed",
+ JOptionPane.ERROR_MESSAGE);
+
+ root.setSelectedNode(_target);
+ return false;
+ }
+
+ //
+ // Success
+ //
+ _target = childList.findChildWithDescriptor(descriptor);
+ root.updated();
+ root.setSelectedNode(_target);
+ }
+ else if(isSimpleUpdate())
+ {
+ writeDescriptor();
+ root.updated();
+ ((Communicator)_target.getParent()).getEnclosingEditable().markModified();
+ }
+ else
+ {
+ //
+ // Save to be able to rollback
+ //
+ Object savedDescriptor = ((DescriptorHolder)_target).saveDescriptor();
+ Communicator.ChildList childList = getChildList();
+ writeDescriptor();
+ try
+ {
+ childList.tryUpdate(_target);
+ }
+ catch(UpdateFailedException e)
+ {
+ ((DescriptorHolder)_target).restoreDescriptor(savedDescriptor);
+ JOptionPane.showMessageDialog(
+ root.getCoordinator().getMainFrame(),
+ e.toString(),
+ "Apply failed",
+ JOptionPane.ERROR_MESSAGE);
+ return false;
+ }
+
+ //
+ // Success
+ //
+ _target = childList.findChildWithDescriptor(_target.getDescriptor());
+ root.updated();
+ root.setSelectedNode(_target);
+ }
+
+ postUpdate();
+
+ root.getCoordinator().getCurrentTab().showNode(_target);
+ _applyButton.setEnabled(false);
+ _discardButton.setEnabled(false);
+ return true;
+ }
+ finally
+ {
+ root.enableSelectionListener();
+ }
+ }
+}