diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-10-12 18:10:42 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-10-12 18:10:42 +0000 |
commit | f5b93fb960c72cacf5d13b8f1bb678237b72f5ff (patch) | |
tree | 4b63702a50a9247bc2f5ce1cf76e7eabbbe48fb1 /java/src/IceGrid/TreeNode/TemplateEditor.java | |
parent | minor edits (diff) | |
download | ice-f5b93fb960c72cacf5d13b8f1bb678237b72f5ff.tar.bz2 ice-f5b93fb960c72cacf5d13b8f1bb678237b72f5ff.tar.xz ice-f5b93fb960c72cacf5d13b8f1bb678237b72f5ff.zip |
DbEnv editor + cleanup
Diffstat (limited to 'java/src/IceGrid/TreeNode/TemplateEditor.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/TemplateEditor.java | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/java/src/IceGrid/TreeNode/TemplateEditor.java b/java/src/IceGrid/TreeNode/TemplateEditor.java index 4427cbf6022..c0a15d0fb48 100755 --- a/java/src/IceGrid/TreeNode/TemplateEditor.java +++ b/java/src/IceGrid/TreeNode/TemplateEditor.java @@ -13,12 +13,10 @@ import java.awt.event.ActionEvent; import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
+import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JTextField;
-
-import java.util.regex.Pattern;
-
import com.jgoodies.forms.builder.DefaultFormBuilder;
import IceGrid.Model;
@@ -122,8 +120,15 @@ class TemplateEditor extends Editor Templates parent = (Templates)_target.getParent();
_target.destroy(); // just removes the child
- if(!parent.tryAdd(_template.getText(), descriptor))
+ try
+ {
+ parent.tryAdd(_template.getText(), descriptor);
+ }
+ catch(UpdateFailedException e)
{
+ //
+ // Re-add ephemeral child
+ //
try
{
parent.addChild(_target, true);
@@ -132,15 +137,21 @@ class TemplateEditor extends Editor {
assert false;
}
+ JOptionPane.showMessageDialog(
+ model.getMainFrame(),
+ e.toString(),
+ "Apply failed",
+ JOptionPane.ERROR_MESSAGE);
return;
}
- else
- {
- _target = parent.findChildWithDescriptor(descriptor);
- model.setSelectionPath(_target.getPath());
- model.showActions(_target);
- _template.setEditable(false);
- }
+
+ //
+ // Success
+ //
+ _target = parent.findChildWithDescriptor(descriptor);
+ model.setSelectionPath(_target.getPath());
+ model.showActions(_target);
+ _template.setEditable(false);
}
else if(isSimpleUpdate())
{
@@ -155,21 +166,32 @@ class TemplateEditor extends Editor Templates parent = (Templates)_target.getParent();
writeDescriptor();
- if(!parent.tryUpdate(_target))
+ try
+ {
+
+ parent.tryUpdate(_target);
+ }
+ catch(UpdateFailedException e)
{
_target.restoreDescriptor(savedDescriptor);
+ JOptionPane.showMessageDialog(
+ model.getMainFrame(),
+ e.toString(),
+ "Apply failed",
+ JOptionPane.ERROR_MESSAGE);
//
// Everything was restored, user must deal with error
//
return;
}
- else
- {
- _target = parent.findChildWithDescriptor(getDescriptor());
- model.setSelectionPath(_target.getPath());
- model.showActions(_target);
- }
+
+ //
+ // Success
+ //
+ _target = parent.findChildWithDescriptor(getDescriptor());
+ model.setSelectionPath(_target.getPath());
+ model.showActions(_target);
}
_target.getEditable().markModified();
|