Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas FAUVERGUE2017-07-26 15:50:48 +0000
committervincent lorenzo2017-07-31 10:56:22 +0000
commitbb96c6df3dc9b114a26a51ae850489b2a7259538 (patch)
treed944c9396d329b2ab1ae8ecdfe34f7615e45c7dc /plugins/uml/properties/org.eclipse.papyrus.uml.properties
parent63c76bf7bca32aa9daabd5b4e6014f5614cd78a7 (diff)
downloadorg.eclipse.papyrus-bb96c6df3dc9b114a26a51ae850489b2a7259538.tar.gz
org.eclipse.papyrus-bb96c6df3dc9b114a26a51ae850489b2a7259538.tar.xz
org.eclipse.papyrus-bb96c6df3dc9b114a26a51ae850489b2a7259538.zip
Bug 515650: [Property View] Internationalization of labels presented in
property pages https://bugs.eclipse.org/bugs/show_bug.cgi?id=515650 Manage internationalization for labels in properties view only for objects that are internationalized by a '*.properties' file. Change-Id: I3e2762a7ef62e2988b592cc47ae0e1548165e989 Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@cea.fr>
Diffstat (limited to 'plugins/uml/properties/org.eclipse.papyrus.uml.properties')
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java33
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/UMLModelElement.java28
2 files changed, 56 insertions, 5 deletions
diff --git a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
index 47e5e8ff202..e31cabf43c4 100644
--- a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
+++ b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
@@ -29,6 +29,7 @@ import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.properties.ui.modelelement.EMFModelElement;
import org.eclipse.papyrus.infra.properties.ui.modelelement.EObjectStructuredValueFactory;
+import org.eclipse.papyrus.infra.properties.ui.modelelement.ILabeledModelElement;
import org.eclipse.papyrus.infra.widgets.creation.ReferenceValueFactory;
import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
import org.eclipse.papyrus.uml.properties.Activator;
@@ -38,7 +39,9 @@ import org.eclipse.papyrus.uml.tools.databinding.PapyrusObservableList;
import org.eclipse.papyrus.uml.tools.databinding.PapyrusObservableValue;
import org.eclipse.papyrus.uml.tools.providers.UMLContentProvider;
import org.eclipse.papyrus.uml.tools.utils.DataTypeUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Stereotype;
/**
@@ -46,7 +49,7 @@ import org.eclipse.uml2.uml.Stereotype;
*
* @author Camille Letavernier
*/
-public class StereotypeModelElement extends EMFModelElement {
+public class StereotypeModelElement extends EMFModelElement implements ILabeledModelElement {
/**
* The stereotype handled by this ModelElement
@@ -177,4 +180,32 @@ public class StereotypeModelElement extends EMFModelElement {
return super.getValueFactory(propertyPath);
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.properties.ui.modelelement.ILabeledModelElement#getLabel(java.lang.String)
+ */
+ @Override
+ public String getLabel(final String propertyPath) {
+ String result = null;
+
+ final FeaturePath featurePath = getFeaturePath(propertyPath);
+ final EStructuralFeature feature = getFeature(featurePath);
+
+ if (null != feature) {
+ final EObject property = StereotypeUtil.getPropertyByName(stereotype, feature.getName());
+ if (property instanceof NamedElement) {
+ final NamedElement namedElement = (NamedElement) property;
+ final String name = namedElement.getName();
+ final String label = namedElement.getLabel();
+
+ if (!label.equals(name)) {
+ result = label;
+ }
+ }
+ }
+
+ return result;
+ }
}
diff --git a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/UMLModelElement.java b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/UMLModelElement.java
index ac1a1bf434e..8521c5d5ebf 100644
--- a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/UMLModelElement.java
+++ b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/UMLModelElement.java
@@ -22,7 +22,6 @@ import static org.eclipse.uml2.uml.ParameterDirectionKind.OUT_LITERAL;
import static org.eclipse.uml2.uml.ParameterDirectionKind.RETURN_LITERAL;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -45,6 +44,7 @@ import org.eclipse.papyrus.infra.emf.utils.HistoryUtil;
import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
import org.eclipse.papyrus.infra.internationalization.utils.utils.InternationalizationConstants;
import org.eclipse.papyrus.infra.properties.ui.modelelement.EMFModelElement;
+import org.eclipse.papyrus.infra.properties.ui.modelelement.ILabeledModelElement;
import org.eclipse.papyrus.infra.properties.ui.providers.FeatureContentProvider;
import org.eclipse.papyrus.infra.ui.emf.providers.EMFGraphicalContentProvider;
import org.eclipse.papyrus.infra.ui.emf.providers.EMFLabelProvider;
@@ -91,7 +91,7 @@ import org.eclipse.uml2.uml.UMLPackage;
* @author Camille Letavernier
*
*/
-public class UMLModelElement extends EMFModelElement {
+public class UMLModelElement extends EMFModelElement implements ILabeledModelElement {
/**
*
@@ -196,7 +196,7 @@ public class UMLModelElement extends EMFModelElement {
public boolean isValidValue(Object element) {
element = EMFHelper.getEObject(element);
// according to the UML norm 2.5, section 17.4.3.1
- // The signature of a Message refers to either an Operation or a Signal.
+ // The signature of a Message refers to either an Operation or a Signal.
return element instanceof Operation || element instanceof Signal;
}
};
@@ -266,7 +266,7 @@ public class UMLModelElement extends EMFModelElement {
@Override
protected List<EClass> getAvailableEClasses() {
// according to the UML norm 2.5, section 17.4.3.1
- // The signature of a Message refers to either an Operation or a Signal.
+ // The signature of a Message refers to either an Operation or a Signal.
final List<EClass> eClasses = new ArrayList<EClass>();
eClasses.add(UMLPackage.eINSTANCE.getOperation());
eClasses.add(UMLPackage.eINSTANCE.getSignal());
@@ -380,4 +380,24 @@ public class UMLModelElement extends EMFModelElement {
}
return null;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.properties.ui.modelelement.ILabeledModelElement#getLabel(java.lang.String)
+ */
+ @Override
+ public String getLabel(final String propertyPath) {
+ String result = null;
+ if (getSource() instanceof NamedElement) {
+ final NamedElement namedElement = (NamedElement) getSource();
+ final String name = namedElement.getName();
+ final String label = namedElement.getLabel();
+
+ if (!label.equals(name)) {
+ result = label;
+ }
+ }
+ return result;
+ }
}

Back to the top