Bug 560689 - NPE accessing IResource.getLocation on a non standard
filesystem (EFS) implementation
- Fix NPE in context menu 'Maven > Update Project ...'
- Fix NPE in context menu 'Maven > Download Javadoc' and 'Maven >
Download Sources'
Change-Id: Ib91833f6f5de6194250121068b643980c50d28ce
Signed-off-by: Reto Weiss <reto.weiss@axonivy.com>
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/components/NestedProjectsComposite.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/components/NestedProjectsComposite.java
index d47d7bb..1c89c90 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/components/NestedProjectsComposite.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/components/NestedProjectsComposite.java
@@ -352,6 +352,9 @@
try {
IFileStore store = EFS.getStore(locationURI);
File file = store.toLocalFile(0, null);
+ if(file == null) {
+ file = store.toLocalFile(EFS.CACHE, null);
+ }
return file.toString() + SEPARATOR;
} catch(CoreException ex) {
log.error(ex.getMessage(), ex);
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java
index 765de98..cbadad2 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java
@@ -915,7 +915,7 @@
/*package*/MavenExecutionRequest configureExecutionRequest(MavenExecutionRequest request, IProjectRegistry state,
IFile pom, ResolverConfiguration resolverConfiguration) throws CoreException {
- if(pom != null) {
+ if(pom != null && pom.getLocation() != null) {
request.setPom(pom.getLocation().toFile());
}