diff options
author | skovalsky | 2015-05-25 19:27:00 +0000 |
---|---|---|
committer | Remi Schnekenburger | 2015-05-26 10:12:20 +0000 |
commit | 06dde65b329361297722e45a35cea985a5e34d7a (patch) | |
tree | 521f095a0ba0479489b75b9f56b18d4f075e3cf0 | |
parent | 027cc4f89c83b52a59d8a740fc5dab67a9e6a1a8 (diff) | |
download | org.eclipse.papyrus-06dde65b329361297722e45a35cea985a5e34d7a.tar.gz org.eclipse.papyrus-06dde65b329361297722e45a35cea985a5e34d7a.tar.xz org.eclipse.papyrus-06dde65b329361297722e45a35cea985a5e34d7a.zip |
Bug 462248 - Multiplicity of associations shown in diagrams should not
be between square brackets
- maskManaged policy fix version
Change-Id: I710fa3d8208c64fa6d2165c75226d1d1435b8142
Signed-off-by: skovalsky <kovalsky@montages.com>
Reviewed-on: https://git.eclipse.org/r/48559
Tested-by: Hudson CI
Reviewed-by: Michael Golubev <golubev@montages.com>
Reviewed-by: Remi Schnekenburger <remi.schnekenburger@cea.fr>
11 files changed, 118 insertions, 8 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationBranchEndEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationBranchEndEditPolicy.java index e74a056a9de..1c7ae487c37 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationBranchEndEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationBranchEndEditPolicy.java @@ -14,6 +14,7 @@ package org.eclipse.papyrus.uml.diagram.common.editpolicies;
import org.eclipse.papyrus.uml.diagram.common.helper.AssociationBranchEndLabelHelper;
+import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
/**
* Mask Managed label edit policy for association ends (target role)
@@ -34,6 +35,15 @@ public class DisplayAssociationBranchEndEditPolicy extends DisplayAssociationEnd */
public DisplayAssociationBranchEndEditPolicy() {
super();
- propertyLabelHelper = AssociationBranchEndLabelHelper.getInstance();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.DisplayAssociationEndEditPolicy#createPropertyLabelHelper()
+ *
+ * @return
+ */
+ @Override
+ protected PropertyLabelHelper createPropertyLabelHelper() {
+ return AssociationBranchEndLabelHelper.getInstance();
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndEditPolicy.java index 8338126ed98..ac1549752bf 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndEditPolicy.java @@ -34,16 +34,17 @@ import org.eclipse.uml2.uml.UMLPackage; /**
* I is used to display the label of an association branch
*/
-public class DisplayAssociationEndEditPolicy extends AbstractMaskManagedEditPolicy {
+public abstract class DisplayAssociationEndEditPolicy extends AbstractMaskManagedEditPolicy {
/** label helper for the property */
- protected PropertyLabelHelper propertyLabelHelper;
+ private final PropertyLabelHelper propertyLabelHelper;
/**
* Creates a new PropertyLabelEditPolicy
*/
public DisplayAssociationEndEditPolicy() {
super();
+ propertyLabelHelper = createPropertyLabelHelper();
}
@Override
@@ -160,7 +161,7 @@ public class DisplayAssociationEndEditPolicy extends AbstractMaskManagedEditPoli break;
case UMLPackage.PROPERTY__TYPE:
switch (notification.getEventType()) {
- // if it is added => adds listener to the type element
+ // if it is added => adds listener to the type element
case Notification.ADD:
getDiagramEventBroker().addNotificationListener((EObject) notification.getNewValue(), this);
refreshDisplay();
@@ -250,6 +251,9 @@ public class DisplayAssociationEndEditPolicy extends AbstractMaskManagedEditPoli getDiagramEventBroker().removeNotificationListener(getUMLElement().getType(), this);
}
}
+
+ protected abstract PropertyLabelHelper createPropertyLabelHelper();
+
// /**
// * {@inheritDoc}
// */
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceEditPolicy.java index a1e80050618..9b4dc1e0b52 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceEditPolicy.java @@ -14,6 +14,7 @@ package org.eclipse.papyrus.uml.diagram.common.editpolicies;
import org.eclipse.papyrus.uml.diagram.common.helper.AssociationEndSourceLabelHelper;
+import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
/**
* Mask Managed label edit policy for association ends (source role)
@@ -34,6 +35,15 @@ public class DisplayAssociationEndSourceEditPolicy extends DisplayAssociationEnd */
public DisplayAssociationEndSourceEditPolicy() {
super();
- propertyLabelHelper = AssociationEndSourceLabelHelper.getInstance();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.DisplayAssociationEndEditPolicy#createPropertyLabelHelper()
+ *
+ * @return
+ */
+ @Override
+ protected PropertyLabelHelper createPropertyLabelHelper() {
+ return AssociationEndSourceLabelHelper.getInstance();
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceMultiplicityEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceMultiplicityEditPolicy.java index cc0c6ac55e4..56ea86d29b8 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceMultiplicityEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndSourceMultiplicityEditPolicy.java @@ -16,6 +16,8 @@ package org.eclipse.papyrus.uml.diagram.common.editpolicies; import java.util.Collection;
import java.util.Collections;
+import org.eclipse.papyrus.uml.diagram.common.helper.AssociationEndSourceMultiplicityLabelHelper;
+import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
import org.eclipse.papyrus.uml.tools.utils.ICustomAppearance;
/**
@@ -31,6 +33,16 @@ public class DisplayAssociationEndSourceMultiplicityEditPolicy extends DisplayAs */
@Override
public Collection<String> getDefaultDisplayValue() {
- return Collections.singleton(ICustomAppearance.DISP_MULTIPLICITY);
+ return Collections.singleton(ICustomAppearance.DISP_MULTIPLICITY_NO_BRACKETS);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.DisplayAssociationEndEditPolicy#createPropertyLabelHelper()
+ *
+ * @return
+ */
+ @Override
+ protected PropertyLabelHelper createPropertyLabelHelper() {
+ return AssociationEndSourceMultiplicityLabelHelper.getInstance();
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetEditPolicy.java index 23e0ede0713..d31b81588dd 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetEditPolicy.java @@ -14,6 +14,7 @@ package org.eclipse.papyrus.uml.diagram.common.editpolicies;
import org.eclipse.papyrus.uml.diagram.common.helper.AssociationEndTargetLabelHelper;
+import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
/**
* Mask Managed label edit policy for association ends (target role)
@@ -34,6 +35,15 @@ public class DisplayAssociationEndTargetEditPolicy extends DisplayAssociationEnd */
public DisplayAssociationEndTargetEditPolicy() {
super();
- propertyLabelHelper = AssociationEndTargetLabelHelper.getInstance();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.DisplayAssociationEndEditPolicy#createPropertyLabelHelper()
+ *
+ * @return
+ */
+ @Override
+ protected PropertyLabelHelper createPropertyLabelHelper() {
+ return AssociationEndTargetLabelHelper.getInstance();
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetMultiplicityEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetMultiplicityEditPolicy.java index 309ce17ba9e..fb87645288c 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetMultiplicityEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/DisplayAssociationEndTargetMultiplicityEditPolicy.java @@ -16,6 +16,8 @@ package org.eclipse.papyrus.uml.diagram.common.editpolicies; import java.util.Collection;
import java.util.Collections;
+import org.eclipse.papyrus.uml.diagram.common.helper.AssociationEndTargetMultiplicityLabelHelper;
+import org.eclipse.papyrus.uml.diagram.common.helper.PropertyLabelHelper;
import org.eclipse.papyrus.uml.tools.utils.ICustomAppearance;
/**
@@ -31,6 +33,16 @@ public class DisplayAssociationEndTargetMultiplicityEditPolicy extends DisplayAs */
@Override
public Collection<String> getDefaultDisplayValue() {
- return Collections.singleton(ICustomAppearance.DISP_MULTIPLICITY);
+ return Collections.singleton(ICustomAppearance.DISP_MULTIPLICITY_NO_BRACKETS);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.DisplayAssociationEndEditPolicy#createPropertyLabelHelper()
+ *
+ * @return
+ */
+ @Override
+ protected PropertyLabelHelper createPropertyLabelHelper() {
+ return AssociationEndTargetMultiplicityLabelHelper.getInstance();
}
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndSourceMultiplicityLabelHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndSourceMultiplicityLabelHelper.java new file mode 100644 index 00000000000..811956e6769 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndSourceMultiplicityLabelHelper.java @@ -0,0 +1,20 @@ +package org.eclipse.papyrus.uml.diagram.common.helper;
+
+import java.util.Map;
+
+public class AssociationEndSourceMultiplicityLabelHelper extends AssociationEndSourceLabelHelper {
+
+ private static AssociationEndSourceMultiplicityLabelHelper labelHelper;
+
+ public static AssociationEndSourceMultiplicityLabelHelper getInstance() {
+ if (labelHelper == null) {
+ labelHelper = new AssociationEndSourceMultiplicityLabelHelper();
+ }
+ return labelHelper;
+ }
+
+ @Override
+ protected void setupMasks(Map<String, String> masks) {
+ // masks list is empty for the single multiplicity symbol
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndTargetMultiplicityLabelHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndTargetMultiplicityLabelHelper.java new file mode 100644 index 00000000000..a7b2e66e3b4 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/AssociationEndTargetMultiplicityLabelHelper.java @@ -0,0 +1,20 @@ +package org.eclipse.papyrus.uml.diagram.common.helper;
+
+import java.util.Map;
+
+public class AssociationEndTargetMultiplicityLabelHelper extends AssociationEndTargetLabelHelper {
+
+ private static AssociationEndTargetMultiplicityLabelHelper labelHelper;
+
+ public static AssociationEndTargetMultiplicityLabelHelper getInstance() {
+ if (labelHelper == null) {
+ labelHelper = new AssociationEndTargetMultiplicityLabelHelper();
+ }
+ return labelHelper;
+ }
+
+ @Override
+ protected void setupMasks(Map<String, String> masks) {
+ // masks list is empty for the single multiplicity symbol
+ }
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/PropertyLabelHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/PropertyLabelHelper.java index 07d3d42a4b1..62a2e0f25c7 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/PropertyLabelHelper.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/helper/PropertyLabelHelper.java @@ -46,6 +46,10 @@ public class PropertyLabelHelper extends StereotypedElementLabelHelper { protected PropertyLabelHelper() { // initialize the map + setupMasks(masks); + } + + protected void setupMasks(Map<String, String> masks) { masks.put(ICustomAppearance.DISP_VISIBILITY, "Visibility"); masks.put(ICustomAppearance.DISP_DERIVE, "Is Derived"); masks.put(ICustomAppearance.DISP_NAME, "Name"); diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java index ba020fb443d..56f05a899f4 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java @@ -58,6 +58,11 @@ public interface ICustomAppearance { * Style constant for multiplicity display in labels. */ public final static String DISP_MULTIPLICITY = "multiplicity"; + + /** + * Style constant for multiplicity display without brackets in labels. + */ + public final static String DISP_MULTIPLICITY_NO_BRACKETS = "multiplicityNoBrackets"; /** * Style constant for default value display in labels. diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java index 7faaf3494fb..23458631060 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java @@ -254,6 +254,9 @@ public class PropertyUtil { // multiplicity -> do not display [1]
String multiplicity = getNonNullString(MultiplicityElementUtil.getMultiplicityAsString(property));
buffer.append(multiplicity);
+ } else if (style.contains(ICustomAppearance.DISP_MULTIPLICITY_NO_BRACKETS)) {
+ String multiplicity = getNonNullString(MultiplicityElementUtil.formatMultiplicityNoBrackets(property));
+ buffer.append(multiplicity);
}
if (style.contains(ICustomAppearance.DISP_DEFAULT_VALUE)) {
|