From d25ad7cf7e19b229d4f9059c6f4550d33ce50474 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Thu, 12 Mar 2015 18:27:13 +0100 Subject: SONAR-6273 Really fix NPE when working on projects with branches --- .../main/java/org/sonar/batch/report/ComponentsPublisher.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'sonar-batch/src/main/java') diff --git a/sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java b/sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java index 950fa923ddf..186f4368d6e 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java +++ b/sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java @@ -92,7 +92,7 @@ public class ComponentsPublisher implements ReportPublisher { builder.addChildRefs(child.batchId()); } if (ResourceUtils.isProject(r)) { - ProjectDefinition def = reactor.getProject(r.getKey()); + ProjectDefinition def = getProjectDefinition(reactor, r.getKey()); ComponentLink.Builder linkBuilder = ComponentLink.newBuilder(); writeProjectLink(builder, def, linkBuilder, CoreProperties.LINKS_HOME_PAGE, ComponentLinkType.HOME); @@ -108,6 +108,15 @@ public class ComponentsPublisher implements ReportPublisher { } } + private ProjectDefinition getProjectDefinition(ProjectReactor reactor, String keyWithBranch) { + for (ProjectDefinition p : reactor.getProjects()) { + if (keyWithBranch.equals(p.getKeyWithBranch())) { + return p; + } + } + return null; + } + private void writeProjectLink(BatchReport.Component.Builder componentBuilder, ProjectDefinition def, ComponentLink.Builder linkBuilder, String linkProp, ComponentLinkType linkType) { String link = def.properties().get(linkProp); -- cgit v1.2.3