Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java494
1 files changed, 247 insertions, 247 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java
index 93fdfc9e64..0572ba8354 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_338884_Test.java
@@ -1,247 +1,247 @@
-/*
- * Copyright (c) 2004 - 2011 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:
- * Caspar De Groot - 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.model4.ContainedElementNoOpposite;
-import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
-import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
-import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
-import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
-import org.eclipse.emf.cdo.tests.model4.model4Factory;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CommitException;
-import org.eclipse.emf.cdo.util.CommitIntegrityException;
-
-import org.eclipse.net4j.util.transaction.TransactionException;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * See bug 338884.
- *
- * @author Caspar De Groot
- */
-public class Bugzilla_338884_Test extends AbstractCDOTest
-{
- public void test_single() throws CommitException
- {
- CDOSession session = openSession();
- CDOTransaction tx = session.openTransaction();
- CDOResource resource = tx.createResource(getResourcePath("test"));
-
- // 1. Create object A;
- model4Factory factory = getModel4Factory();
- RefSingleNonContainedNPL referencer = factory.createRefSingleNonContainedNPL();
- resource.getContents().add(referencer);
-
- // 2. Commit;
- tx.commit();
-
- // 3. Create object B;
- ContainedElementNoOpposite element = factory.createContainedElementNoOpposite();
- resource.getContents().add(element);
-
- // 4. Create reference from object A to object B;
- referencer.setElement(element);
-
- // 5. Add object A to committables, but not add B;
- tx.setCommittables(Collections.singleton(referencer));
-
- // 6. Commit.
- try
- {
- tx.commit();
- fail("Should have thrown " + CommitException.class.getName());
- }
- catch (CommitException e)
- {
- Throwable t = e.getCause().getCause();
- if (t instanceof CommitIntegrityException)
- {
- // Good
- }
- else
- {
- fail("Unexpected exception type: " + t.getClass().getName());
- }
- }
-
- tx.close();
- session.close();
- }
-
- public void test_multi() throws CommitException
- {
- CDOSession session = openSession();
- CDOTransaction tx = session.openTransaction();
- CDOResource resource = tx.createResource(getResourcePath("test"));
-
- // 1. Create object A;
- model4Factory factory = getModel4Factory();
- RefMultiNonContainedNPL referencer = factory.createRefMultiNonContainedNPL();
- resource.getContents().add(referencer);
-
- // 2. Commit;
- tx.commit();
-
- // 3. Create object B;
- ContainedElementNoOpposite element = factory.createContainedElementNoOpposite();
- resource.getContents().add(element);
-
- // 4. Create reference from object A to object B;
- referencer.getElements().add(element);
-
- // 5. Add object A to committables, but not add B;
- tx.setCommittables(Collections.singleton(referencer));
-
- // 6. Commit.
- try
- {
- tx.commit();
- fail("Should have thrown " + CommitException.class.getName());
- }
- catch (CommitException e)
- {
- Throwable t = e.getCause().getCause();
- if (t instanceof CommitIntegrityException)
- {
- // Good
- }
- else
- {
- fail("Unexpected exception type: " + t.getClass().getName());
- }
- }
-
- tx.close();
- session.close();
- }
-
- public void test_canHandleUnset() throws CommitException
- {
- CDOSession session = openSession();
- CDOTransaction tx = session.openTransaction();
- CDOResource resource = tx.createResource(getResourcePath("test"));
-
- model4Factory factory = getModel4Factory();
- ContainedElementNoOpposite dummy = factory.createContainedElementNoOpposite();
- resource.getContents().add(dummy);
-
- RefSingleNonContainedNPL referencer = factory.createRefSingleNonContainedNPL();
- resource.getContents().add(referencer);
-
- ContainedElementNoOpposite referencee = factory.createContainedElementNoOpposite();
- resource.getContents().add(referencee);
-
- referencer.setElement(referencee);
-
- tx.commit();
-
- EReference ref = getModel4Package().getRefSingleNonContainedNPL_Element();
- referencer.eUnset(ref);
-
- // Make the dummy object dirty to make the commit partial
- dummy.setName("dirty");
-
- Set<EObject> committables = new HashSet<EObject>();
- committables.add(referencer);
- committables.add(referencee);
- tx.setCommittables(committables);
- tx.commit();
-
- session.close();
- }
-
- public void test_nonBidiMultiRef_newTarget() throws CommitException
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
-
- model4Factory factory = getModel4Factory();
-
- CDOResource resource = transaction.createResource(getResourcePath("test"));
- transaction.commit();
-
- RefMultiContainedNPL parent = factory.createRefMultiContainedNPL();
- resource.getContents().add(parent);
-
- ContainedElementNoOpposite child = factory.createContainedElementNoOpposite();
- parent.getElements().add(child);
-
- transaction.setCommittables(new HashSet<EObject>(Arrays.asList(new EObject[] { resource, parent })));
- try
- {
- transaction.commit();
- fail("Should have thrown an exception");
- }
- catch (CommitException e)
- {
- Throwable c = e.getCause();
- if (c instanceof TransactionException && c.getCause() instanceof CommitIntegrityException)
- {
- // Good
- }
- else
- {
- throw e;
- }
- }
-
- session.close();
- }
-
- public void test_nonBidiSingleRef_newTarget() throws CommitException
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
-
- model4Factory factory = getModel4Factory();
-
- CDOResource resource = transaction.createResource(getResourcePath("test"));
- transaction.commit();
-
- RefSingleContainedNPL parent = factory.createRefSingleContainedNPL();
- resource.getContents().add(parent);
-
- ContainedElementNoOpposite child = factory.createContainedElementNoOpposite();
- parent.setElement(child);
-
- transaction.setCommittables(new HashSet<EObject>(Arrays.asList(new EObject[] { resource, parent })));
- try
- {
- transaction.commit();
- fail("Should have thrown an exception");
- }
- catch (CommitException e)
- {
- Throwable c = e.getCause();
- if (c instanceof TransactionException && c.getCause() instanceof CommitIntegrityException)
- {
- // Good
- }
- else
- {
- throw e;
- }
- }
-
- session.close();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 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:
+ * Caspar De Groot - 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.model4.ContainedElementNoOpposite;
+import org.eclipse.emf.cdo.tests.model4.RefMultiContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefMultiNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.RefSingleNonContainedNPL;
+import org.eclipse.emf.cdo.tests.model4.model4Factory;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CommitException;
+import org.eclipse.emf.cdo.util.CommitIntegrityException;
+
+import org.eclipse.net4j.util.transaction.TransactionException;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * See bug 338884.
+ *
+ * @author Caspar De Groot
+ */
+public class Bugzilla_338884_Test extends AbstractCDOTest
+{
+ public void test_single() throws CommitException
+ {
+ CDOSession session = openSession();
+ CDOTransaction tx = session.openTransaction();
+ CDOResource resource = tx.createResource(getResourcePath("test"));
+
+ // 1. Create object A;
+ model4Factory factory = getModel4Factory();
+ RefSingleNonContainedNPL referencer = factory.createRefSingleNonContainedNPL();
+ resource.getContents().add(referencer);
+
+ // 2. Commit;
+ tx.commit();
+
+ // 3. Create object B;
+ ContainedElementNoOpposite element = factory.createContainedElementNoOpposite();
+ resource.getContents().add(element);
+
+ // 4. Create reference from object A to object B;
+ referencer.setElement(element);
+
+ // 5. Add object A to committables, but not add B;
+ tx.setCommittables(Collections.singleton(referencer));
+
+ // 6. Commit.
+ try
+ {
+ tx.commit();
+ fail("Should have thrown " + CommitException.class.getName());
+ }
+ catch (CommitException e)
+ {
+ Throwable t = e.getCause().getCause();
+ if (t instanceof CommitIntegrityException)
+ {
+ // Good
+ }
+ else
+ {
+ fail("Unexpected exception type: " + t.getClass().getName());
+ }
+ }
+
+ tx.close();
+ session.close();
+ }
+
+ public void test_multi() throws CommitException
+ {
+ CDOSession session = openSession();
+ CDOTransaction tx = session.openTransaction();
+ CDOResource resource = tx.createResource(getResourcePath("test"));
+
+ // 1. Create object A;
+ model4Factory factory = getModel4Factory();
+ RefMultiNonContainedNPL referencer = factory.createRefMultiNonContainedNPL();
+ resource.getContents().add(referencer);
+
+ // 2. Commit;
+ tx.commit();
+
+ // 3. Create object B;
+ ContainedElementNoOpposite element = factory.createContainedElementNoOpposite();
+ resource.getContents().add(element);
+
+ // 4. Create reference from object A to object B;
+ referencer.getElements().add(element);
+
+ // 5. Add object A to committables, but not add B;
+ tx.setCommittables(Collections.singleton(referencer));
+
+ // 6. Commit.
+ try
+ {
+ tx.commit();
+ fail("Should have thrown " + CommitException.class.getName());
+ }
+ catch (CommitException e)
+ {
+ Throwable t = e.getCause().getCause();
+ if (t instanceof CommitIntegrityException)
+ {
+ // Good
+ }
+ else
+ {
+ fail("Unexpected exception type: " + t.getClass().getName());
+ }
+ }
+
+ tx.close();
+ session.close();
+ }
+
+ public void test_canHandleUnset() throws CommitException
+ {
+ CDOSession session = openSession();
+ CDOTransaction tx = session.openTransaction();
+ CDOResource resource = tx.createResource(getResourcePath("test"));
+
+ model4Factory factory = getModel4Factory();
+ ContainedElementNoOpposite dummy = factory.createContainedElementNoOpposite();
+ resource.getContents().add(dummy);
+
+ RefSingleNonContainedNPL referencer = factory.createRefSingleNonContainedNPL();
+ resource.getContents().add(referencer);
+
+ ContainedElementNoOpposite referencee = factory.createContainedElementNoOpposite();
+ resource.getContents().add(referencee);
+
+ referencer.setElement(referencee);
+
+ tx.commit();
+
+ EReference ref = getModel4Package().getRefSingleNonContainedNPL_Element();
+ referencer.eUnset(ref);
+
+ // Make the dummy object dirty to make the commit partial
+ dummy.setName("dirty");
+
+ Set<EObject> committables = new HashSet<EObject>();
+ committables.add(referencer);
+ committables.add(referencee);
+ tx.setCommittables(committables);
+ tx.commit();
+
+ session.close();
+ }
+
+ public void test_nonBidiMultiRef_newTarget() throws CommitException
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+
+ model4Factory factory = getModel4Factory();
+
+ CDOResource resource = transaction.createResource(getResourcePath("test"));
+ transaction.commit();
+
+ RefMultiContainedNPL parent = factory.createRefMultiContainedNPL();
+ resource.getContents().add(parent);
+
+ ContainedElementNoOpposite child = factory.createContainedElementNoOpposite();
+ parent.getElements().add(child);
+
+ transaction.setCommittables(new HashSet<EObject>(Arrays.asList(new EObject[] { resource, parent })));
+ try
+ {
+ transaction.commit();
+ fail("Should have thrown an exception");
+ }
+ catch (CommitException e)
+ {
+ Throwable c = e.getCause();
+ if (c instanceof TransactionException && c.getCause() instanceof CommitIntegrityException)
+ {
+ // Good
+ }
+ else
+ {
+ throw e;
+ }
+ }
+
+ session.close();
+ }
+
+ public void test_nonBidiSingleRef_newTarget() throws CommitException
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+
+ model4Factory factory = getModel4Factory();
+
+ CDOResource resource = transaction.createResource(getResourcePath("test"));
+ transaction.commit();
+
+ RefSingleContainedNPL parent = factory.createRefSingleContainedNPL();
+ resource.getContents().add(parent);
+
+ ContainedElementNoOpposite child = factory.createContainedElementNoOpposite();
+ parent.setElement(child);
+
+ transaction.setCommittables(new HashSet<EObject>(Arrays.asList(new EObject[] { resource, parent })));
+ try
+ {
+ transaction.commit();
+ fail("Should have thrown an exception");
+ }
+ catch (CommitException e)
+ {
+ Throwable c = e.getCause();
+ if (c instanceof TransactionException && c.getCause() instanceof CommitIntegrityException)
+ {
+ // Good
+ }
+ else
+ {
+ throw e;
+ }
+ }
+
+ session.close();
+ }
+}

Back to the top