Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-07-22 10:24:39 +0000
committerEike Stepper2009-07-22 10:24:39 +0000
commit64687dac8febb26aaa05c630b36d75e5d25907f1 (patch)
tree283828b451a4c626ca8c21c5fbae9052cba1bb4d
parent3161e569d42ca254be25aa5f1ebf37daa43993fa (diff)
downloadcdo-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
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CrossReferenceTest.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ExternalReferenceTest.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/RollbackTest.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_246622_Test.java24
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_250757_Test.java45
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();
}
}

Back to the top