Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[Bug 74] fixed concurrentModificationExceptions for Synchronized EList's #204
EMF isn't thread safe and therefor its required to synchronize read and writes. Write access in uDig is synchroinzed using a Lock Object. But using an Iterator to read Elements of the list were not sychronized correctly.
In addition the javadoc indicated that users should synchronize on the list itself. If implemented this way synchronization is not consistent because the monitor is based on two different objects, the EList and the Lock Object. In result it causes ConcurrentModificationException's.
The pull request:
Many thanks to Erdal Karaca (@erdalkaraca) for the pair programming session!
Hudson job for pull request finished successfully and two additional tests passed (https://hudson.locationtech.org/udig/job/uDig-PR-NG/12/testReport/org.locationtech.udig.project.internal.impl/SynchronizedEObjectEListTest/)