Fixed papyrus class cast bug
diff --git a/org.eclipse.capra.handler.papyrus/META-INF/MANIFEST.MF b/org.eclipse.capra.handler.papyrus/META-INF/MANIFEST.MF
index 17cd354..ed23864 100644
--- a/org.eclipse.capra.handler.papyrus/META-INF/MANIFEST.MF
+++ b/org.eclipse.capra.handler.papyrus/META-INF/MANIFEST.MF
@@ -6,5 +6,6 @@
Require-Bundle: org.eclipse.capra.core,
org.eclipse.capra.ui,
org.eclipse.emf.ecore,
- org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="1.1.4"
+ org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="1.1.4",
+ org.eclipse.papyrus.infra.emf
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/org.eclipse.capra.handler.papyrus/src/org/eclipse/capra/handler/papyrus/PapyrusHandler.java b/org.eclipse.capra.handler.papyrus/src/org/eclipse/capra/handler/papyrus/PapyrusHandler.java
index d8de348..adfd09a 100644
--- a/org.eclipse.capra.handler.papyrus/src/org/eclipse/capra/handler/papyrus/PapyrusHandler.java
+++ b/org.eclipse.capra.handler.papyrus/src/org/eclipse/capra/handler/papyrus/PapyrusHandler.java
@@ -12,7 +12,8 @@
import org.eclipse.capra.core.handlers.ArtifactHandler;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.TreeElement;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement;
+import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
/**
* A handler to create trace links from and to model elements created in
@@ -22,20 +23,25 @@
@Override
public boolean canHandleSelection(Object selection) {
- return selection instanceof TreeElement;
+ return selection instanceof EObjectTreeElement;
}
@Override
public EObject getEObjectForSelection(Object selection, EObject artifactModel) {
// Returns the EObject corresponding to the input object if the input is
// an EObject, or if it is Adaptable to an EObject
- return EObject.class.cast((TreeElement) selection);
+ return EMFHelper.getEObject(selection);
}
@Override
public Object resolveArtifact(EObject artifact) {
- // TODO Auto-generated method stub
- return null;
+ return artifact;
+ }
+
+ @Override
+ public String getDisplayName(Object selection) {
+ EObject sel = EMFHelper.getEObject(selection);
+ return ArtifactHandler.super.getDisplayName(sel);
}
}