svn commit: r18170 - trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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]].
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.