Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-07-26 07:26:31 +0000
committerEike Stepper2009-07-26 07:26:31 +0000
commit7308b03f6b4292bd058e38411473a2e65676ca46 (patch)
treeae6ea93d454c909fb213da54a8b74e10f1e92243
parented1cb46303232dd431dd0c811820ee15034f3525 (diff)
downloadcdo-7308b03f6b4292bd058e38411473a2e65676ca46.tar.gz
cdo-7308b03f6b4292bd058e38411473a2e65676ca46.tar.xz
cdo-7308b03f6b4292bd058e38411473a2e65676ca46.zip
[282481] Provide an EmbeddedSessionProtocol
https://bugs.eclipse.org/bugs/show_bug.cgi?id=282481
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/net4j/org/eclipse/net4j/tests/AbstractOMTest.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java25
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/Config.java27
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/ConfigTest.java16
4 files changed, 57 insertions, 16 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/net4j/org/eclipse/net4j/tests/AbstractOMTest.java b/plugins/org.eclipse.emf.cdo.tests/net4j/org/eclipse/net4j/tests/AbstractOMTest.java
index 5154fb50f3..389f0f0626 100644
--- a/plugins/org.eclipse.emf.cdo.tests/net4j/org/eclipse/net4j/tests/AbstractOMTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/net4j/org/eclipse/net4j/tests/AbstractOMTest.java
@@ -195,6 +195,11 @@ public abstract class AbstractOMTest extends TestCase
assertTrue("Not an instance of " + expected + ": " + object.getClass().getName(), expected.isInstance(object));
}
+ public static void assertNotInstanceOf(Class<?> expected, Object object)
+ {
+ assertFalse("An instance of " + expected, expected.isInstance(object));
+ }
+
public static void assertActive(Object object)
{
assertEquals(true, LifecycleUtil.isActive(object));
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java
index 014caa0341..50d063ec04 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java
@@ -14,6 +14,7 @@ import org.eclipse.emf.cdo.common.revision.CDORevisionData;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.eresource.EresourcePackage;
import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.SessionConfig;
import org.eclipse.emf.cdo.tests.model1.Company;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
@@ -132,8 +133,13 @@ public class ViewTest extends AbstractCDOTest
CDORevisionData revision = resource.cdoRevision().data();
EStructuralFeature contentsFeature = EresourcePackage.eINSTANCE.getCDOResource_Contents();
- assertEquals(true, revision.get(contentsFeature, 99) instanceof CDOElementProxy);
- assertEquals(false, revision.get(contentsFeature, 100) instanceof CDOElementProxy);
+ if (!SessionConfig.Embedded.INSTANCE.equals(getSessionConfig()))
+ {
+ // EmbeddedSession reuses server-side revision manager, so do not rely on it here:
+ assertInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 99));
+ }
+
+ assertNotInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 100));
session.close();
}
@@ -171,11 +177,16 @@ public class ViewTest extends AbstractCDOTest
CDORevisionData revision = resource.cdoRevision().data();
EStructuralFeature contentsFeature = EresourcePackage.eINSTANCE.getCDOResource_Contents();
- assertEquals(false, revision.get(contentsFeature, 0) instanceof CDOElementProxy);
- assertEquals(false, revision.get(contentsFeature, 1) instanceof CDOElementProxy);
- assertEquals(true, revision.get(contentsFeature, 2) instanceof CDOElementProxy);
- assertEquals(true, revision.get(contentsFeature, 99) instanceof CDOElementProxy);
- assertEquals(false, revision.get(contentsFeature, 100) instanceof CDOElementProxy);
+ assertNotInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 0));
+ assertNotInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 1));
+ if (!SessionConfig.Embedded.INSTANCE.equals(getSessionConfig()))
+ {
+ // EmbeddedSession reuses server-side revision manager, so do not rely on it here:
+ assertInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 2));
+ assertInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 99));
+ }
+
+ assertNotInstanceOf(CDOElementProxy.class, revision.get(contentsFeature, 100));
session.close();
}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/Config.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/Config.java
index cfce5f3047..42a19cd481 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/Config.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/Config.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* Eike Stepper - initial API and implementation
*/
@@ -12,6 +12,8 @@ package org.eclipse.emf.cdo.tests.config.impl;
import org.eclipse.emf.cdo.tests.config.IConfig;
+import org.eclipse.net4j.util.ObjectUtil;
+
import java.util.Map;
import java.util.Set;
@@ -84,4 +86,27 @@ public abstract class Config implements IConfig
public void tearDown() throws Exception
{
}
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj == this)
+ {
+ return true;
+ }
+
+ if (obj instanceof IConfig)
+ {
+ IConfig that = (IConfig)obj;
+ return ObjectUtil.equals(name, that.getName());
+ }
+
+ return false;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return ObjectUtil.hashCode(name);
+ }
}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/ConfigTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/ConfigTest.java
index 79cbc3ee3c..da22a24878 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/ConfigTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/config/impl/ConfigTest.java
@@ -443,18 +443,18 @@ public abstract class ConfigTest extends AbstractOMTest implements IConstants
protected void skipConfig(Config config)
{
- skipTest(getContainerConfig() == config //
- || getRepositoryConfig() == config //
- || getSessionConfig() == config //
- || getModelConfig() == config);
+ skipTest(ObjectUtil.equals(getContainerConfig(), config) //
+ || ObjectUtil.equals(getRepositoryConfig(), config) //
+ || ObjectUtil.equals(getSessionConfig(), config) //
+ || ObjectUtil.equals(getModelConfig(), config));
}
protected void skipUnlessConfig(Config config)
{
- skipTest(getContainerConfig() != config //
- && getRepositoryConfig() != config //
- && getSessionConfig() != config //
- && getModelConfig() != config);
+ skipTest(!ObjectUtil.equals(getContainerConfig(), config) //
+ && !ObjectUtil.equals(getRepositoryConfig(), config) //
+ && !ObjectUtil.equals(getSessionConfig(), config) //
+ && !ObjectUtil.equals(getModelConfig(), config));
}
protected void skipConfig(String name)

Back to the top