Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2014-05-20 20:04:48 +0000
committerChristian W. Damus2014-05-20 20:05:31 +0000
commitde43b0af28f5aecf1ed161f090a1594437b2bb00 (patch)
tree156ccc39694843f9c627e763e017650c16f9bb8d /extraplugins
parenta2127999aa76c92fcf5b6e3794e9f9f3ab13c426 (diff)
downloadorg.eclipse.papyrus-de43b0af28f5aecf1ed161f090a1594437b2bb00.tar.gz
org.eclipse.papyrus-de43b0af28f5aecf1ed161f090a1594437b2bb00.tar.xz
org.eclipse.papyrus-de43b0af28f5aecf1ed161f090a1594437b2bb00.zip
386118: [EMF Facet] Papyrus should progressively support EMF Facet 0.2
https://bugs.eclipse.org/bugs/show_bug.cgi?id=386118 Adapt to latest changes in EMF Facet tree model API.
Diffstat (limited to 'extraplugins')
-rw-r--r--extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/adapters/CDOAdapterFactory.java47
1 files changed, 25 insertions, 22 deletions
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/adapters/CDOAdapterFactory.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/adapters/CDOAdapterFactory.java
index 37f8b0c6f76..02ba2529203 100644
--- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/adapters/CDOAdapterFactory.java
+++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/adapters/CDOAdapterFactory.java
@@ -20,46 +20,49 @@ import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.EditPart;
import org.eclipse.papyrus.cdo.internal.core.CDOUtils;
-import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement;
/**
* This is the CDOAdapterFactory type. Enjoy.
*/
-@SuppressWarnings("rawtypes")
public class CDOAdapterFactory implements IAdapterFactory {
- private final Class[] supported = { CDOObject.class };
+ private final Class<?>[] supported = { CDOObject.class };
public CDOAdapterFactory() {
super();
}
@Override
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- EObject eObject = null;
- if(adaptableObject instanceof EditPart) {
- // notation views are important as CDOObjects for locking and
- // conflict purposes, so do not defer to the semantic element
- eObject = (EObject)((EditPart)adaptableObject).getModel();
- } else if(adaptableObject instanceof EObjectTreeElement) {
- eObject = ((EObjectTreeElement)adaptableObject).getEObject();
- } else if(adaptableObject instanceof EObject) {
- eObject = (EObject)adaptableObject;
- } else {
- // try really hard to get an EObject
- if(adaptableObject instanceof IAdaptable) {
- eObject = (EObject)((IAdaptable)adaptableObject).getAdapter(EObject.class);
- }
- if(eObject == null) {
- eObject = (EObject)Platform.getAdapterManager().getAdapter(adaptableObject, EObject.class);
+ public Object getAdapter(Object adaptableObject, @SuppressWarnings("rawtypes") Class adapterType) {
+ Object result = null;
+
+ if(adapterType == CDOObject.class) {
+ EObject eObject = null;
+ if(adaptableObject instanceof EditPart) {
+ // notation views are important as CDOObjects for locking and
+ // conflict purposes, so do not defer to the semantic element
+ eObject = (EObject)((EditPart)adaptableObject).getModel();
+ } else if(adaptableObject instanceof EObject) {
+ eObject = (EObject)adaptableObject;
+ } else {
+ // try really hard to get an EObject
+ if(adaptableObject instanceof IAdaptable) {
+ eObject = (EObject)((IAdaptable)adaptableObject).getAdapter(EObject.class);
+ }
+ if(eObject == null) {
+ eObject = (EObject)Platform.getAdapterManager().getAdapter(adaptableObject, EObject.class);
+ }
}
+
+ // get the CDOObject from the EObject (if possible)
+ result = CDOUtils.getCDOObject(eObject);
}
- // get the CDOObject from the EObject (if possible)
- return CDOUtils.getCDOObject(eObject);
+ return result;
}
@Override
+ @SuppressWarnings("rawtypes")
public Class[] getAdapterList() {
return supported;
}

Back to the top