diff options
author | Eike Stepper | 2009-07-22 10:24:39 +0000 |
---|---|---|
committer | Eike Stepper | 2009-07-22 10:24:39 +0000 |
commit | 64687dac8febb26aaa05c630b36d75e5d25907f1 (patch) | |
tree | 283828b451a4c626ca8c21c5fbae9052cba1bb4d | |
parent | 3161e569d42ca254be25aa5f1ebf37daa43993fa (diff) | |
download | cdo-64687dac8febb26aaa05c630b36d75e5d25907f1.tar.gz cdo-64687dac8febb26aaa05c630b36d75e5d25907f1.tar.xz cdo-64687dac8febb26aaa05c630b36d75e5d25907f1.zip |
[283945] Prevent EObjects from being passed to a repository
https://bugs.eclipse.org/bugs/show_bug.cgi?id=283945
5 files changed, 28 insertions, 56 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CrossReferenceTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CrossReferenceTest.java index 5c70c57dab..60fc5237ac 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CrossReferenceTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CrossReferenceTest.java @@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.tests; import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.common.id.CDOID; +import org.eclipse.emf.cdo.common.id.CDOIDExternal; import org.eclipse.emf.cdo.common.revision.CDORevisionData; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.session.CDOSession; @@ -413,7 +414,7 @@ public class CrossReferenceTest extends AbstractCDOTest transaction.commit(); CDORevisionData data = ((CDOObject)salesOrder).cdoRevision().data(); CDOID id = (CDOID)data.get(getModel1Package().getSalesOrder_Customer(), 0); - assertTrue(id.isExternal()); + assertInstanceOf(CDOIDExternal.class, id); } public void testExternalMakeNew() throws Exception diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ExternalReferenceTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ExternalReferenceTest.java index 8d7110eb16..6aa64df0d7 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ExternalReferenceTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ExternalReferenceTest.java @@ -146,7 +146,7 @@ public class ExternalReferenceTest extends AbstractCDOTest } } - public void testOneXMIResourceManyViewsOnOneResourceSet() throws Exception + public void testOneXMIResourceManyViewsOnOneResourceSet_XA() throws Exception { byte[] dataOfresD = null; getRepository(REPOSITORY2_NAME); @@ -252,7 +252,7 @@ public class ExternalReferenceTest extends AbstractCDOTest } } - public void testManyViewsOnOneResourceSet() throws Exception + public void testManyViewsOnOneResourceSet_XA() throws Exception { getRepository(REPOSITORY2_NAME); diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/RollbackTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/RollbackTest.java index ae3ff24559..7675724752 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/RollbackTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/RollbackTest.java @@ -4,12 +4,13 @@ * 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 */ package org.eclipse.emf.cdo.tests; +import org.eclipse.emf.cdo.CDOIDDangling; import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.session.CDOSession; @@ -52,7 +53,6 @@ public class RollbackTest extends AbstractCDOTest protected void flow1(CDOTransaction transaction1, CDOTransaction transaction2) { EStructuralFeature category_Products1 = getModel1Package().getCategory_Products(); - EStructuralFeature category_Products2 = getModel1Package().getCategory_Products(); // Client1 @@ -84,7 +84,7 @@ public class RollbackTest extends AbstractCDOTest msg("Object should contains internalEObject"); Object testObject = cdoObjectCategory1.cdoRevision().data().get(category_Products1, 0); - assertEquals(product1, testObject); + assertEquals(product1, ((CDOIDDangling)testObject).getTarget()); transaction1.commit(); @@ -108,7 +108,7 @@ public class RollbackTest extends AbstractCDOTest // Commit process should no have changed state of the object CDOObject cdoObjectCategory2 = CDOUtil.getCDOObject(category2); testObject = cdoObjectCategory2.cdoRevision().data().get(category_Products2, 0); - assertEquals(product2, testObject); + assertEquals(product2, ((CDOIDDangling)testObject).getTarget()); transaction2.rollback(); } diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_246622_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_246622_Test.java index 18d85d4eca..dcc440bf91 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_246622_Test.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_246622_Test.java @@ -4,13 +4,14 @@ * 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: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance */ package org.eclipse.emf.cdo.tests.bugzilla; +import org.eclipse.emf.cdo.CDOIDDangling; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.tests.AbstractCDOTest; @@ -44,9 +45,11 @@ public class Bugzilla_246622_Test extends AbstractCDOTest res.getContents().add(order); order.getOrderDetails().add(orderDetail); EStructuralFeature order_OrderDetailFeature = getModel1Package().getOrder_OrderDetails(); - assertEquals(orderDetail, CDOUtil.getCDOObject(order).cdoRevision().data().get(order_OrderDetailFeature, 0)); - - assertEquals(order, CDOUtil.getCDOObject(orderDetail).cdoRevision().data().getContainerID()); + CDOIDDangling actual = (CDOIDDangling)CDOUtil.getCDOObject(order).cdoRevision().data().get( + order_OrderDetailFeature, 0); + assertEquals(orderDetail, actual.getTarget()); + assertEquals(CDOUtil.getCDOObject(order).cdoID(), CDOUtil.getCDOObject(orderDetail).cdoRevision().data() + .getContainerID()); Order order2 = getModel1Factory().createOrder(); OrderDetail orderDetail2 = getModel1Factory().createOrderDetail(); @@ -54,8 +57,10 @@ public class Bugzilla_246622_Test extends AbstractCDOTest order2.getOrderDetails().add(orderDetail2); res.getContents().add(order2); - assertEquals(orderDetail2, CDOUtil.getCDOObject(order2).cdoRevision().data().get(order_OrderDetailFeature, 0)); - assertEquals(order2, CDOUtil.getCDOObject(orderDetail2).cdoRevision().data().getContainerID()); + assertEquals(CDOUtil.getCDOObject(orderDetail2).cdoID(), CDOUtil.getCDOObject(order2).cdoRevision().data().get( + order_OrderDetailFeature, 0)); + assertEquals(CDOUtil.getCDOObject(order2).cdoID(), CDOUtil.getCDOObject(orderDetail2).cdoRevision().data() + .getContainerID()); msg("Committing"); transaction1.commit(); @@ -77,7 +82,8 @@ public class Bugzilla_246622_Test extends AbstractCDOTest assertEquals(CDOUtil.getCDOObject(orderDetail2).cdoID(), CDOUtil.getCDOObject(order3).cdoRevision().data().get( order_OrderDetailFeature, 0)); - assertEquals(CDOUtil.getCDOObject(order3), CDOUtil.getCDOObject(orderDetail2).cdoRevision().data().getContainerID()); + assertEquals(CDOUtil.getCDOObject(order3).cdoID(), CDOUtil.getCDOObject(orderDetail2).cdoRevision().data() + .getContainerID()); msg("Committing"); transaction1.commit(); @@ -102,7 +108,9 @@ public class Bugzilla_246622_Test extends AbstractCDOTest EStructuralFeature supplier_PurchaseOrder = getModel1Package().getSupplier_PurchaseOrders(); EStructuralFeature purchaseOrder_Supplier = getModel1Package().getPurchaseOrder_Supplier(); - assertEquals(supplier, CDOUtil.getCDOObject(purchaseOrder).cdoRevision().data().get(purchaseOrder_Supplier, 0)); + CDOIDDangling actual = (CDOIDDangling)CDOUtil.getCDOObject(purchaseOrder).cdoRevision().data().get( + purchaseOrder_Supplier, 0); + assertEquals(supplier, actual.getTarget()); assertEquals(purchaseOrder, CDOUtil.getCDOObject(supplier).cdoRevision().data().get(supplier_PurchaseOrder, 0)); msg("Test set with link after"); diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_250757_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_250757_Test.java index 2725ab5c8c..ea43e77e55 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_250757_Test.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_250757_Test.java @@ -19,9 +19,6 @@ import org.eclipse.emf.cdo.tests.model1.PurchaseOrder; import org.eclipse.emf.cdo.tests.model1.Supplier; import org.eclipse.emf.cdo.transaction.CDOTransaction; -import org.eclipse.net4j.util.io.IOUtil; -import org.eclipse.net4j.util.transaction.TransactionException; - import org.eclipse.emf.ecore.EObject; /** @@ -45,15 +42,7 @@ public class Bugzilla_250757_Test extends AbstractCDOTest EObject obj = getModel1Factory().createCompany(); res.getContents().add(obj); res.getContents().remove(obj); - - try - { - transaction1.commit(); - } - catch (TransactionException e) - { - fail("Should not have an exception"); - } + transaction1.commit(); } public void testAddAndModifyAndRemoveFromPersistedList() throws Exception @@ -91,15 +80,7 @@ public class Bugzilla_250757_Test extends AbstractCDOTest res.getContents().add(obj); res.getContents().move(1, 0); res.getContents().remove(obj); - - try - { - transaction1.commit(); - } - catch (TransactionException e) - { - fail("Should not have an exception"); - } + transaction1.commit(); } public void testAddAndMoveAndRemoveFromPersistedListWithSavePoint() throws Exception @@ -118,16 +99,7 @@ public class Bugzilla_250757_Test extends AbstractCDOTest res.getContents().move(1, 0); res.getContents().remove(obj); - - try - { - transaction1.commit(); - } - catch (TransactionException ex) - { - IOUtil.print(ex); - fail("Should not have an exception"); - } + transaction1.commit(); } public void testAddAndMoveAndRemoveFromPersistedListWithManySavePoint() throws Exception @@ -150,15 +122,6 @@ public class Bugzilla_250757_Test extends AbstractCDOTest res.getContents().remove(obj); transaction1.setSavepoint(); - - try - { - transaction1.commit(); - } - catch (TransactionException ex) - { - IOUtil.print(ex); - fail("Should not have an exception"); - } + transaction1.commit(); } } |