Author: thn
Date: 2011-05-23 09:12:54-0700
New Revision: 19494
Modified:
trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
trunk/src/argouml-core-model/src/org/argouml/model/UmlFactory.java
Log:
Fix for issue 6280: UML2:Critic failing when calling profiles
Modified: trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java?view=diff&pathrev=19494&r1=19493&r2=19494
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java (original)
+++ trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java 2011-05-23 09:12:54-0700
@@ -7,7 +7,8 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * tfmorris
+ * Tom Morris
+ * Thomas Neustupny
*****************************************************************************
*
* Some portions of this file was previously release using the BSD License:
@@ -78,7 +79,7 @@
}
Collection elements =
- Model.getUmlFactory().getExtentPackages(publicId.toExternalForm());
+ Model.getUmlFactory().getExtentElements(publicId.toExternalForm());
if (elements == null) {
ZipInputStream zis = null;
try {
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&pathrev=19494&r1=19493&r2=19494
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java 2011-05-23 09:12:54-0700
@@ -24,12 +24,12 @@
import org.apache.log4j.Logger;
import org.argouml.model.AbstractModelFactory;
+import org.argouml.model.Defaults;
import org.argouml.model.IllegalModelElementConnectionException;
import org.argouml.model.InvalidElementException;
import org.argouml.model.MetaTypes;
import org.argouml.model.Model;
import org.argouml.model.UmlFactory;
-import org.argouml.model.Defaults;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
@@ -84,7 +84,6 @@
import org.eclipse.uml2.uml.UMLFactory;
import org.eclipse.uml2.uml.Usage;
import org.eclipse.uml2.uml.UseCase;
-import org.eclipse.uml2.uml.Vertex;
/**
* The implementation of the UmlFactory for EUML2.
@@ -769,7 +768,7 @@
}
}
- public Collection getExtentPackages(String extentName) {
+ public Collection getExtentElements(String extentName) {
if (extentName != null && extentName.startsWith("pathmap://UML_")) {
// trying to get a built-in standard profile from eclipse UML2
try {
@@ -784,4 +783,17 @@
return null;
}
+ public Collection getExtentPackages(String extentName) {
+ Collection elements = getExtentElements(extentName);
+ if (elements != null) {
+ Collection<Object> result = new ArrayList<Object>();
+ for (Object element : elements) {
+ if (element instanceof Package) {
+ result.add(element);
+ }
+ }
+ }
+ return null;
+ }
+
}
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=19494&r1=19493&r2=19494
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java 2011-05-23 09:12:54-0700
@@ -9,6 +9,7 @@
* Contributors:
* Bob Tarling
* Luis Sergio Oliveira (euluis)
+ * Thomas Neustupny
*****************************************************************************
*
* Some portions of this file was previously release using the BSD License:
@@ -1678,6 +1679,10 @@
}
}
+ public Collection getExtentElements(String name) {
+ return getExtentPackages(name);
+ }
+
public Collection getExtentPackages(String name) {
org.omg.uml.UmlPackage pkg = modelImpl.getExtent(name);
if (pkg == null) {
Modified: trunk/src/argouml-core-model/src/org/argouml/model/UmlFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/UmlFactory.java?view=diff&pathrev=19494&r1=19493&r2=19494
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/UmlFactory.java (original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/UmlFactory.java 2011-05-23 09:12:54-0700
@@ -9,6 +9,7 @@
* Contributors:
* Tom Morris
* Bob Tarling
+ * Thomas Neustupny
*******************************************************************************
*
* Some portions of this file was previously release using the BSD License:
@@ -204,6 +205,17 @@
boolean isRemoved(Object o);
/**
+ * Get the top level elements (only packages in UML 1.x) for the given
+ * extent if it is loaded. Returns null if the extent doesn't exist and an
+ * empty collection if it exists, but contains no elements.
+ *
+ * @param extentName the extent name (typically the public ID or URL of the
+ * file which is used for references)
+ * @return a collection of elements if the extent exists, otherwise null
+ */
+ Collection getExtentElements(String extentName);
+
+ /**
* Get the top level packages (typically just a single Model) for the given
* extent if it is loaded. Returns null if the extent doesn't exist and an
* empty collection if it exists, but contains no packages.
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2745973
To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.