svn commit: r17392 - trunk/src: argouml-core-model-euml/src/org/argouml/model/euml argouml-core-model-mdr/src/org/argouml/model/mdr argouml-core-model/src/org/argouml/model

Thomas Neustupny <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: thn
Date: 2009-10-10 06:41:31-0700
New Revision: 17392

Modified:
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementFactoryMDRImpl.java
   trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementFactory.java

Log:
add createProfile method in the model facade (and MDR&eUML implementations)

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java?view=diff&pathrev=17392&r1=17391&r2=17392
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java	2009-10-10 06:41:31-0700
@@ -35,6 +35,7 @@
 import org.eclipse.uml2.uml.ElementImport;
 import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
 import org.eclipse.uml2.uml.PackageableElement;
 import org.eclipse.uml2.uml.UMLFactory;
 
@@ -52,7 +53,7 @@
     
     private EditingDomain editingDomain;
     
-    private org.eclipse.uml2.uml.Package theRootModel;
+    private Package theRootModel;
 
     /**
      * Constructor.
@@ -92,9 +93,8 @@
     }
 
 
-    public org.eclipse.uml2.uml.Package buildPackage(String name) {
-        org.eclipse.uml2.uml.Package pkg =
-                (org.eclipse.uml2.uml.Package) createPackage();
+    public Package buildPackage(String name) {
+        Package pkg = (Package) createPackage();
         if (name != null) {
             pkg.setName(name);
         }
@@ -117,10 +117,14 @@
         return UMLFactory.eINSTANCE.createModel();
     }
 
-    public org.eclipse.uml2.uml.Package createPackage() {
+    public Package createPackage() {
         return UMLFactory.eINSTANCE.createPackage();
     }
 
+    public Package createProfile() {
+        return UMLFactory.eINSTANCE.createProfile();
+    }
+
     @Deprecated
     public Object createSubsystem() {
         // Removed from UML 2
@@ -135,7 +139,7 @@
         // Better yet add a new method to Model API to create a new top level 
         // project/model/xmi file so we don't depend on side effects
         if (rootModel != null 
-                && !(rootModel instanceof org.eclipse.uml2.uml.Package)) {
+                && !(rootModel instanceof Package)) {
             throw new IllegalArgumentException(
                     "The rootModel supplied must be a Package. Got a " //$NON-NLS-1$
                     + rootModel.getClass().getName());
@@ -143,7 +147,7 @@
 	if (theRootModel != null && theRootModel.eResource() != null) {
 	    EcoreUtil.remove(theRootModel);
 	}
-        theRootModel = (org.eclipse.uml2.uml.Package) rootModel;
+        theRootModel = (Package) rootModel;
 	if (rootModel != null) {
             Resource r = UMLUtil.getResource(modelImpl, UMLUtil.DEFAULT_URI, 
                     Boolean.FALSE);
@@ -152,7 +156,7 @@
         modelImpl.getModelEventPump().setRootContainer(theRootModel);
     }
 
-    public org.eclipse.uml2.uml.Package getRootModel() {
+    public Package getRootModel() {
         return theRootModel;
     }
 

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementFactoryMDRImpl.java?view=diff&pathrev=17392&r1=17391&r2=17392
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementFactoryMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementFactoryMDRImpl.java	2009-10-10 06:41:31-0700
@@ -30,6 +30,7 @@
 import org.argouml.model.ModelManagementFactory;
 import org.omg.uml.foundation.core.ModelElement;
 import org.omg.uml.foundation.core.Namespace;
+import org.omg.uml.foundation.core.Stereotype;
 import org.omg.uml.modelmanagement.ElementImport;
 import org.omg.uml.modelmanagement.Model;
 import org.omg.uml.modelmanagement.ModelManagementPackage;
@@ -139,7 +140,6 @@
                 + "Package and a ModelElement.");
     }
 
-
     public UmlPackage createPackage() {
         UmlPackage myUmlPackage =
             getModelManagementPackage().getUmlPackage().createUmlPackage();
@@ -147,6 +147,16 @@
         return myUmlPackage;
     }
 
+    public Model createProfile() {
+        Model profile = createModel();
+        // apply <<profile>> stereotype to make it a "profile" (our convention)
+        // (hack: create that stereotype instead using the UML 1.4 profile)
+        Stereotype stereo =
+            (Stereotype)modelImpl.getExtensionMechanismsFactory()
+                .buildStereotype("profile", profile);
+        profile.getStereotype().add(stereo);
+        return profile;
+    }
 
     public Object buildPackage(String name) {
         UmlPackage pkg = createPackage();
@@ -154,7 +164,6 @@
         return pkg;
     }
     
-
     public Object createSubsystem() {
         Subsystem mySubsystem =
             getModelManagementPackage().getSubsystem().createSubsystem();

Modified: trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementFactory.java?view=diff&pathrev=17392&r1=17391&r2=17392
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementFactory.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/ModelManagementFactory.java	2009-10-10 06:41:31-0700
@@ -85,6 +85,12 @@
      */
     Object createPackage();
 
+    /**
+     * Create an empty but initialized instance of a Profile.
+     *
+     * @return an initialized Profile instance.
+     */
+    Object createProfile();
 
     /**
      * Build an empty but initialized instance of a UML Package

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2405860

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.