Author: bobtarling
Date: 2010-03-26 10:03:47-0700
New Revision: 18170

Modified:
   trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java

Log:
Don't use Go rules that break UML2 in UML2 mode

Modified: 
trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java?view=diff&pathrev=18170&r1=18169&r2=18170
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java   
(original)
+++ trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java   
2010-03-26 10:03:47-0700
@@ -47,6 +47,7 @@
 import org.apache.log4j.Logger;
 import org.argouml.application.api.Argo;
 import org.argouml.configuration.Configuration;
+import org.argouml.model.Model;
 import org.argouml.ui.explorer.rules.GoAssocRoleToMessages;
 import org.argouml.ui.explorer.rules.GoBehavioralFeatureToStateDiagram;
 import org.argouml.ui.explorer.rules.GoBehavioralFeatureToStateMachine;
@@ -387,7 +388,11 @@
         packagePerspective.addRule(new GoLinkToStimuli());
         packagePerspective.addRule(new GoStimulusToAction());
         packagePerspective.addRule(new GoClassifierToCollaboration());
-        packagePerspective.addRule(new GoOperationToCollaboration());
+        // TODO: We need a factory pattern for GoXXX classes that can 
determine if they are required
+        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
+            packagePerspective.addRule(new GoOperationToCollaboration());
+            packagePerspective.addRule(new GoOperationToSequenceDiagram());
+        }
         packagePerspective.addRule(new GoModelElementToComment());
         packagePerspective.addRule(new GoCollaborationToDiagram());
         packagePerspective.addRule(new GoModelElementToTemplateParameter());
@@ -406,7 +411,6 @@
         packagePerspective.addRule(new GoStateToEntry());
         packagePerspective.addRule(new GoStateToExit());
         packagePerspective.addRule(new GoClassifierToSequenceDiagram());
-        packagePerspective.addRule(new GoOperationToSequenceDiagram());
         packagePerspective.addRule(new GoClassifierToInstance());
         packagePerspective.addRule(new GoStateToIncomingTrans());
         packagePerspective.addRule(new GoStateToOutgoingTrans());
@@ -560,8 +564,7 @@
             new GoNamespaceToDiagram(), new GoNamespaceToOwnedElements(),
             new GoNodeToResidentComponent(),
             new GoOperationToCollaborationDiagram(),
-            new GoOperationToCollaboration(),
-            new GoOperationToSequenceDiagram(), new GoPackageToClass(),
+            new GoPackageToClass(),
             new GoPackageToElementImport(),
             new GoProjectToCollaboration(), new GoProjectToDiagram(),
             new GoProjectToModel(), new GoProjectToStateMachine(), 
@@ -588,8 +591,25 @@
             new GoUseCaseToExtensionPoint(),
             new GoSubmachineStateToStateMachine(),
         };
+        
+        // TODO: We need a factory pattern for GoXXX classes that can 
determine if they are required
+        PerspectiveRule[] ruleNamesArray14 = {
+            // Enter here go rules only relevant for UML 1.4
+            new GoOperationToCollaboration(),
+            new GoOperationToSequenceDiagram()
+        };
+
+        PerspectiveRule[] ruleNamesArray2 = {
+            // Enter here go rules only relevant for UML 2
+            // empty for now
+        };
 
         rules = Arrays.asList(ruleNamesArray);
+        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
+            rules.addAll(Arrays.asList(ruleNamesArray14));
+        } else {
+            rules.addAll(Arrays.asList(ruleNamesArray2));
+        }
     }
 
     /**

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to