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]].