diff options
author | vlorenzo | 2013-05-16 16:12:00 +0000 |
---|---|---|
committer | vlorenzo | 2013-05-16 16:12:00 +0000 |
commit | 8f8f87e0c27b589dd6caf16ae450035e581ce7df (patch) | |
tree | f928cbf6f3e13cc3c74bb05d28f569463d4cd646 | |
parent | 77f06f78e45a2494138edcf501b21e51615a2748 (diff) | |
download | org.eclipse.papyrus-8f8f87e0c27b589dd6caf16ae450035e581ce7df.tar.gz org.eclipse.papyrus-8f8f87e0c27b589dd6caf16ae450035e581ce7df.tar.xz org.eclipse.papyrus-8f8f87e0c27b589dd6caf16ae450035e581ce7df.zip |
408264: Table : the value displayed for the properties of stereotype are not correct
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408264
2 files changed, 41 insertions, 1 deletions
diff --git a/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectMultiReference.java b/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectMultiReference.java index a64e23647b1..4e28941e9e8 100644 --- a/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectMultiReference.java +++ b/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectMultiReference.java @@ -13,8 +13,35 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.profilefacet.queries.getter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException;
+import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
-public class GetEObjectMultiReference extends GetGenericMultiValue<Boolean> {
+
+public class GetEObjectMultiReference extends GetGenericMultiValue<EObject> {
+
+ @Override
+ public List<EObject> evaluate(Element source, ParameterValueList parameterValues) throws ModelQueryExecutionException {
+ final List<EObject> value = super.evaluate(source, parameterValues);
+ if(value == null) {
+ return Collections.emptyList();
+ } else {
+ final List<EObject> returnedValue = new ArrayList<EObject>();
+ for(EObject eObject : value) {
+ if(UMLUtil.getStereotype(eObject) != null) {
+ returnedValue.add(UMLUtil.getBaseElement(eObject));
+ } else {
+ returnedValue.add(eObject);
+ }
+ }
+ return returnedValue;
+ }
+ }
}
diff --git a/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectSingleReference.java b/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectSingleReference.java index 70aeaa7e322..5c99cac1606 100644 --- a/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectSingleReference.java +++ b/plugins/uml/profilefacet/org.eclipse.papyrus.uml.profilefacet/src/org/eclipse/papyrus/uml/profilefacet/queries/getter/GetEObjectSingleReference.java @@ -14,8 +14,21 @@ package org.eclipse.papyrus.uml.profilefacet.queries.getter;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException;
+import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
public class GetEObjectSingleReference extends GetGenericSingleValue<EObject> {
+ @Override
+ public EObject evaluate(final Element source, final ParameterValueList parameterValues) throws ModelQueryExecutionException {
+ EObject obj = super.evaluate(source, parameterValues);
+
+ if(UMLUtil.getStereotype(obj) != null) {
+ obj = UMLUtil.getBaseElement(obj);
+ }
+ return obj;
+ }
}
|