svn commit: r12813 - trunk/src/model-euml/src/org/argouml/model/euml

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2007-06-10 09:00:00-0700
New Revision: 12813

Modified:
   trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java

Log:
Add PrimitiveType.  Implement fallbacks for Expressions.

Modified: trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java?view=diff&rev=12813&p1=trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java&r1=12812&r2=12813
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java	2007-06-10 09:00:00-0700
@@ -30,6 +30,7 @@
 
 import org.argouml.model.AbstractModelFactory;
 import org.argouml.model.CoreFactory;
+import org.argouml.model.NotImplementedException;
 import org.eclipse.uml2.uml.Abstraction;
 import org.eclipse.uml2.uml.AggregationKind;
 import org.eclipse.uml2.uml.Artifact;
@@ -133,7 +134,10 @@
         return null;
     }
 
-    public Object buildAssociationEnd(Object assoc, String name, Object type, Object multi, Object stereo, boolean navigable, Object order, Object aggregation, Object scope, Object changeable, Object visibility) {
+    public Object buildAssociationEnd(Object assoc, String name, Object type,
+            Object multi, Object stereo, boolean navigable, Object order,
+            Object aggregation, Object scope, Object changeable,
+            Object visibility) {
         // TODO Auto-generated method stub
         return null;
     }
@@ -206,7 +210,8 @@
 
     public Object buildComment(Object element, Object model) {
         if (model == null) {
-            throw new IllegalArgumentException("A namespace must be supplied.");
+            throw new IllegalArgumentException(
+                    "A namespace must be supplied."); //$NON-NLS-1$
         }
         Element elementToAnnotate = (Element) element;
         // TODO: This actually creates the Comment as owned by
@@ -261,14 +266,17 @@
         return ((Enumeration) enumeration).createOwnedLiteral(name);
     }
 
-    public Generalization buildGeneralization(Object child, Object parent, String name) {
-        // TODO: Generalizations are unnamed in UML 2.x
+    @SuppressWarnings("deprecation")
+    public Generalization buildGeneralization(Object child, Object parent,
+            String name) {
+        // Generalizations are unnamed in UML 2.x
         return buildGeneralization(parent, child);
     }
 
     public Generalization buildGeneralization(Object child, Object parent) {
         Generalization generalization =
-            ((BehavioredClassifier) child).createGeneralization((Classifier) parent);
+                ((BehavioredClassifier) child)
+                        .createGeneralization((Classifier) parent);
         return generalization;
     }
 
@@ -297,7 +305,8 @@
         return null;
     }
 
-    public Operation buildOperation(Object classifier, Object model, Object returnType) {
+    public Operation buildOperation(Object classifier, Object model,
+            Object returnType) {
         // TODO Auto-generated method stub
         return null;
     }
@@ -307,7 +316,8 @@
         return null;
     }
 
-    public Operation buildOperation(Object cls, Object model, Object returnType, String name) {
+    public Operation buildOperation(Object cls, Object model,
+            Object returnType, String name) {
         // TODO Auto-generated method stub
         return null;
     }
@@ -473,14 +483,19 @@
         return UMLFactory.eINSTANCE.createPackageImport();
     }
 
+    @SuppressWarnings("deprecation")
     public Object createPrimitive() {
-        // TODO Auto-generated method stub
-        return null;
+        return createPrimitiveType();
     }
 
+    public Object createPrimitiveType() {
+        return UMLFactory.eINSTANCE.createPrimitiveType();
+    }
+    
+    @SuppressWarnings("deprecation")
     public Object createProgrammingLanguageDataType() {
-        // TODO Auto-generated method stub
-        return null;
+        // Removed from UML 2.x & unused by ArgoUML.
+        throw new NotImplementedException();
     }
 
     public Object createTemplateArgument() {

Modified: trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java?view=diff&rev=12813&p1=trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java&r1=12812&r2=12813
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/DataTypesFactoryEUMLImpl.java	2007-06-10 09:00:00-0700
@@ -32,6 +32,8 @@
 import org.argouml.model.DataTypesFactory;
 import org.argouml.model.NotImplementedException;
 import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.UMLFactory;
 
 /**
  * The implementation of the DataTypesFactory for EUML2.
@@ -54,33 +56,35 @@
     }
 
     public Object createActionExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createArgListsExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createBooleanExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
-    public Expression createExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+    public OpaqueExpression createExpression(String language, String body) {
+        // TODO: We can choose between something which matches UML 1.4 in name
+        // or something that matches in functionality.  We've chosen
+        // functionality for now, but this will create a name conflict during
+        // the migration process. - tfm
+        OpaqueExpression expression =
+                UMLFactory.eINSTANCE.createOpaqueExpression();
+        expression.getLanguages().add(language);
+        expression.getBodies().add(body);
+        return expression;
     }
 
     public Object createIterationExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createMappingExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     
@@ -108,23 +112,19 @@
     }
 
     public Object createObjectSetExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createProcedureExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createTimeExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     public Object createTypeExpression(String language, String body) {
-        // TODO Auto-generated method stub
-        return null;
+        return createExpression(language, body);
     }
 
     /**

Modified: trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&rev=12813&p1=trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java&r1=12812&r2=12813
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	2007-06-10 09:00:00-0700
@@ -83,11 +83,13 @@
 import org.eclipse.uml2.uml.Node;
 import org.eclipse.uml2.uml.ObjectFlow;
 import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.OpaqueExpression;
 import org.eclipse.uml2.uml.Operation;
 import org.eclipse.uml2.uml.OutputPin;
 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;
 import org.eclipse.uml2.uml.Pseudostate;
 import org.eclipse.uml2.uml.PseudostateKind;
@@ -1192,8 +1194,8 @@
     }
 
     public boolean isAActionExpression(Object handle) {
-        throw new NotYetImplementedException();
-
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isAActionSequence(Object handle) {
@@ -1222,7 +1224,8 @@
     }
 
     public boolean isAArgListsExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isAArgument(Object modelElement) {
@@ -1281,7 +1284,8 @@
     }
 
     public boolean isABooleanExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isACallAction(Object handle) {
@@ -1410,7 +1414,9 @@
     }
 
     public boolean isAExpression(Object handle) {
-        return handle instanceof Expression;
+        return handle instanceof Expression
+                // below for UML 1.4 compatibility
+                || handle instanceof OpaqueExpression;
     }
 
     public boolean isAExtend(Object handle) {
@@ -1471,7 +1477,8 @@
     }
 
     public boolean isAIterationExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isALink(Object handle) {
@@ -1494,7 +1501,8 @@
     }
 
     public boolean isAMappingExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isAMessage(Object handle) {
@@ -1558,7 +1566,8 @@
     }
 
     public boolean isAObjectSetExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isAOperation(Object handle) {
@@ -1581,18 +1590,24 @@
         return handle instanceof PackageImport;
     }
 
+    @SuppressWarnings("deprecation")
     public boolean isAPrimitive(Object handle) {
-        // TODO: Not in UML 2.x
-        return false;
+        return isAPrimitiveType(handle);
     }
 
+    public boolean isAPrimitiveType(Object handle) {
+        return handle instanceof PrimitiveType;
+    }
+    
     public boolean isAProcedureExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
+    @SuppressWarnings("deprecation")
     public boolean isAProgrammingLanguageDataType(Object handle) {
-        // TODO: Not in UML 2.x
-        return false;
+        // TODO: Not in UML 2.x.  Fall back to PrimitiveType.
+        return isAPrimitiveType(handle);
     }
 
     public boolean isAPseudostate(Object handle) {
@@ -1722,7 +1737,8 @@
     }
 
     public boolean isATimeExpression(Object handle) {
-        return handle instanceof TimeExpression;
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isATransition(Object handle) {
@@ -1730,7 +1746,8 @@
     }
 
     public boolean isATypeExpression(Object handle) {
-        throw new NotYetImplementedException();
+        // TODO: Fallback for UML 1.4
+        return isAExpression(handle);
     }
 
     public boolean isAUMLElement(Object handle) {
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.