Author: mvw Date: 2009-11-28 00:11:25-0800 New Revision: 17558 Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ExtensionPointsCompartmentContainer.java trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ActionCompartmentDisplay.java trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java
Log: Getting rid of the XxxxCompartmentContainer interfaces (according architecture from Bob). Not complete yet. Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ExtensionPointsCompartmentContainer.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ExtensionPointsCompartmentContainer.java?view=diff&pathrev=17558&r1=17557&r2=17558 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/ExtensionPointsCompartmentContainer.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ExtensionPointsCompartmentContainer.java 2009-11-28 00:11:25-0800 @@ -27,8 +27,12 @@ /** * An interface to be implemented by any Fig that contains * a Extensions Compartment. - * - * @author [email protected] + *...@deprecated in 0.29.2 by MVW. We can't assume at compile time what + * Figs contain what compartments. This is proved in the UML1.4 to UML2 conversion + * where UML1.4 does not want this interface for FigInterface but UML2 does. + * Use FigCompartment.getCompartment(Object metaType) to fetch a compartment + * and check the existence and methods of the returned object. + * @author mvw */ public interface ExtensionPointsCompartmentContainer { Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java?view=diff&pathrev=17558&r1=17557&r2=17558 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java 2009-11-28 00:11:25-0800 @@ -29,6 +29,11 @@ /** * An interface to be implemented by any Fig that contains * a FigOperationsCompartment. + * @deprecated in 0.29.2 by MVW. We can't assume at compile time what + * Figs contain what compartments. This is proved in the UML1.4 to UML2 conversion + * where UML1.4 does not want this interface for FigInterface but UML2 does. + * Use FigCompartment.getCompartment(Object metaType) to fetch a compartment + * and check the existence and methods of the returned object. * @author Bob Tarling */ public interface OperationsCompartmentContainer { Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ActionCompartmentDisplay.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ActionCompartmentDisplay.java?view=diff&pathrev=17558&r1=17557&r2=17558 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ActionCompartmentDisplay.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ActionCompartmentDisplay.java 2009-11-28 00:11:25-0800 @@ -203,8 +203,8 @@ List<Fig> figs = ce.getSelectionManager().getSelectedFigs(); for (Fig f : figs) { - final FigCompartmentBox fcb = (FigCompartmentBox) f; + final FigCompartment attributeCompartment = fcb.getCompartment(Model.getMetaTypes().getAttribute()); if (attributeCompartment != null) { @@ -215,31 +215,32 @@ visible++; } } - if (f instanceof OperationsCompartmentContainer) { + final FigCompartment operationCompartment = + fcb.getCompartment(Model.getMetaTypes().getOperation()); + if (operationCompartment != null) { present++; operPresent = true; - operVisible = - ((OperationsCompartmentContainer) f).isOperationsVisible(); + operVisible = operationCompartment.isVisible(); if (operVisible) { visible++; } } - if (f instanceof ExtensionPointsCompartmentContainer) { + final FigCompartment epCompartment = + fcb.getCompartment(Model.getMetaTypes().getExtensionPoint()); + if (epCompartment != null) { present++; epPresent = true; - epVisible = - ((ExtensionPointsCompartmentContainer) f) - .isExtensionPointsVisible(); + epVisible = epCompartment.isVisible(); if (epVisible) { visible++; } } - if (f instanceof EnumLiteralsCompartmentContainer) { + final FigCompartment elCompartment = + fcb.getCompartment(Model.getMetaTypes().getEnumerationLiteral()); + if (elCompartment != null) { present++; enumPresent = true; - enumVisible = - ((EnumLiteralsCompartmentContainer) f) - .isEnumLiteralsVisible(); + enumVisible = elCompartment.isVisible(); if (enumVisible) { visible++; } Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java?view=diff&pathrev=17558&r1=17557&r2=17558 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java 2009-11-28 00:11:25-0800 @@ -35,6 +35,12 @@ * needs to be refactored into something more general so that we can easily deal * with arbitrary types and numbers of optionally displayed containers. - * tfm - 20060315 + * + * @deprecated in 0.29.2 by MVW. We can't assume at compile time what + * Figs contain what compartments. This is proved in the UML1.4 to UML2 conversion + * where UML1.4 does not want this interface for FigInterface but UML2 does. + * Use FigCompartment.getCompartment(Object metaType) to fetch a compartment + * and check the existence and methods of the returned object. */ public interface EnumLiteralsCompartmentContainer { /** ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2425044 To unsubscribe from this discussion, e-mail: [[email protected]].
