Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorytanguy2010-07-21 07:46:02 +0000
committerytanguy2010-07-21 07:46:02 +0000
commit9fbec1e45c52a62468d4ca68748a67c9811d1195 (patch)
tree359951a3cdae427c666b41bc4a437fedab3fc70e /plugins
parenta5ba21a4cc283e6fc326ad4678b987f9e3c676b0 (diff)
downloadorg.eclipse.papyrus-9fbec1e45c52a62468d4ca68748a67c9811d1195.tar.gz
org.eclipse.papyrus-9fbec1e45c52a62468d4ca68748a67c9811d1195.tar.xz
org.eclipse.papyrus-9fbec1e45c52a62468d4ca68748a67c9811d1195.zip
NEW - bug 320466: [Model Explorer] The business model resolver cannot handle (modisco based) model explorer items
https://bugs.eclipse.org/bugs/show_bug.cgi?id=320466
Diffstat (limited to 'plugins')
-rw-r--r--plugins/core/org.eclipse.papyrus.core/src/org/eclipse/papyrus/core/utils/BusinessModelResolver.java24
1 files changed, 16 insertions, 8 deletions
diff --git a/plugins/core/org.eclipse.papyrus.core/src/org/eclipse/papyrus/core/utils/BusinessModelResolver.java b/plugins/core/org.eclipse.papyrus.core/src/org/eclipse/papyrus/core/utils/BusinessModelResolver.java
index bbd65bd5eae..4ae8861d9a7 100644
--- a/plugins/core/org.eclipse.papyrus.core/src/org/eclipse/papyrus/core/utils/BusinessModelResolver.java
+++ b/plugins/core/org.eclipse.papyrus.core/src/org/eclipse/papyrus/core/utils/BusinessModelResolver.java
@@ -14,12 +14,14 @@
package org.eclipse.papyrus.core.utils;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.notation.View;
/**
- * This class allows to retrieve the bussiness object from an object representing a graphical artefact in a diagram. Each diagram can register its
+ * This class allows to retrieve the business object from an object representing a graphical artifact in a diagram. Each diagram can register its
* resolver which will be added to the list of
* resolvers. Some common resolvers are already registered : gef.EditPart TODO Use extensions to register additional resolvers.
*/
@@ -35,8 +37,8 @@ public class BusinessModelResolver {
}
/**
- * Get the bussiness object associated to this object, if any. This method navigate throw the object if the object is an graphical artefact or a
- * diagram artefact.
+ * Get the business object associated to this object, if any. This method navigate throw the object if the object is an graphical artefact or a
+ * diagram artifact.
*
* @param object
* @return Object
@@ -47,15 +49,21 @@ public class BusinessModelResolver {
Object model = ((EditPart)object).getModel();
if(model instanceof View) { // Notation / GMF
return getBusinessElement((View)((EditPart)object).getModel());
- } else
+ } else {
return model;
+ }
+
} else if(object instanceof View) {
return ((View)object).getElement();
- }
- else
- return object;
+ } else if(object instanceof IAdaptable) {
+ // Among others this is useful to retrieve the selected object from
+ // an explorer item.
+ return ((IAdaptable)object).getAdapter(EObject.class);
+ } else {
+ return object;
+ }
}
@@ -69,7 +77,7 @@ public class BusinessModelResolver {
try {
return object.getElement();
} catch (NullPointerException e) {
- // no bussiness element
+ // no business element
return null;
}
}

Back to the top