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]].
