From 4419c6a7b502912ce78e6022eb1c57f6e07b67df Mon Sep 17 00:00:00 2001 From: cletavernie Date: Fri, 20 Jan 2012 13:33:54 +0000 Subject: 359794: [UML - Tools] Content/Label providers https://bugs.eclipse.org/bugs/show_bug.cgi?id=359794 --- .../providers/PropertyEditorTypeContentProvider.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'plugins/customization') diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/PropertyEditorTypeContentProvider.java b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/PropertyEditorTypeContentProvider.java index 5e0e2b024cb..a9b1a16cd7b 100644 --- a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/PropertyEditorTypeContentProvider.java +++ b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/PropertyEditorTypeContentProvider.java @@ -77,12 +77,20 @@ public class PropertyEditorTypeContentProvider extends EMFGraphicalContentProvid if(source.getProperty() == null) { return true; } - return editorType.getType() == source.getProperty().getType(); + return editorType.getType() == source.getProperty().getType() && isMultiplicityEquivalent(editorType.getMultiplicity(), source.getProperty().getMultiplicity()); } return false; } + private boolean isMultiplicityEquivalent(int multiplicity, int multiplicity2) { + if(multiplicity < 0 || multiplicity > 1) { + return multiplicity2 < 0 || multiplicity2 > 1; + } + + return multiplicity == 1 && multiplicity2 == 1; + } + public boolean getFilter() { return filter; } @@ -91,7 +99,5 @@ public class PropertyEditorTypeContentProvider extends EMFGraphicalContentProvid this.filter = filter; clearCache(); } - } - } -- cgit v1.2.3