Bug 480152 - Unable to open Project Explorer

Cleaned up NestedProjectManager code.

Added NPE guards on all places where IResource.getLocation() is used,
since it can always return null for not existing projects and their
children (and in few other cases too of course).

Removed getInstance() block which would immediately fail with NPE if
synchronizing on a null field.

Made locationsToProjects synchronous map to avoid ConcurrentModification
exceptions and inconsistent states while accessing and updating the map
from different threads (the code is exposed to UI and resource callbacks
which usually operate on different threads).

Change-Id: I6947e5db90f08534a7e6c5796bb97c14dfd1e91e
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
1 file changed
tree: f12bfa1b861b6faa58478de35f48eeb21300ffd0
  1. bundles/
  2. examples/
  3. features/
  4. releng/
  5. tests/
  6. .gitignore
  7. .project
  8. CONTRIBUTING.md
  9. pom.xml
  10. README.md
README.md

Platform UI

Platform UI provides the basic building blocks for user interfaces built with Eclipse. Some of these form the Eclipse Rich Client Platform (RCP) and can be used for arbitrary rich client applications, while others are specific to the Eclipse IDE. The Platform UI codebase is built on top of the Eclipse Standard Widget Toolkit (SWT), which is developed as an independent project.

For more information, refer to the [Platform UI wiki page] 1.

Contributions

For information how to contribute to the Platform UI project see [Platform UI - How to contribute wiki page] 2.

License

Eclipse Public License (EPL) v1.0