diff options
author | Eike Stepper | 2015-02-09 08:59:43 +0000 |
---|---|---|
committer | Eike Stepper | 2015-02-18 14:40:52 +0000 |
commit | be4a714a1d9b2bdad7d45eaf4fb1714130e0f748 (patch) | |
tree | d20ee6a33c831449790b5a1f7e996d32034968da /plugins/org.eclipse.emf.cdo.explorer | |
parent | 8f64246fab05a52e74011c1d4d1aa6cc58189ee2 (diff) | |
download | cdo-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.java | 39 |
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(); |