[143746] Enhancing importer to handle *.uml2 and *.xmi files as well.
diff --git a/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.properties b/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.properties
index 8df6069..92b1a09 100644
--- a/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.properties
+++ b/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.properties
@@ -7,7 +7,7 @@
# Contributors:
# IBM - initial API and implementation
#
-# $Id: plugin.properties,v 1.1 2006/02/09 01:25:21 khussey Exp $
+# $Id: plugin.properties,v 1.2 2006/05/25 16:42:17 khussey Exp $
# NLS_MESSAGEFORMAT_VAR
@@ -30,8 +30,8 @@
_UI_UMLModelImporter_description = Creates ecore and genmodel files based on a UML model
_UI_UMLImport_title = UML Import
-_UI_UMLImportFile_description = Choose options, specify one or more '.uml' URIs, and try to load them
-_UI_UMLImportNewProject_description = Choose options, specify one or more '.uml' URIs, try to load them, and choose a target generator model name
+_UI_UMLImportFile_description = Choose options, specify one or more URIs, and try to load them
+_UI_UMLImportNewProject_description = Choose options, specify one or more URIs, try to load them, and choose a target generator model name
_UI_ErrorsWereDetectedUML_message = Problems were detected while validating and converting the UML models
_UI_SpecifyAValidUMLModel_message = Specify a valid UML model and try loading again
diff --git a/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.xml b/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.xml
index 34bf965..3781a09 100644
--- a/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.xml
+++ b/plugins/org.eclipse.uml2.uml.ecore.importer/plugin.xml
@@ -11,7 +11,7 @@
Contributors:
IBM - initial API and implementation
- $Id: plugin.xml,v 1.1 2006/02/09 01:25:21 khussey Exp $
+ $Id: plugin.xml,v 1.2 2006/05/25 16:42:17 khussey Exp $
-->
<plugin>
@@ -21,7 +21,7 @@
id="org.eclipse.uml2.uml.ecore.importer"
name="%_UI_UMLImporter_label"
icon="platform:/plugin/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif"
- extensions="uml"
+ extensions="uml,uml2,xmi"
description="%_UI_UMLModelImporter_description"
wizard="org.eclipse.uml2.uml.ecore.importer.ui.UMLImporterWizard"/>
</extension>
diff --git a/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/UMLImporter.java b/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/UMLImporter.java
index cb1c3f3..d851737 100644
--- a/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/UMLImporter.java
+++ b/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/UMLImporter.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - initial API and implementation
*
- * $Id: UMLImporter.java,v 1.2 2006/04/06 12:56:54 khussey Exp $
+ * $Id: UMLImporter.java,v 1.3 2006/05/25 16:42:17 khussey Exp $
*/
package org.eclipse.uml2.uml.ecore.importer;
@@ -42,7 +42,10 @@
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Stereotype;
import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UML22UMLExtendedMetaData;
+import org.eclipse.uml2.uml.resource.UML22UMLResource;
import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.uml2.uml.resource.XMI2UMLResource;
import org.eclipse.uml2.uml.util.UMLUtil;
public class UMLImporter
@@ -249,7 +252,10 @@
String value = (String) i.next();
- if (value.endsWith('.' + UMLResource.FILE_EXTENSION)) {
+ if (value.endsWith('.' + UMLResource.FILE_EXTENSION)
+ || value.endsWith('.' + UML22UMLResource.FILE_EXTENSION)
+ || value.endsWith('.' + XMI2UMLResource.FILE_EXTENSION)) {
+
text.append(makeAbsolute(URI.createURI(value), genModelURI)
.toString());
text.append(" "); //$NON-NLS-1$
@@ -271,4 +277,21 @@
getOptions());
}
+ public ResourceSet createResourceSet() {
+ ResourceSet resourceSet = super.createResourceSet();
+
+ Map extensionToFactoryMap = resourceSet.getResourceFactoryRegistry()
+ .getExtensionToFactoryMap();
+
+ extensionToFactoryMap.put(UML22UMLResource.FILE_EXTENSION,
+ UML22UMLResource.Factory.INSTANCE);
+ extensionToFactoryMap.put(XMI2UMLResource.FILE_EXTENSION,
+ XMI2UMLResource.Factory.INSTANCE);
+
+ resourceSet.getURIConverter().getURIMap().putAll(
+ UML22UMLExtendedMetaData.getURIMap());
+
+ return resourceSet;
+ }
+
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/ui/UMLImporterDetailPage.java b/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/ui/UMLImporterDetailPage.java
index c6693e7..0fe9cd1 100644
--- a/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/ui/UMLImporterDetailPage.java
+++ b/plugins/org.eclipse.uml2.uml.ecore.importer/src/org/eclipse/uml2/uml/ecore/importer/ui/UMLImporterDetailPage.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - initial API and implementation
*
- * $Id: UMLImporterDetailPage.java,v 1.2 2006/05/18 17:54:28 khussey Exp $
+ * $Id: UMLImporterDetailPage.java,v 1.3 2006/05/25 16:42:17 khussey Exp $
*/
package org.eclipse.uml2.uml.ecore.importer.ui;
@@ -37,7 +37,9 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.uml2.uml.ecore.importer.UMLImporter;
import org.eclipse.uml2.uml.ecore.importer.UMLImporterPlugin;
+import org.eclipse.uml2.uml.resource.UML22UMLResource;
import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.uml2.uml.resource.XMI2UMLResource;
import org.eclipse.uml2.uml.util.UMLUtil;
public class UMLImporterDetailPage
@@ -242,6 +244,8 @@
}
protected String[] getFilterExtensions() {
- return new String[]{"*." + UMLResource.FILE_EXTENSION}; //$NON-NLS-1$
+ return new String[]{
+ "*." + UMLResource.FILE_EXTENSION, "*." + UML22UMLResource.FILE_EXTENSION, "*." + XMI2UMLResource.FILE_EXTENSION}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
+
}
\ No newline at end of file