svn commit: r13207 - branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java
[email protected] 2 Aug 2007 11:30:47 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: b00__1
Date: 2007-08-02 04:30:47-0700
New Revision: 13207
Modified:
branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java
Log:
The copy method from UMLUtil needs item providers.
Modified: branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java?view=diff&rev=13207&p1=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java&p2=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java&r1=13206&r2=13207
==============================================================================
--- branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java (original)
+++ branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java 2007-08-02 04:30:47-0700
@@ -42,6 +42,8 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
@@ -82,14 +84,19 @@
import org.argouml.model.XmiReader;
import org.argouml.model.XmiWriter;
import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.uml2.common.edit.domain.UML2AdapterFactoryEditingDomain;
import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+import org.eclipse.uml2.uml.edit.providers.UMLReflectiveItemProviderAdapterFactory;
+import org.eclipse.uml2.uml.edit.providers.UMLResourceItemProviderAdapterFactory;
import org.eclipse.uml2.uml.resource.UML22UMLExtendedMetaData;
import org.eclipse.uml2.uml.resource.UML22UMLResource;
import org.eclipse.uml2.uml.resource.UMLResource;
@@ -251,8 +258,6 @@
// org.eclipse.uml2.uml.resource jar plugin.
String path = System.getProperty("eUML.resources"); //$NON-NLS-1$
- ComposedAdapterFactory adapterFactory = null;
-
BasicCommandStack commandStack = new BasicCommandStack() {
@Override
@@ -263,23 +268,19 @@
};
- if (path == null) {
- // TODO: figure out how to use the ItemProviders -
- // delayed until the ArgoEclipse version will be out
-// List<AdapterFactory> factories = new ArrayList<AdapterFactory>();
-// factories.add(new UMLResourceItemProviderAdapterFactory());
-// factories.add(new UMLItemProviderAdapterFactory());
-// factories.add(new EcoreItemProviderAdapterFactory());
-// factories.add(new UMLReflectiveItemProviderAdapterFactory());
-// adapterFactory = new ComposedAdapterFactory(factories);
- }
+ List<AdapterFactory> factories = new ArrayList<AdapterFactory>();
+ factories.add(new UMLResourceItemProviderAdapterFactory());
+ factories.add(new UMLItemProviderAdapterFactory());
+ factories.add(new EcoreItemProviderAdapterFactory());
+ factories.add(new UMLReflectiveItemProviderAdapterFactory());
+ ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
+ factories);
- editingDomain = new UML2AdapterFactoryEditingDomain(adapterFactory,
- commandStack);
+ editingDomain = new UML2AdapterFactoryEditingDomain(
+ adapterFactory, commandStack);
ResourceSet resourceSet = editingDomain.getResourceSet();
- Map<String, Object> extensionToFactoryMap =
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap();
+ Map<String, Object> extensionToFactoryMap = resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap();
Map<URI, URI> uriMap = resourceSet.getURIConverter().getURIMap();
if (path != null) {
@@ -297,23 +298,28 @@
URI uri = URI.createURI("jar:file:" + path + "!/"); //$NON-NLS-1$ //$NON-NLS-2$
LOG.debug("eUML.resource URI --> " + uri); //$NON-NLS-1$
- resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI,
- UMLPackage.eINSTANCE);
- resourceSet.getPackageRegistry().put(EcorePackage.eNS_URI,
- EcorePackage.eINSTANCE);
- extensionToFactoryMap.put(UMLResource.FILE_EXTENSION,
- UMLResource.Factory.INSTANCE);
- uriMap.put(URI.createURI(UMLResource.LIBRARIES_PATHMAP), uri
- .appendSegment("libraries").appendSegment("")); //$NON-NLS-1$ //$NON-NLS-2$
- uriMap.put(URI.createURI(UMLResource.METAMODELS_PATHMAP), uri
- .appendSegment("metamodels").appendSegment("")); //$NON-NLS-1$//$NON-NLS-2$
- uriMap.put(URI.createURI(UMLResource.PROFILES_PATHMAP), uri
- .appendSegment("profiles").appendSegment("")); //$NON-NLS-1$//$NON-NLS-2$
+ resourceSet.getPackageRegistry().put(
+ UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
+ resourceSet.getPackageRegistry().put(
+ EcorePackage.eNS_URI, EcorePackage.eINSTANCE);
+ extensionToFactoryMap.put(
+ UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+ uriMap.put(
+ URI.createURI(UMLResource.LIBRARIES_PATHMAP),
+ uri.appendSegment("libraries").appendSegment("")); //$NON-NLS-1$ //$NON-NLS-2$
+ uriMap.put(
+ URI.createURI(UMLResource.METAMODELS_PATHMAP),
+ uri.appendSegment("metamodels").appendSegment("")); //$NON-NLS-1$//$NON-NLS-2$
+ uriMap.put(
+ URI.createURI(UMLResource.PROFILES_PATHMAP),
+ uri.appendSegment("profiles").appendSegment("")); //$NON-NLS-1$//$NON-NLS-2$
}
- extensionToFactoryMap.put(UML22UMLResource.FILE_EXTENSION,
+ extensionToFactoryMap.put(
+ UML22UMLResource.FILE_EXTENSION,
UML22UMLResource.Factory.INSTANCE);
- extensionToFactoryMap.put(XMI2UMLResource.FILE_EXTENSION,
+ extensionToFactoryMap.put(
+ XMI2UMLResource.FILE_EXTENSION,
XMI2UMLResource.Factory.INSTANCE);
uriMap.putAll(UML22UMLExtendedMetaData.getURIMap());
uriMap.putAll(XMI2UMLExtendedMetaData.getURIMap());