https://bugs.eclipse.org/bugs/show_bug.cgi?id=77412
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
index bb92573..f75ecdf 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
*
- * $Id: InstanceValueImpl.java,v 1.4 2004/06/18 04:34:32 khussey Exp $
+ * $Id: InstanceValueImpl.java,v 1.5 2005/01/20 14:51:41 khussey Exp $
*/
package org.eclipse.uml2.impl;
@@ -21,6 +21,7 @@
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.EnumerationLiteral;
import org.eclipse.uml2.InstanceSpecification;
import org.eclipse.uml2.InstanceValue;
import org.eclipse.uml2.StringExpression;
@@ -28,6 +29,7 @@
import org.eclipse.uml2.TemplateSignature;
import org.eclipse.uml2.Type;
import org.eclipse.uml2.UML2Package;
+import org.eclipse.uml2.ValueSpecification;
import org.eclipse.uml2.VisibilityKind;
/**
@@ -384,11 +386,25 @@
return eDynamicIsSet(eFeature);
}
- /**
+ /*
+ * (non-Javadoc)
+ *
* @see org.eclipse.uml2.ValueSpecification#stringValue()
*/
public String stringValue() {
- return null == getInstance() || null == getInstance().getSpecification() ? super.stringValue() : getInstance().getSpecification().stringValue();
+ InstanceSpecification instance = getInstance();
+
+ if (EnumerationLiteral.class.isInstance(instance)) {
+ return ((EnumerationLiteral) instance).getName();
+ } else if (null != instance) {
+ ValueSpecification specification = instance.getSpecification();
+
+ if (null != specification) {
+ return specification.stringValue();
+ }
+ }
+
+ return super.stringValue();
}
-} //InstanceValueImpl
+} // InstanceValueImpl
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
index 6f22053..3ea9c84 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
*
- * $Id: UML2Operations.java,v 1.13 2005/01/19 22:55:30 khussey Exp $
+ * $Id: UML2Operations.java,v 1.14 2005/01/20 14:51:41 khussey Exp $
*/
package org.eclipse.uml2.internal.operation;
@@ -271,7 +271,9 @@
protected static EAnnotation safeGetEAnnotation(
EModelElement eModelElement, String source) {
- EAnnotation eAnnotation = getEAnnotation(eModelElement, source, false);
+ EAnnotation eAnnotation = null == eModelElement
+ ? null
+ : getEAnnotation(eModelElement, source, false);
return null == eAnnotation
? EcoreFactory.eINSTANCE.createEAnnotation()