svn commit: r19382 - 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

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2011-05-09 05:40:09-0700
New Revision: 19382

Modified:
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/StateMachinesHelperEUMLImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/StateMachinesHelperMDRImpl.java
   trunk/src/argouml-core-model/src/org/argouml/model/AbstractStateMachinesHelperDecorator.java
   trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
   trunk/src/argouml-core-model/src/org/argouml/model/StateMachinesHelper.java

Log:
Add UML2 support for regions and orthogonal states

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	2011-05-09 05:40:09-0700
@@ -2383,6 +2383,10 @@
         throw new NotYetImplementedException();
     }
 
+    public boolean isOrthogonal(Object handle) {
+        return ((State) handle).isOrthogonal();
+    }
+
     public boolean isConstructor(Object handle) {
         if (handle instanceof Operation) {
             final Operation operation = (Operation) handle;

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/StateMachinesHelperEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/StateMachinesHelperEUMLImpl.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/StateMachinesHelperEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/StateMachinesHelperEUMLImpl.java	2011-05-09 05:40:09-0700
@@ -1,6 +1,6 @@
 // $Id$
 /*******************************************************************************
- * Copyright (c) 2007,2010 Tom Morris and other contributors
+ * Copyright (c) 2007-2011 Tom Morris and other contributors
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,16 +8,19 @@
  *
  * Contributors:
  *    Tom Morris - initial framework 
+ *    Bob Tarling
  *******************************************************************************/
 package org.argouml.model.euml;
 
 import java.util.Collection;
-import org.apache.log4j.Logger;
+import java.util.List;
+
 import org.argouml.model.Model;
 import org.argouml.model.StateMachinesHelper;
 import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.Region;
 import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
 import org.eclipse.uml2.uml.Transition;
 import org.eclipse.uml2.uml.Vertex;
 
@@ -31,9 +34,6 @@
      */
     private EUMLModelImplementation modelImpl;
 
-    private static final Logger LOG =
-        Logger.getLogger(StateMachinesHelperEUMLImpl.class);
-    
     /**
      * Constructor.
      * 
@@ -109,6 +109,15 @@
         throw new NotYetImplementedException();
 
     }
+    
+    public List getRegions(Object handle) {
+        if (handle instanceof StateMachine) {
+            ((StateMachine) handle).getRegions();
+        } else if (handle instanceof State) {
+            ((State) handle).getRegions();
+        }
+        throw new IllegalArgumentException();
+    }
 
     public Object getSource(Object trans) {
         if (trans instanceof Transition) {
@@ -119,8 +128,9 @@
 
     public Object getStateMachine(Object handle) {
         if (handle == null) {
-            throw new IllegalArgumentException("bad argument to "
-                    + "getStateMachine() - " + handle);
+            throw new IllegalArgumentException(
+                    "bad argument to getStateMachine() - " //$NON-NLS-1$
+                    + handle);
         }
         Object container =
             modelImpl.getFacade().getModelElementContainer(handle);

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java	2011-05-09 05:40:09-0700
@@ -1,6 +1,6 @@
 /* $Id$
  *******************************************************************************
- * Copyright (c) 2005,2010 Contributors - see below
+ * Copyright (c) 2005-2011 Contributors - see below
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,7 +10,8 @@
  *    Linus Tolke - initial framework implementation
  *    <see source control change log for other early contributors>
  *    Ludovic Maitre - UML 1.4
- *    Tom Morris - UML 1.4 
+ *    Tom Morris - UML 1.4
+ *    Bob Tarling
  *    
  *******************************************************************************
  */
@@ -1046,6 +1047,10 @@
         return illegalArgumentBoolean(handle);
     }
 
+    public boolean isOrthogonal(Object handle) {
+        throw new NotImplementedException(
+                "Orthogonal is not a UML1.4 property");
+    }
 
     public boolean isPrimaryObject(Object handle) {
         try {

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/StateMachinesHelperMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/StateMachinesHelperMDRImpl.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/StateMachinesHelperMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/StateMachinesHelperMDRImpl.java	2011-05-09 05:40:09-0700
@@ -73,6 +73,7 @@
 import org.omg.uml.foundation.datatypes.Expression;
 import org.omg.uml.foundation.datatypes.TimeExpression;
 import org.omg.uml.modelmanagement.UmlPackage;
+import org.openide.util.NotImplementedException;
 
 /**
  * The State Machines Helper Implementation for MDR.
@@ -243,6 +244,10 @@
         }
     }
 
+    public List getRegions(Object handle) {
+        throw new NotImplementedException("Region is not a UML1.4 metatype");
+    }
+
 
     public Collection<StateVertex> getOutgoingStates(Object ostatevertex) {
         try {

Modified: trunk/src/argouml-core-model/src/org/argouml/model/AbstractStateMachinesHelperDecorator.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/AbstractStateMachinesHelperDecorator.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/AbstractStateMachinesHelperDecorator.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/AbstractStateMachinesHelperDecorator.java	2011-05-09 05:40:09-0700
@@ -39,6 +39,7 @@
 package org.argouml.model;
 
 import java.util.Collection;
+import java.util.List;
 
 /**
  * An abstract Decorator for the {@link StateMachinesHelper}.
@@ -104,6 +105,10 @@
     public Collection getAllPossibleSubvertices(Object oState) {
         return impl.getAllPossibleSubvertices(oState);
     }
+    
+    public List getRegions(Object handle) {
+        return impl.getRegions(handle);
+    }
 
     public void setStatemachineAsSubmachine(Object oSubmachineState,
             Object oStatemachine) {

Modified: trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/Facade.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/Facade.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/Facade.java	2011-05-09 05:40:09-0700
@@ -1361,6 +1361,14 @@
      * @return true if handle is navigable
      */
     boolean isNavigable(Object handle);
+    
+    /**
+     * Recognizer for orthogonal state.
+     *
+     * @param handle the state
+     * @return true if orthogonal.
+     */
+    boolean isOrthogonal(Object handle);
 
     /**
      * Recognizer for primary objects. A primary object is an object that is

Modified: trunk/src/argouml-core-model/src/org/argouml/model/StateMachinesHelper.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/StateMachinesHelper.java?view=diff&pathrev=19382&r1=19381&r2=19382
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/StateMachinesHelper.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/StateMachinesHelper.java	2011-05-09 05:40:09-0700
@@ -40,6 +40,7 @@
 package org.argouml.model;
 
 import java.util.Collection;
+import java.util.List;
 
 /**
  * The interface for the helper for StateMachines.<p>
@@ -159,6 +160,15 @@
     Object getTop(Object sm);
 
     /**
+     * Get the regions of a state or statemachine.<p>
+     *
+     * @param hanlde the given state or statemachine
+     * @return the regions
+     */
+    List getRegions(Object handle);
+
+    
+    /**
      * Gets all statevertices that are a target to transitions
      * outgoing from the given statevertex.<p>
      *

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

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.