Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-07-15 17:10:13 +0000
committerEike Stepper2009-07-15 17:10:13 +0000
commit4f42da60235702c8dfd757ed64465ef49519f2d2 (patch)
tree18c10903839dac70d98147179e17eb3a380a401f /plugins/org.eclipse.emf.cdo
parent0efd43da863fc24df4c9899ae5a9423d05daf112 (diff)
downloadcdo-4f42da60235702c8dfd757ed64465ef49519f2d2.tar.gz
cdo-4f42da60235702c8dfd757ed64465ef49519f2d2.tar.xz
cdo-4f42da60235702c8dfd757ed64465ef49519f2d2.zip
[260908] Provide basic collaboration capabilities for all sessions of a repository
https://bugs.eclipse.org/bugs/show_bug.cgi?id=260908
Diffstat (limited to 'plugins/org.eclipse.emf.cdo')
-rw-r--r--plugins/org.eclipse.emf.cdo/.options4
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/bundle/OM.java6
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java5
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java11
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java5
5 files changed, 17 insertions, 14 deletions
diff --git a/plugins/org.eclipse.emf.cdo/.options b/plugins/org.eclipse.emf.cdo/.options
index 9341c5b8b7..1e2defcb93 100644
--- a/plugins/org.eclipse.emf.cdo/.options
+++ b/plugins/org.eclipse.emf.cdo/.options
@@ -14,8 +14,4 @@ org.eclipse.emf.cdo/debug.object = false
org.eclipse.emf.cdo/debug.object.statemachine = false
org.eclipse.emf.cdo/debug.object.store = false
-org.eclipse.emf.cdo/perf = false
-org.eclipse.emf.cdo/perf.revision = false
-org.eclipse.emf.cdo/perf.revision.loading = false
-
org.eclipse.emf.cdo/load.resource.before.notification = false
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/bundle/OM.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/bundle/OM.java
index ea16dbc34a..22b9ebbbf0 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/bundle/OM.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/bundle/OM.java
@@ -51,12 +51,6 @@ public abstract class OM
public static final OMTracer DEBUG_STORE = DEBUG_OBJECT.tracer("store"); //$NON-NLS-1$
- public static final OMTracer PERF = BUNDLE.tracer("perf"); //$NON-NLS-1$
-
- public static final OMTracer PERF_REVISION = PERF.tracer("revision"); //$NON-NLS-1$
-
- public static final OMTracer PERF_REVISION_LOADING = PERF_REVISION.tracer("loading"); //$NON-NLS-1$
-
public static final OMLogger LOG = BUNDLE.logger();
public static final OMPreferences PREFS = BUNDLE.preferences();
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
index c9863a7c73..39695ad030 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
@@ -1451,15 +1451,14 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
}
}
- public void unsubscribeRemoteSessions()
+ public boolean unsubscribeRemoteSessions()
{
int attempt = 0;
for (;;)
{
try
{
- delegate.unsubscribeRemoteSessions();
- return;
+ return delegate.unsubscribeRemoteSessions();
}
catch (Exception ex)
{
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java
index b17c8910c5..53f68fefa3 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/remote/CDORemoteSessionImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.emf.internal.cdo.session.remote;
+import org.eclipse.emf.cdo.common.util.CDOException;
import org.eclipse.emf.cdo.session.remote.CDORemoteSession;
import org.eclipse.emf.spi.cdo.InternalCDORemoteSession;
@@ -64,6 +65,16 @@ public class CDORemoteSessionImpl implements InternalCDORemoteSession
public void sendCustomData(String type, byte[] data)
{
+ if (!manager.isSubscribed())
+ {
+ throw new CDOException("Local session is not subscribed");
+ }
+
+ if (!isSubscribed())
+ {
+ throw new CDOException("Remote session is not subscribed");
+ }
+
manager.getLocalSession().getSessionProtocol().sendCustomData(this, type, data);
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
index 0eef277831..136b385b06 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
@@ -121,7 +121,10 @@ public interface CDOSessionProtocol extends CDOProtocol, PackageLoader, Revision
*/
public boolean sendCustomData(CDORemoteSession receiver, String type, byte[] data);
- public void unsubscribeRemoteSessions();
+ /**
+ * @since 3.0
+ */
+ public boolean unsubscribeRemoteSessions();
/**
* @author Eike Stepper

Back to the top