Author: thn
Date: 2010-12-03 01:03:30-0800
New Revision: 18863
Modified:
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementHelperEUMLImpl.java
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementHelper.java
Log:
UML2 only: provide a method for getting root elements that are related to a given model object.
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementHelperEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementHelperEUMLImpl.java?view=diff&pathrev=18863&r1=18862&r2=18863
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementHelperEUMLImpl.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementHelperEUMLImpl.java 2010-12-03 01:03:30-0800
@@ -202,7 +202,20 @@
path.add(modelImpl.getFacade().getName(element));
return path;
}
-
+
+ public List<Object> getRootElements(Object model) {
+ if (model instanceof Model) {
+ List<Object> contents = new ArrayList<Object>();
+ contents.addAll(((Model) model).eResource().getContents());
+ if (!contents.contains(model)) {
+ contents.add(model);
+ }
+ return contents;
+ }
+ throw new IllegalArgumentException(
+ "model must be instance of Model"); //$NON-NLS-1$
+ }
+
public boolean isCyclicOwnership(Object parent, Object child) {
// TODO: Auto-generated method stub
return false;
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java?view=diff&pathrev=18863&r1=18862&r2=18863
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java 2010-12-03 01:03:30-0800
@@ -427,6 +427,13 @@
}
+ public List<Object> getRootElements(Object model) {
+ List<Object> contents = new ArrayList<Object>();
+ contents.add(model);
+ return contents;
+ }
+
+
public boolean isCyclicOwnership(Object parent, Object child) {
return (getOwnerShipPath(parent).contains(child) || parent == child);
}
Modified: trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementHelper.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementHelper.java?view=diff&pathrev=18863&r1=18862&r2=18863
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementHelper.java (original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementHelper.java 2010-12-03 01:03:30-0800
@@ -185,6 +185,21 @@
*/
List<String> getPathList(Object element);
+ /**
+ * Find the root elements in the context of a given model. The model itself
+ * also belongs to the list, so the resulting list cannot be empty.
+ * <p>
+ * Note: in UML 1.x, the model itself is the only element that is returned.
+ * But in UML 2.x, e.g., stereotype applications are also included.
+ * <p>
+ *
+ * @param model
+ * is the model the root elements belong to.
+ * @return A List of elements as described above.
+ * @throws IllegalArgumentException
+ * if model isn't a Model object.
+ */
+ List<Object> getRootElements(Object model);
/**
* Checks if a child for some ownership relationship (as in a
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2687493
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.