diff options
author | Eike Stepper | 2009-07-26 07:26:31 +0000 |
---|---|---|
committer | Eike Stepper | 2009-07-26 07:26:31 +0000 |
commit | 7308b03f6b4292bd058e38411473a2e65676ca46 (patch) | |
tree | ae6ea93d454c909fb213da54a8b74e10f1e92243 | |
parent | ed1cb46303232dd431dd0c811820ee15034f3525 (diff) | |
download | cdo-7308b03f6b4292bd058e38411473a2e65676ca46.tar.gz cdo-7308b03f6b4292bd058e38411473a2e65676ca46.tar.xz cdo-7308b03f6b4292bd058e38411473a2e65676ca46.zip |
[282481] Provide an EmbeddedSessionProtocol
https://bugs.eclipse.org/bugs/show_bug.cgi?id=282481
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) |