Author: bbrodt
Date: 2010-11-10 13:59:13 -0500 (Wed, 10 Nov 2010)
New Revision: 26426
Modified:
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java
Log:
REOPENED - issue JBIDE-7477: ODE deployment descriptor editor is not closed when
deploy.xml file is deleted.
https://jira.jboss.org/browse/JBIDE-7477
Modified:
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java 2010-11-10
18:56:20 UTC (rev 26425)
+++
trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java 2010-11-10
18:59:13 UTC (rev 26426)
@@ -40,6 +40,7 @@
import org.eclipse.bpel.model.PartnerLinks;
import org.eclipse.bpel.model.Process;
import org.eclipse.bpel.model.Scope;
+import org.eclipse.bpel.ui.BPELMultipageEditorPart;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.util.BPELUtil;
@@ -100,6 +101,7 @@
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.SectionPart;
import org.eclipse.ui.forms.editor.FormEditor;
@@ -845,6 +847,24 @@
}
});
}
+ //
https://jira.jboss.org/browse/JBIDE-7477
+ // close editor when file is deleted
+ else {
+ IFile editorFile = ((IFileEditorInput)getEditorInput()).getFile();
+ IResource target = delta.getResource();
+ if (delta.getKind() == IResourceDelta.REMOVED &&
+ target instanceof IFile &&
+ editorFile.equals(target))
+ {
+ // Close the editor if its input file has been moved or deleted.
+ Display display = getSite().getShell().getDisplay();
+ display.asyncExec(new Runnable() {
+ public void run() {
+ getSite().getPage().closeEditor(ProcessPage.this.editor, false);
+ }
+ });
+ }
+ }
return true; // visit the children
}