Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2015-02-09 08:59:43 +0000
committerEike Stepper2015-02-18 14:40:52 +0000
commitbe4a714a1d9b2bdad7d45eaf4fb1714130e0f748 (patch)
treed20ee6a33c831449790b5a1f7e996d32034968da /plugins/org.eclipse.emf.cdo.explorer
parent8f64246fab05a52e74011c1d4d1aa6cc58189ee2 (diff)
downloadcdo-be4a714a1d9b2bdad7d45eaf4fb1714130e0f748.tar.gz
cdo-be4a714a1d9b2bdad7d45eaf4fb1714130e0f748.tar.xz
cdo-be4a714a1d9b2bdad7d45eaf4fb1714130e0f748.zip
[458349] Consolidate UI
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458349
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.explorer')
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/explorer/CDOExplorerUtil.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/explorer/CDOExplorerUtil.java b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/explorer/CDOExplorerUtil.java
index f1d42c347b..995f0a4672 100644
--- a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/explorer/CDOExplorerUtil.java
+++ b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/explorer/CDOExplorerUtil.java
@@ -10,10 +10,17 @@
*/
package org.eclipse.emf.cdo.explorer;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.explorer.checkouts.CDOCheckout;
import org.eclipse.emf.cdo.explorer.checkouts.CDOCheckoutManager;
import org.eclipse.emf.cdo.explorer.repositories.CDORepositoryManager;
import org.eclipse.emf.cdo.internal.explorer.bundle.OM;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
/**
* @author Eike Stepper
* @since 4.4
@@ -25,6 +32,38 @@ public final class CDOExplorerUtil
return OM.getCheckoutManager();
}
+ public static CDOCheckout getCheckout(EObject object)
+ {
+ while (object != null)
+ {
+ Adapter adapter = EcoreUtil.getAdapter(object.eAdapters(), CDOCheckout.class);
+ if (adapter != null)
+ {
+ return (CDOCheckout)adapter;
+ }
+
+ EObject container = object.eContainer();
+ if (container != null)
+ {
+ object = container;
+ }
+ else
+ {
+ Resource resource = object.eResource();
+ if (resource instanceof CDOResource)
+ {
+ object = (CDOResource)resource;
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+
+ return null;
+ }
+
public static CDORepositoryManager getRepositoryManager()
{
return OM.getRepositoryManager();

Back to the top