Fix file rename/delete again, and editor title
diff --git a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/BPMN2ProjectValidator.java b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/BPMN2ProjectValidator.java
index 189c795..818839a 100644
--- a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/BPMN2ProjectValidator.java
+++ b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/BPMN2ProjectValidator.java
@@ -90,7 +90,7 @@
rs.setURIConverter(new ProxyURIConverterImplExtension());
Resource resource = rs.createResource(
- URI.createPlatformResourceURI(modelFile.getFullPath().toString(), false),
+ URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true),
Bpmn2ModelerResourceImpl.BPMN2_CONTENT_TYPE_ID);
try {
resource.load(null);
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/BPMN2Editor.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/BPMN2Editor.java
index 4145eb6..fcfae8a 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/BPMN2Editor.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/BPMN2Editor.java
@@ -12,6 +12,7 @@
******************************************************************************/
package org.eclipse.bpmn2.modeler.ui.editor;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -709,13 +710,9 @@
}
}
- public void setEditorTitle(final String title) {
- Display display = getSite().getShell().getDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- setPartName(title);
- }
- });
+ public void refreshTitle() {
+ String name = getEditorInput().getName();
+ setPartName(URI.decode(name));
}
public BPMN2EditingDomainListener getEditingDomainListener() {
@@ -776,6 +773,14 @@
IEditorReference[] refs = p.getEditorReferences();
instances += refs.length;
}
+ File diagramFile = new File(diagramUri.toFileString());
+ if (diagramFile.exists()) {
+ try {
+ diagramFile.delete();
+ }
+ catch (Exception e) {
+ }
+ }
ModelUtil.clearIDs(modelHandler.getResource(), instances==0);
getPreferences().getGlobalPreferences().removePropertyChangeListener(this);
@@ -977,8 +982,6 @@
targetRuntime = null;
modelHandler = ModelHandlerLocator.createModelHandler(modelUri, (Bpmn2ResourceImpl)resource);
ModelHandlerLocator.put(diagramUri, modelHandler);
-
- setEditorTitle(modelUri.trimFileExtension().lastSegment());
}
else if (diagramUri.equals(oldURI)) {
ModelHandlerLocator.remove(diagramUri);
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
index da8cb2c..3e98992 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
@@ -17,6 +17,7 @@
import org.eclipse.bpmn2.modeler.core.di.DIUtils;
import org.eclipse.bpmn2.modeler.core.utils.BusinessObjectUtil;
import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
+import org.eclipse.bpmn2.modeler.ui.wizards.Bpmn2DiagramEditorInput;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.TreeIterator;
@@ -97,12 +98,16 @@
@Override
protected void setPartName(String partName) {
- IEditorInput input = getEditorInput();
- if (input instanceof DiagramEditorInput) {
- URI uri = ((DiagramEditorInput)input).getUri();
- partName = URI.decode(uri.trimFileExtension().lastSegment());
- }
- super.setPartName(partName);
+// IEditorInput input = getEditorInput();
+// if (input instanceof Bpmn2DiagramEditorInput) {
+// URI uri = ((Bpmn2DiagramEditorInput)input).getModelUri();
+// partName = URI.decode(uri.trimFileExtension().lastSegment());
+// }
+// else if (input instanceof DiagramEditorInput) {
+// URI uri = ((DiagramEditorInput)input).getUri();
+// partName = URI.decode(uri.trimFileExtension().lastSegment());
+// }
+ super.setPartName(URI.decode(partName));
}
private boolean inSelectionChanged = false;
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/dialogs/SchemaImportDialog.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/dialogs/SchemaImportDialog.java
index 745e301..15c705a 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/dialogs/SchemaImportDialog.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/property/dialogs/SchemaImportDialog.java
@@ -992,7 +992,7 @@
return URI.createFileURI( path );
case BID_BROWSE_WORKSPACE :
- return URI.createPlatformResourceURI(path,false);
+ return URI.createPlatformResourceURI(path,true);
case BID_BROWSE_WSIL :
//return URI.createFileURI( path );
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/BPMN2DiagramCreator.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/BPMN2DiagramCreator.java
index dcb376c..dcd9b4e 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/BPMN2DiagramCreator.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/BPMN2DiagramCreator.java
@@ -52,7 +52,6 @@
String modelName = modelUri.trimFragment().trimFileExtension().lastSegment();
final Diagram diagram = Graphiti.getPeCreateService().createDiagram("BPMN2", modelName, true);
- diagram.setName(modelName);
String diagramName = FileService.createTempName(modelName);
URI diagramUri = URI.createFileURI(diagramName);
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/Bpmn2DiagramEditorInput.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/Bpmn2DiagramEditorInput.java
index 273c45c..d47155b 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/Bpmn2DiagramEditorInput.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/Bpmn2DiagramEditorInput.java
@@ -54,6 +54,22 @@
return modelUri;
}
+ public String getToolTipText() {
+ return modelUri.toPlatformString(true);
+ }
+
+ public String getName() {
+ return URI.decode(modelUri.trimFileExtension().lastSegment());
+ }
+
+ public void updateUri(URI diagramFileUri) {
+ if (diagramFileUri.isPlatformResource()) {
+ modelUri = diagramFileUri;
+ }
+ else
+ super.updateUri(diagramFileUri);
+ }
+
@Override
public boolean equals(Object obj) {
boolean superEquals = super.equals(obj);
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/FileService.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/FileService.java
index a539747..becf0cb 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/FileService.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/wizards/FileService.java
@@ -206,7 +206,13 @@
try {
if (input instanceof Bpmn2DiagramEditorInput) {
URI uri = getInputUri(input);
- File file = new File(uri.toFileString());
+ String fileName = null;
+ if (uri.isFile())
+ fileName = uri.toFileString();
+ else if (uri.isPlatformResource())
+ fileName = uri.toPlatformString(false);
+
+ File file = new File(fileName);
if (file.exists()) {
InputStream is = new FileInputStream(file);
return is;
@@ -253,7 +259,8 @@
public static String createTempName(String name) {
String tempDir = System.getProperty("java.io.tmpdir");
- return tempDir + name + "." + EcoreUtil.generateUUID();
+ String tempName = tempDir + name + "." + EcoreUtil.generateUUID();
+ return tempName;
}
public static File createTempFile(String name) {