diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java index df6016f2e3..b321823fbf 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_313913_Test.java @@ -1,77 +1,77 @@ -/*
- * 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:
- * Eike Stepper - 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.model2.Task;
-import org.eclipse.emf.cdo.tests.model2.TaskContainer;
-import org.eclipse.emf.cdo.tests.util.TestAdapter;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.view.CDOAdapterPolicy;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * IndexOutOfBoundsException on View Invalidation.
- * <p>
- * See bug 313913
- */
-public class Bugzilla_313913_Test extends AbstractCDOTest
-{
- public void testAccessOldValue() throws Exception
- {
- final CDOSession session = openSession();
- final CDOTransaction transaction = session.openTransaction();
- transaction.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL);
-
- TaskContainer container = getModel2Factory().createTaskContainer();
-
- for (int i = 0; i < 2; i++)
- {
- Task task = getModel2Factory().createTask();
- container.getTasks().add(task);
- }
-
- final CDOResource resourceA = transaction.createResource(getResourcePath("/test1"));
- resourceA.getContents().add(container);
- transaction.commit();
-
- CDOView view = session.openView();
- view.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL);
- view.getObject(container).eAdapters().add(new TestAdapter());
-
- CDOView view2 = session.openView();
- view2.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL);
- view2.getObject(container).eAdapters().add(new TestAdapter());
-
- CDOView view3 = session.openView();
- view3.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL);
- view3.getObject(container).eAdapters().add(new TestAdapter());
-
- List<Task> tasks = new ArrayList<Task>(container.getTasks());
- container.getTasks().removeAll(tasks);
-
- container.getTasks().add(getModel2Factory().createTask());
- transaction.commit();
-
- sleep(100);
-
- System.out.println(container.getTasks().toString());
- System.out.println(view.getObject(container).getTasks().toString());
- // this will fail...
- System.out.println(view2.getObject(container).getTasks().toString());
-
- }
-}
+/* + * 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: + * Eike Stepper - 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.model2.Task; +import org.eclipse.emf.cdo.tests.model2.TaskContainer; +import org.eclipse.emf.cdo.tests.util.TestAdapter; +import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.emf.cdo.view.CDOAdapterPolicy; +import org.eclipse.emf.cdo.view.CDOView; + +import java.util.ArrayList; +import java.util.List; + +/** + * IndexOutOfBoundsException on View Invalidation. + * <p> + * See bug 313913 + */ +public class Bugzilla_313913_Test extends AbstractCDOTest +{ + public void testAccessOldValue() throws Exception + { + final CDOSession session = openSession(); + final CDOTransaction transaction = session.openTransaction(); + transaction.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL); + + TaskContainer container = getModel2Factory().createTaskContainer(); + + for (int i = 0; i < 2; i++) + { + Task task = getModel2Factory().createTask(); + container.getTasks().add(task); + } + + final CDOResource resourceA = transaction.createResource(getResourcePath("/test1")); + resourceA.getContents().add(container); + transaction.commit(); + + CDOView view = session.openView(); + view.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL); + view.getObject(container).eAdapters().add(new TestAdapter()); + + CDOView view2 = session.openView(); + view2.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL); + view2.getObject(container).eAdapters().add(new TestAdapter()); + + CDOView view3 = session.openView(); + view3.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL); + view3.getObject(container).eAdapters().add(new TestAdapter()); + + List<Task> tasks = new ArrayList<Task>(container.getTasks()); + container.getTasks().removeAll(tasks); + + container.getTasks().add(getModel2Factory().createTask()); + transaction.commit(); + + sleep(100); + + System.out.println(container.getTasks().toString()); + System.out.println(view.getObject(container).getTasks().toString()); + // this will fail... + System.out.println(view2.getObject(container).getTasks().toString()); + + } +} |