fixed flaw with un-encoded diagram URIs and Shortcuts
diff --git a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizard.java index c3e3d8d..9ad4ed0 100644 --- a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizard.java
@@ -124,7 +124,9 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizardPage.java index 4e172ab..7485231 100644 --- a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/part/UMLCreationWizardPage.java
@@ -120,4 +120,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } }
diff --git a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizard.java index f8b29d8..15e3cff 100644 --- a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizardPage.java index 254783d..be833b5 100644 --- a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLCreationWizardPage.java
@@ -118,4 +118,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } } \ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLDiagramEditorUtil.java index e5bb9d3..4b6f26b 100644 --- a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/part/UMLDiagramEditorUtil.java
@@ -1,7 +1,6 @@ package org.eclipse.uml2.diagram.clazz.part; import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; @@ -9,7 +8,6 @@ import java.util.List; import java.util.Map; import java.util.Set; - import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.OperationHistoryFactory; import org.eclipse.core.resources.IFile; @@ -63,8 +61,8 @@ public class UMLDiagramEditorUtil { /** - * @generated - */ + * @generated + */ public static Map<?, ?> getSaveOptions() { HashMap<String, Object> saveOptions = new HashMap<String, Object>(); saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$ @@ -73,8 +71,8 @@ } /** - * @generated - */ + * @generated + */ public static Map getSaveOptions(String encoding) { Map saveOptions = new HashMap(); saveOptions.put(XMLResource.OPTION_ENCODING, encoding == null ? "UTF-8" : encoding); //$NON-NLS-1$ @@ -83,8 +81,8 @@ } /** - * @generated - */ + * @generated + */ public static boolean openDiagram(Resource diagram) throws PartInitException { String path = diagram.getURI().toPlatformString(true); IResource workspaceResource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(path)); @@ -96,8 +94,8 @@ } /** - * @generated - */ + * @generated + */ public static void setCharset(IFile file) { if (file == null) { return; @@ -110,8 +108,8 @@ } /** - * @generated - */ + * @generated + */ public static String getUniqueFileName(IPath containerFullPath, String fileName, String extension) { if (containerFullPath == null) { containerFullPath = new Path(""); //$NON-NLS-1$ @@ -152,16 +150,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { @@ -198,7 +195,7 @@ /** * Create a new instance of domain element associated with canvas. * <!-- begin-user-doc --> - * <!-- end-user-doc --> + * <!-- end-user-doc --> * @generated */ private static Package createInitialModel(EClass initialObject, String diagramName) { @@ -210,7 +207,7 @@ /** * Store model element in the resource. * <!-- begin-user-doc --> - * <!-- end-user-doc --> + * <!-- end-user-doc --> * @generated */ private static void attachModelToResource(Package model, Resource resource) { @@ -220,8 +217,8 @@ } /** - * @generated - */ + * @generated + */ public static void selectElementsInDiagram(IDiagramWorkbenchPart diagramPart, List<EditPart> editParts) { diagramPart.getDiagramGraphicalViewer().deselectAll(); @@ -239,8 +236,8 @@ } /** - * @generated - */ + * @generated + */ private static int findElementsInDiagramByID(DiagramEditPart diagramPart, EObject element, List<EditPart> editPartCollector) { IDiagramGraphicalViewer viewer = (IDiagramGraphicalViewer) diagramPart.getViewer(); final int intialNumOfEditParts = editPartCollector.size(); @@ -280,8 +277,8 @@ } /** - * @generated - */ + * @generated + */ public static View findView(DiagramEditPart diagramEditPart, EObject targetElement, LazyElement2ViewMap lazyElement2ViewMap) { boolean hasStructuralURI = false; if (targetElement.eResource() instanceof XMLResource) { @@ -301,36 +298,37 @@ } /** - * @generated - */ + * XXX This is quite suspicious code (especially editPartTmpHolder) and likely to be removed soon + * @generated + */ public static class LazyElement2ViewMap { /** - * @generated - */ + * @generated + */ private Map<EObject, View> element2ViewMap; /** - * @generated - */ + * @generated + */ private View scope; /** - * @generated - */ + * @generated + */ private Set<? extends EObject> elementSet; /** - * @generated - */ + * @generated + */ public LazyElement2ViewMap(View scope, Set<? extends EObject> elements) { this.scope = scope; this.elementSet = elements; } /** - * @generated - */ + * @generated + */ public final Map<EObject, View> getElement2ViewMap() { if (element2ViewMap == null) { element2ViewMap = new HashMap<EObject, View>(); @@ -350,8 +348,8 @@ } /** - * @generated - */ + * @generated + */ private static boolean buildElement2ViewMap(View parentView, Map<EObject, View> element2ViewMap, Set<? extends EObject> elements) { if (elements.size() == element2ViewMap.size()) { return true; @@ -378,8 +376,8 @@ } //LazyElement2ViewMap /** - * @generated - */ + * @generated + */ public static IFile getFile(URI uri) { if (uri.toString().startsWith("platform:/resource")) { //$NON-NLS-1$ String path = uri.toString().substring("platform:/resource".length()); //$NON-NLS-1$ @@ -392,8 +390,8 @@ } /** - * @generated - */ + * @generated + */ private static void loadDefaultImports(Package model) { ResourceSet resourceSet = model.eResource().getResourceSet(); Model umlLibrary = (Model) resourceSet.getResource(URI.createURI(UMLResource.UML_PRIMITIVE_TYPES_LIBRARY_URI), true).getContents().get(0);
diff --git a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizard.java index e33fef1..61559de 100644 --- a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizardPage.java index 6fa9e46..53fe5d7 100644 --- a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLCreationWizardPage.java
@@ -117,4 +117,11 @@ nextWizardPage.setFileName(fileName); } + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } + } \ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLDiagramEditorUtil.java index ef6a98b..d9bcc4c 100644 --- a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/part/UMLDiagramEditorUtil.java
@@ -152,16 +152,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
diff --git a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizard.java index e5b4664..31e88f3 100644 --- a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizardPage.java index 5075156..372c2e3 100644 --- a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLCreationWizardPage.java
@@ -119,4 +119,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } }
diff --git a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLDiagramEditorUtil.java index 6bc3a66..38cd88f 100644 --- a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/part/UMLDiagramEditorUtil.java
@@ -152,16 +152,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
diff --git a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizard.xpt b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizard.xpt index cba744f..a3ad81a 100644 --- a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizard.xpt +++ b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizard.xpt
@@ -123,11 +123,13 @@ public void run(org.eclipse.core.runtime.IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { «ENDIF-» - diagram = «getDiagramEditorUtilQualifiedClassName()».createDiagram(diagramModelFilePage.getURI(), + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = «getDiagramEditorUtilQualifiedClassName()».createDiagram(diagramModelFilePage.getEncodedURI(), «IF standaloneDomainModel(self)-» - domainModelFilePage.getURI(), + domainModelFilePage.getEncodedURI(), «IF needInitialObject(self)-» - initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), + diagramName, diagramNameWithoutExtension, initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), «ENDIF-» «ENDIF-» monitor);
diff --git a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizardPage.xpt b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizardPage.xpt index f7e95fc..1d15e8a 100644 --- a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizardPage.xpt +++ b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/xpt/editor/CreationWizardPage.xpt
@@ -9,11 +9,11 @@ * Contributors: * Tatiana Fesenko (Borland) - #194187 UMLWizard usability */ -«IMPORT 'http://www.eclipse.org/gmf/2009/GenModel'» -«IMPORT 'http://www.eclipse.org/emf/2002/Ecore'» +«IMPORT 'http://www.eclipse.org/gmf/2009/GenModel'» +«IMPORT 'http://www.eclipse.org/emf/2002/Ecore'» -«AROUND additions FOR gmfgen::GenDiagram» - «EXPAND xpt::Common::generatedMemberComment» +«AROUND additions FOR gmfgen::GenDiagram» + «EXPAND xpt::Common::generatedMemberComment» /** * #174315 Automatically set diagram file extension * @generated @@ -32,7 +32,7 @@ * @generated */ protected void setDomainFileName(org.eclipse.jface.wizard.IWizardPage nextPage) { - «creationWizardPageClassName» nextWizardPage = («creationWizardPageClassName») nextPage; + «creationWizardPageClassName» nextWizardPage = («creationWizardPageClassName») nextPage; String fileName = getFileName(); String extension = getExtension(); if (fileName.endsWith(extension)) { @@ -41,4 +41,13 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } -«ENDAROUND» + + «EXPAND xpt::Common::generatedMemberComment» + public org.eclipse.emf.common.util.URI getEncodedURI() { + «IF editorGen.application = null-» + return org.eclipse.emf.common.util.URI.createPlatformResourceURI(getFilePath().toString(), true); + «ELSE-» + return org.eclipse.emf.common.util.URI.createFileURI(getFilePath().toString()); + «ENDIF-» + } +«ENDAROUND»
diff --git a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/u2t/wizard/InitialObject.xpt b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/u2t/wizard/InitialObject.xpt index 31f99b4..75aa94c 100644 --- a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/u2t/wizard/InitialObject.xpt +++ b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/u2t/wizard/InitialObject.xpt
@@ -63,7 +63,7 @@ «DEFINE createDiagramMethod FOR gmfgen::GenDiagram-» «EXPAND xpt::Common::generatedMemberComment((if editorGen.application = null then 'This method should be called within a workspace modify operation since it creates resources.' else '' endif))» - public static org.eclipse.emf.ecore.resource.Resource createDiagram(org.eclipse.emf.common.util.URI diagramURI,«IF standaloneDomainModel(self)» org.eclipse.emf.common.util.URI modelURI,«ENDIF» «IF needInitialObject(self)»final org.eclipse.emf.ecore.EClass initialObject, final String encoding, «ENDIF»org.eclipse.core.runtime.IProgressMonitor progressMonitor) { + public static org.eclipse.emf.ecore.resource.Resource createDiagram(org.eclipse.emf.common.util.URI diagramURI,«IF standaloneDomainModel(self)» org.eclipse.emf.common.util.URI modelURI,«ENDIF» final String diagramName, final String diagramNameWithoutExtension, «IF needInitialObject(self)»final org.eclipse.emf.ecore.EClass initialObject, final String encoding, «ENDIF»org.eclipse.core.runtime.IProgressMonitor progressMonitor) { org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain = org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(«EXPAND xpt::Externalizer::accessorCall(i18nKeyForCreateDiagramProgressTask(self)) FOR editorGen», 3); final org.eclipse.emf.ecore.resource.Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); @@ -73,10 +73,6 @@ ((org.eclipse.emf.ecore.xmi.XMLResource) diagramResource).getDefaultSaveOptions().put(org.eclipse.emf.ecore.xmi.XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); ((org.eclipse.emf.ecore.xmi.XMLResource) diagramResource).getDefaultLoadOptions().put(org.eclipse.emf.ecore.xmi.XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); «ENDIF-» - final String diagramName = diagramURI.lastSegment(); - «IF needDefaultName(self)-» - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); - «ENDIF-» org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand command = new org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand(editingDomain, «EXPAND xpt::Externalizer::accessorCall(i18nKeyForCreateDiagramCommandLabel(self)) FOR editorGen», java.util.Collections.EMPTY_LIST) { protected org.eclipse.gmf.runtime.common.core.command.CommandResult doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor monitor, org.eclipse.core.runtime.IAdaptable info) throws org.eclipse.core.commands.ExecutionException { «IF domainDiagramElement <> null-»
diff --git a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizard.java index 0d1b70b..1e0c201 100644 --- a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizardPage.java index 9026c83..1a1c682 100644 --- a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLCreationWizardPage.java
@@ -119,4 +119,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } }
diff --git a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLDiagramEditorUtil.java index 0205e31..3140362 100644 --- a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/part/UMLDiagramEditorUtil.java
@@ -152,16 +152,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
diff --git a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizard.java index c8b7a69..52e2b05 100644 --- a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizardPage.java index 84ad670..805994a 100644 --- a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLCreationWizardPage.java
@@ -117,4 +117,11 @@ nextWizardPage.setFileName(fileName); } + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } + } \ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLDiagramEditorUtil.java index ba88a55..1ab57eb 100644 --- a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/part/UMLDiagramEditorUtil.java
@@ -152,16 +152,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
diff --git a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizard.java index 1d2bfbb..af07880 100644 --- a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizard.java
@@ -124,7 +124,9 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizardPage.java index b380207..0e3027d 100644 --- a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/part/UMLCreationWizardPage.java
@@ -120,4 +120,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } }
diff --git a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizard.java b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizard.java index ed2f395..fd9d700 100644 --- a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizard.java +++ b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizard.java
@@ -129,8 +129,10 @@ IRunnableWithProgress op = new WorkspaceModifyOperation(null) { protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException { - diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(), initialObjectCreationPage.getInitialObject(), - initialObjectCreationPage.getEncoding(), monitor); + final String diagramName = diagramModelFilePage.getURI().lastSegment(); + final String diagramNameWithoutExtension = diagramModelFilePage.getURI().trimFileExtension().lastSegment(); + diagram = UMLDiagramEditorUtil.createDiagram(diagramModelFilePage.getEncodedURI(), domainModelFilePage.getEncodedURI(), diagramName, diagramNameWithoutExtension, + initialObjectCreationPage.getInitialObject(), initialObjectCreationPage.getEncoding(), monitor); if (isOpenNewlyCreatedDiagramEditor() && diagram != null) { try { UMLDiagramEditorUtil.openDiagram(diagram);
diff --git a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizardPage.java b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizardPage.java index 952d06d..70137c0 100644 --- a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizardPage.java +++ b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLCreationWizardPage.java
@@ -119,4 +119,11 @@ fileName += nextWizardPage.getExtension(); nextWizardPage.setFileName(fileName); } + + /** + * @generated + */ + public URI getEncodedURI() { + return URI.createPlatformResourceURI(getFilePath().toString(), true); + } }
diff --git a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLDiagramEditorUtil.java b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLDiagramEditorUtil.java index dd54a5d..7d2c2bd 100644 --- a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLDiagramEditorUtil.java +++ b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/part/UMLDiagramEditorUtil.java
@@ -152,16 +152,15 @@ } /** - * This method should be called within a workspace modify operation since it creates resources. - * @generated - */ - public static Resource createDiagram(URI diagramURI, URI modelURI, final EClass initialObject, final String encoding, IProgressMonitor progressMonitor) { + * This method should be called within a workspace modify operation since it creates resources. + * @generated + */ + public static Resource createDiagram(URI diagramURI, URI modelURI, final String diagramName, final String diagramNameWithoutExtension, final EClass initialObject, final String encoding, + IProgressMonitor progressMonitor) { TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain(); progressMonitor.beginTask(Messages.UMLDiagramEditorUtil_CreateDiagramProgressTask, 3); final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI); final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI); - final String diagramName = diagramURI.lastSegment(); - final String diagramNameWithoutExtension = diagramURI.trimFileExtension().lastSegment(); AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, Messages.UMLDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST) { protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {