Bug 553789: Fix NPE when 'Hide Nested Projects' is enabled
Change-Id: I159875ff247b8ba95a71f28bb3cea1e6a0842bb3
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java
index 5a9ca9b..f19bdc5 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java
@@ -183,7 +183,8 @@
try {
resource.setHidden(true);
} catch(Exception ex) {
- log.error("Failed to hide resource; " + resource.getLocation().toOSString(), ex);
+ log.error("Failed to hide resource: "
+ + (resource.getLocation() == null ? resource.getName() : resource.getLocation().toOSString()), ex);
}
}
@@ -200,11 +201,15 @@
if(existingProjects != null) {
for(IProject project : existingProjects) {
- projectFileMap.put(project.getLocation().toFile(), project);
+ if(project.getLocation() != null) {
+ projectFileMap.put(project.getLocation().toFile(), project);
+ }
}
}
for(IProject project : projects) {
- projectFileMap.put(project.getLocation().toFile(), project);
+ if(project.getLocation() != null) {
+ projectFileMap.put(project.getLocation().toFile(), project);
+ }
}
if(monitor == null) {
@@ -217,6 +222,9 @@
if(monitor.isCanceled()) {
return;
}
+ if(project.getLocation() == null) {
+ continue;
+ }
File projectFile = project.getLocation().toFile();
IProject physicalParentProject = projectFileMap.get(projectFile.getParentFile());
if(physicalParentProject == null) {