Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTestsAllConfigs.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/EMFTest.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/GeneratedEcoreTest.java7
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273565_Test.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273758_Test.java89
6 files changed, 102 insertions, 10 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTestsAllConfigs.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTestsAllConfigs.java
index 1ad89757dc..d3f6d6b118 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTestsAllConfigs.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTestsAllConfigs.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
*/
@@ -49,6 +49,7 @@ import org.eclipse.emf.cdo.tests.bugzilla.Bugzilla_270429_Test;
import org.eclipse.emf.cdo.tests.bugzilla.Bugzilla_272861_Test;
import org.eclipse.emf.cdo.tests.bugzilla.Bugzilla_273233_Test;
import org.eclipse.emf.cdo.tests.bugzilla.Bugzilla_273565_Test;
+import org.eclipse.emf.cdo.tests.bugzilla.Bugzilla_273758_Test;
import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
import org.eclipse.emf.cdo.tests.config.impl.ConfigTestSuite;
@@ -145,6 +146,7 @@ public abstract class AllTestsAllConfigs extends ConfigTestSuite
testClasses.add(Bugzilla_272861_Test.class);
testClasses.add(Bugzilla_273233_Test.class);
testClasses.add(Bugzilla_273565_Test.class);
+ testClasses.add(Bugzilla_273758_Test.class);
// TODO testClasses.add(NonCDOResourceTest.class);
// TODO testClasses.add(GeneratedEcoreTest.class);
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/EMFTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/EMFTest.java
index 5b918bc5fd..1eabe5eb63 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/EMFTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/EMFTest.java
@@ -10,9 +10,8 @@
*/
package org.eclipse.emf.cdo.tests;
-import org.eclipse.emf.cdo.common.model.EMFUtil;
-
import org.eclipse.net4j.tests.AbstractOMTest;
+import org.eclipse.net4j.tests.TestEMFUtil;
import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.emf.common.util.URI;
@@ -37,7 +36,7 @@ public class EMFTest extends AbstractOMTest
public void testProxy() throws Exception
{
- EPackage model2 = (EPackage)EMFUtil.loadXMI("model2.ecore");
+ EPackage model2 = (EPackage)TestEMFUtil.loadXMI("model2.ecore");
EClass companyProxy = (EClass)model2.getEClassifier("CompanyProxy");
EReference reference = (EReference)companyProxy.getEStructuralFeature("company");
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/GeneratedEcoreTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/GeneratedEcoreTest.java
index f3e481d107..c7bb22df1c 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/GeneratedEcoreTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/GeneratedEcoreTest.java
@@ -10,12 +10,13 @@
*/
package org.eclipse.emf.cdo.tests;
-import org.eclipse.emf.cdo.common.model.EMFUtil;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.net4j.tests.TestEMFUtil;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
@@ -40,7 +41,7 @@ public class GeneratedEcoreTest extends AbstractCDOTest
CDOTransaction transaction1 = session1.openTransaction();
CDOResource res1 = transaction1.createResource("/res");
- EPackage root1 = (EPackage)EMFUtil.loadEcore("model1.ecore", session1.getPackageRegistry());
+ EPackage root1 = (EPackage)TestEMFUtil.loadEcore("model1.ecore", session1.getPackageRegistry());
res1.getContents().add(root1);
transaction1.commit();
@@ -55,7 +56,7 @@ public class GeneratedEcoreTest extends AbstractCDOTest
assertEquals(res2, root2.eResource());
CDOUtil.load(root2, transaction2);
- EMFUtil.saveEcore("model1X.ecore", root2);
+ TestEMFUtil.saveEcore("model1X.ecore", root2);
// assertTrue("Models differ", EcoreUtil.equals(root1, root2));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java
index 5d1634ab7d..ee974f0a86 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java
@@ -204,6 +204,7 @@ public class LockingManagerTest extends AbstractCDOTest
CDOObject cdoCompany2 = CDOUtil.getCDOObject(company2);
transaction.commit();
+
try
{
cdoCompany2.cdoReadLock().lock();
@@ -211,8 +212,8 @@ public class LockingManagerTest extends AbstractCDOTest
}
catch (IllegalArgumentException ex)
{
-
}
+
assertEquals(false, cdoCompany2.cdoReadLock().isLocked());
assertEquals(false, cdoCompany2.cdoReadLock().isLockedByOthers());
}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273565_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273565_Test.java
index 2ed15dd435..b04e46667b 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273565_Test.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273565_Test.java
@@ -153,6 +153,7 @@ public class Bugzilla_273565_Test extends AbstractCDOTest
Thread.sleep(100);
}
+
transaction.getLock().lock();
transaction.getLock().unlock();
@@ -178,7 +179,6 @@ public class Bugzilla_273565_Test extends AbstractCDOTest
for (int i = 0; i < 50 && exception[0] == null; i++)
{
-
orderDetail.setPrice(1);
CDOUtil.getCDOObject(orderDetail.getOrder()).cdoWriteLock().lock();
orderDetail.getOrder().getOrderDetails().add(getModel1Factory().createOrderDetail());
@@ -194,6 +194,7 @@ public class Bugzilla_273565_Test extends AbstractCDOTest
Thread.sleep(100);
}
+
transaction.getLock().lock();
transaction.getLock().unlock();
}
@@ -255,7 +256,6 @@ public class Bugzilla_273565_Test extends AbstractCDOTest
CDOUtil.getCDOObject(orderDetail).cdoWriteLock().lock();
orderDetail.setPrice(1);
transaction.commit();
-
}
done[0] = true;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273758_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273758_Test.java
new file mode 100644
index 0000000000..71f6c93ccd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_273758_Test.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * 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:
+ * Victor Roldan Betancort - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.bugzilla;
+
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.tests.model1.Model1Package;
+import org.eclipse.emf.cdo.tests.model1.OrderDetail;
+import org.eclipse.emf.cdo.tests.model1.Product1;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.net4j.tests.TestEMFUtil;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Export resource miss all of the oneToMany references
+ * <p>
+ * See https://bugs.eclipse.org/273758
+ *
+ * @author Victor Roldan Betancort
+ */
+public class Bugzilla_273758_Test extends AbstractCDOTest
+{
+ public void test_export_resource_contents() throws Exception
+ {
+ {
+ // Create 3 root objects: 1 Product1, 2 OrderDetails.
+ // Product1 will reference both OrderDetails
+
+ Product1 product = getModel1Factory().createProduct1();
+ OrderDetail detail1 = getModel1Factory().createOrderDetail();
+ detail1.setPrice(1.99f);
+ OrderDetail detail2 = getModel1Factory().createOrderDetail();
+ detail2.setPrice(9.99f);
+
+ product.getOrderDetails().add(detail1);
+ product.getOrderDetails().add(detail2);
+
+ CDOSession session = openModel1Session();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/test1");
+
+ resource.getContents().add(product);
+ resource.getContents().add(detail1);
+ resource.getContents().add(detail2);
+
+ transaction.commit();
+ session.close();
+ }
+
+ {
+ CDOSession session = openModel1Session();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.getResource("/test1");
+
+ Product1 product2 = (Product1)resource.getContents().get(0);
+ // Check in memory Product1 EObject reference integrity
+ assertEquals(2, product2.getOrderDetails().size());
+
+ Collection<EObject> collection = EcoreUtil.copyAll(resource.getContents());
+ List<EObject> sourceContents = new ArrayList<EObject>(collection);
+
+ // Target Resource
+ File file = File.createTempFile("exportModel1", null);
+ String tempFileURI = file.toURI().toString();
+ TestEMFUtil.saveXMI(tempFileURI, sourceContents);
+
+ List<EObject> list = TestEMFUtil.loadXMIMultiple(tempFileURI, Model1Package.eINSTANCE);
+ Product1 product3 = (Product1)list.get(0);
+ assertEquals(2, product3.getOrderDetails().size());
+ }
+ }
+}

Back to the top