diff options
author | Igor Fedorenko | 2013-04-28 03:12:40 +0000 |
---|---|---|
committer | Igor Fedorenko | 2013-04-28 03:12:40 +0000 |
commit | 6395f4980834edff03cea30ed9ab734616026337 (patch) | |
tree | 5e74a75bd7df4ba592c7b3d8d0b92ca263f6cd2b /org.eclipse.m2e.jdt | |
parent | c4377bd039acb4d96ca93356699a685f91479a27 (diff) | |
download | m2e-core-6395f4980834edff03cea30ed9ab734616026337.tar.gz m2e-core-6395f4980834edff03cea30ed9ab734616026337.tar.xz m2e-core-6395f4980834edff03cea30ed9ab734616026337.zip |
405880 fixed NPE during sources download in some cases
DownloadSourcesJob needed to call facade.getMavenProject(monitor)
to load MavenProject instance after workspace restart.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
Diffstat (limited to 'org.eclipse.m2e.jdt')
-rw-r--r-- | org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DownloadSourcesJob.java | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DownloadSourcesJob.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DownloadSourcesJob.java index 63c2a06e..dac28f71 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DownloadSourcesJob.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DownloadSourcesJob.java @@ -134,24 +134,20 @@ class DownloadSourcesJob extends Job implements IBackgroundProcessingQueue { Map<IPackageFragmentRoot, File[]> nonMavenProjects = new LinkedHashMap<IPackageFragmentRoot, File[]>(); for(DownloadRequest request : downloadRequests) { - if(request.artifact != null) - try { - IMavenProjectFacade projectFacade = projectManager.create(request.project, monitor); - - if(projectFacade != null) { - downloadMaven(projectFacade, request.artifact, request.downloadSources, request.downloadJavaDoc, monitor); - mavenProjects.add(request.project); - } else { - List<ArtifactRepository> repositories = maven.getArtifactRepositories(); - - File[] files = downloadAttachments(request.artifact, repositories, request.downloadSources, - request.downloadJavaDoc, monitor); - - nonMavenProjects.put(request.fragment, files); - } - } catch(CoreException ex) { - exceptions.add(ex.getStatus()); + try { + IMavenProjectFacade projectFacade = projectManager.create(request.project, monitor); + if(projectFacade != null) { + downloadMaven(projectFacade, request.artifact, request.downloadSources, request.downloadJavaDoc, monitor); + mavenProjects.add(request.project); + } else if(request.artifact != null) { + List<ArtifactRepository> repositories = maven.getArtifactRepositories(); + File[] files = downloadAttachments(request.artifact, repositories, request.downloadSources, + request.downloadJavaDoc, monitor); + nonMavenProjects.put(request.fragment, files); } + } catch(CoreException ex) { + exceptions.add(ex.getStatus()); + } } if(!mavenProjects.isEmpty() || !nonMavenProjects.isEmpty()) { |