Author: thn
Date: 2010-06-07 00:17:07-0700
New Revision: 18435
Modified:
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
Log:
UML2: implementation for Artifact and Manifestation related methods
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java?view=diff&pathrev=18435&r1=18434&r2=18435
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java 2010-06-07 00:17:07-0700
@@ -10,6 +10,7 @@
* Tom Morris - initial implementation
* Bogdan Pistol - undo support & large piece of initial implementation
* bobtarling
+ * Thomas Neustupny
*****************************************************************************/
package org.argouml.model.euml;
@@ -39,6 +40,7 @@
import org.eclipse.uml2.uml.Generalization;
import org.eclipse.uml2.uml.Interface;
import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Manifestation;
import org.eclipse.uml2.uml.MultiplicityElement;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Namespace;
@@ -46,6 +48,7 @@
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.Parameter;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.Property;
@@ -828,6 +831,17 @@
return (Interface) run.getParams().get(0);
}
+ public Object buildManifestation(Object utilizedElement) {
+ if (!(utilizedElement instanceof PackageableElement)) {
+ throw new IllegalArgumentException(
+ "The utilized element must be an instance of PackageableElement."); //$NON-NLS-1$
+ }
+ Manifestation m = UMLFactory.eINSTANCE.createManifestation();
+ m.setName(((PackageableElement) utilizedElement).getName() + " manifestation");
+ m.setUtilizedElement((PackageableElement) utilizedElement);
+ return m;
+ }
+
public Object buildMethod(String name) {
// in UML2, we model a method as a Behavior (initially OpaqueBehavior)
OpaqueBehavior method = UMLFactory.eINSTANCE.createOpaqueBehavior();
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java?view=diff&pathrev=18435&r1=18434&r2=18435
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java 2010-06-07 00:17:07-0700
@@ -9,7 +9,7 @@
* Contributors:
* Tom Morris - initial framework & prototype implementation
* Bogdan Pistol - initial implementation
- * thn
+ * Thomas Neustupny
*****************************************************************************/
package org.argouml.model.euml;
@@ -33,6 +33,7 @@
import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Artifact;
import org.eclipse.uml2.uml.Association;
import org.eclipse.uml2.uml.Behavior;
import org.eclipse.uml2.uml.BehavioralFeature;
@@ -49,12 +50,14 @@
import org.eclipse.uml2.uml.Feature;
import org.eclipse.uml2.uml.Generalization;
import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Manifestation;
import org.eclipse.uml2.uml.MultiplicityElement;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.Node;
import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.Parameter;
import org.eclipse.uml2.uml.ParameterDirectionKind;
import org.eclipse.uml2.uml.Property;
@@ -325,6 +328,19 @@
literal, handle));
}
+ public void addManifestation(Object handle, Object manifestation) {
+ if (!(handle instanceof Artifact)) {
+ throw new IllegalArgumentException(
+ "The handle must be instance of Artifact"); //$NON-NLS-1$
+ }
+ if (!(manifestation instanceof Manifestation)) {
+ throw new IllegalArgumentException(
+ "The manifestation must be instance of Manifestation"); //$NON-NLS-1$
+ }
+ ((Artifact) handle).getManifestations()
+ .add((Manifestation) manifestation);
+ }
+
public void addMethod(final Object handle, final Object method) {
// In UML2.x there is no metaclass named Method, but we use the
// 'method' association of BehavioralFeature
@@ -840,6 +856,21 @@
return ((Classifier) achild).getGeneralization((Classifier) aparent);
}
+ public Collection<PackageableElement> getUtilizedElements(Object artifact) {
+ if (!(artifact instanceof Artifact)) {
+ throw new IllegalArgumentException(
+ "'artifact' must be instance of Artifact"); //$NON-NLS-1$
+ }
+ Collection<PackageableElement> c = new ArrayList<PackageableElement>();
+ for (Manifestation m : ((Artifact) artifact).getManifestations()) {
+ PackageableElement pe = m.getUtilizedElement();
+ if (pe != null) {
+ c.add(pe);
+ }
+ }
+ return c;
+ }
+
public Collection<Operation> getOperationsInh(Object classifier) {
if (!(classifier instanceof Classifier)) {
throw new IllegalArgumentException(
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2617858
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.