Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 165282 Details for
Bug 306710
IndexOutOfBoundsException upon invalidation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
TestCase
Bugzilla_306710_Test.java (text/plain), 3.54 KB, created by
Pascal Lehmann
on 2010-04-19 10:18:31 EDT
(
hide
)
Description:
TestCase
Filename:
MIME Type:
Creator:
Pascal Lehmann
Created:
2010-04-19 10:18:31 EDT
Size:
3.54 KB
patch
obsolete
>/** > * Copyright (c) 2004 - 2010 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.model1.Category; >import org.eclipse.emf.cdo.tests.model1.Company; >import org.eclipse.emf.cdo.transaction.CDOTransaction; >import org.eclipse.emf.cdo.view.CDOAdapterPolicy; > >import org.eclipse.emf.common.notify.Notification; >import org.eclipse.emf.common.notify.impl.AdapterImpl; > >/** > * IndexOutOfBoundsException in buildNotification. > * <p> > * See bug 306710 > */ >public class Bugzilla_306710_Test extends AbstractCDOTest >{ > > public void testBugzilla_306710() throws Exception > { > final NotifyCounter counter = new NotifyCounter(); > > // setup connection1. > CDOSession session1 = openSession(); > CDOTransaction transaction1 = session1.openTransaction(); > CDOResource resource1 = transaction1.createResource("/test1"); > > // add initial model. > Company company1 = getModel1Factory().createCompany(); > resource1.getContents().add(company1); > Category category1a = getModel1Factory().createCategory(); > company1.getCategories().add(category1a); > transaction1.commit(); > > Thread.sleep(100); > > // setup connection2. > CDOSession session2 = openSession(); > CDOTransaction transaction2 = session2.openTransaction(); > transaction2.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL); > CDOResource resource2 = transaction2.getOrCreateResource("/test1"); > > // add adapter to company2 to have sendDeltaNotification being called. > Company company2 = (Company)resource2.getContents().get(0); > company2.eAdapters().add(new AdapterImpl() > { > @Override > public void notifyChanged(Notification msg) > { > if (msg.getEventType() == Notification.ADD) > { > counter.incAdds(); > } > else if (msg.getEventType() == Notification.REMOVE) > { > counter.incRemoves(); > } > } > }); > > // add and remove an object from category list of company to have the CDONotificationBuilder call remove with an > // index not known to the oldRevision. > Category category1b = getModel1Factory().createCategory(); > company1.getCategories().add(0, category1b); > company1.getCategories().remove(1); > > // commit the changes. > transaction1.commit(); > > // wait for the invalidation to arrive on transaction2. > Thread.sleep(1000); > > // cleanup. > session1.close(); > session2.close(); > > // check if the notifications arrived (which is not the case because of the exception). > assertEquals(1, counter.getAdds()); > assertEquals(1, counter.getRemoves()); > } > > /** > * Helper class to count the notifications. > */ > public static class NotifyCounter > { > > int adds = 0; > > int removes = 0; > > public int getAdds() > { > return adds; > } > > public int getRemoves() > { > return removes; > } > > public void incAdds() > { > adds++; > } > > public void incRemoves() > { > removes++; > } > > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 306710
:
165282
|
167345
|
170330
|
170332
|
170958
|
171709