From e308d242f37bca3cda82ad5559d0a949591ccae3 Mon Sep 17 00:00:00 2001 From: Eike Stepper Date: Wed, 30 Aug 2006 07:13:46 +0000 Subject: [155508] Do not invalidate changed objects https://bugs.eclipse.org/bugs/show_bug.cgi?id=155508 --- .../launches/CDO Adapter Test.launch | 38 -------------------- .../launches/CDO Basic Test.launch | 38 -------------------- .../launches/CDO Bugzilla Test.launch | 38 -------------------- .../launches/CDO Extent Test.launch | 38 -------------------- .../launches/CDO Notification Test.launch | 38 -------------------- .../launches/CDO OCL Test.launch | 38 -------------------- .../launches/CDO Rollback Test.launch | 38 -------------------- .../launches/CDO Serialization Test.launch | 38 -------------------- .../eclipse/emf/cdo/tests/model1/RollbackTest.java | 42 +++++++++++++++++----- 9 files changed, 33 insertions(+), 313 deletions(-) delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Adapter Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Basic Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Bugzilla Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Extent Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Notification Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO OCL Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Rollback Test.launch delete mode 100644 plugins/org.eclipse.emf.cdo.tests/launches/CDO Serialization Test.launch (limited to 'plugins/org.eclipse.emf.cdo.tests') diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Adapter Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Adapter Test.launch deleted file mode 100644 index 7265c12045..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Adapter Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Basic Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Basic Test.launch deleted file mode 100644 index 00ba45b143..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Basic Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Bugzilla Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Bugzilla Test.launch deleted file mode 100644 index d70775ceb8..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Bugzilla Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Extent Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Extent Test.launch deleted file mode 100644 index b0e882a5f2..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Extent Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Notification Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Notification Test.launch deleted file mode 100644 index 48f5dda960..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Notification Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO OCL Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO OCL Test.launch deleted file mode 100644 index 0fa1ba2986..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO OCL Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Rollback Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Rollback Test.launch deleted file mode 100644 index fbfff9ac1c..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Rollback Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Serialization Test.launch b/plugins/org.eclipse.emf.cdo.tests/launches/CDO Serialization Test.launch deleted file mode 100644 index 8c9fe1b62e..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests/launches/CDO Serialization Test.launch +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/RollbackTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/RollbackTest.java index 940de5533a..f1e4b269f1 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/RollbackTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/RollbackTest.java @@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.tests.model1; import org.eclipse.emf.cdo.client.OptimisticControlException; +import org.eclipse.emf.cdo.client.ResourceManager; import testmodel1.TreeNode; import junit.framework.ComparisonFailure; @@ -54,23 +55,46 @@ public class RollbackTest extends AbstractModel1Test final String ROOT = "root"; final String NEW_ROOT1 = "new root 1"; final String NEW_ROOT2 = "new root 2"; + final long TIME_LIMIT = 1000; + final boolean[] notificationReceived = { false}; // Client1 creates resource - TreeNode root = createNode(ROOT); - saveRoot(root, RESOURCE); + TreeNode client1 = createNode(ROOT); + saveRoot(client1, RESOURCE); // Client2 loads and modifies resource - TreeNode loaded = (TreeNode) loadRoot(RESOURCE); - loaded.setStringFeature(NEW_ROOT2); + TreeNode client2 = (TreeNode) loadRoot(RESOURCE); + client2.setStringFeature(NEW_ROOT2); + + // Client2 remembers notifications + ResourceManager resourceManager = client2.cdoGetResource().getResourceManager(); + resourceManager.addInvalidationListener(new ResourceManager.InvalidationListener() + { + public void notifyInvalidation(ResourceManager resourceManager, long[] oids) + { + notificationReceived[0] = true; + } + }); // Client1 modifies and commits resource - root.setStringFeature(NEW_ROOT1); - root.eResource().save(null); + client1.setStringFeature(NEW_ROOT1); + client1.eResource().save(null); + + // Give server and client2 enough time to get notified + long start = System.currentTimeMillis(); + while (System.currentTimeMillis() - start < TIME_LIMIT) + { + if (notificationReceived[0]) break; + Thread.sleep(1); + } + + assertTrue("Notification did not arrive within " + TIME_LIMIT + " millis", + notificationReceived[0]); // Client2 commits resource, verify that exception occurs try { - loaded.eResource().save(null); + client2.eResource().save(null); fail("OptimisticControlException did not occur"); } catch (OptimisticControlException ex) @@ -81,7 +105,7 @@ public class RollbackTest extends AbstractModel1Test // Verify that client2 has been rolled back try { - assertNode(NEW_ROOT2, loaded); + assertNode(NEW_ROOT2, client2); fail("Client2 has not been rolled back"); } catch (ComparisonFailure ex) @@ -90,6 +114,6 @@ public class RollbackTest extends AbstractModel1Test } // TODO Clarify what should be done with invalidated objects on rollback - // assertNode(NEW_ROOT1, loaded); + assertNode(NEW_ROOT1, client2); } } -- cgit v1.2.3