]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6262 Fix NPE in link publisher on Views
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 16 Mar 2015 14:42:43 +0000 (15:42 +0100)
committerJulien HENRY <julien.henry@sonarsource.com>
Mon, 16 Mar 2015 14:55:22 +0000 (15:55 +0100)
sonar-batch/src/main/java/org/sonar/batch/report/ComponentsPublisher.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceUtils.java

index 186f4368d6e3eece059d818e0d360abcda125cf2..06f5998bb7dbc311e622dfea4c380c72a9ec00ad 100644 (file)
@@ -91,7 +91,7 @@ public class ComponentsPublisher implements ReportPublisher {
     for (BatchResource child : batchResource.children()) {
       builder.addChildRefs(child.batchId());
     }
-    if (ResourceUtils.isProject(r)) {
+    if (isRealProjectOrModule(r)) {
       ProjectDefinition def = getProjectDefinition(reactor, r.getKey());
       ComponentLink.Builder linkBuilder = ComponentLink.newBuilder();
 
@@ -108,6 +108,11 @@ public class ComponentsPublisher implements ReportPublisher {
     }
   }
 
+  // Exclude views
+  private static boolean isRealProjectOrModule(Resource r) {
+    return ResourceUtils.isProject(r) && !ResourceUtils.isView(r) && !ResourceUtils.isSubview(r);
+  }
+
   private ProjectDefinition getProjectDefinition(ProjectReactor reactor, String keyWithBranch) {
     for (ProjectDefinition p : reactor.getProjects()) {
       if (keyWithBranch.equals(p.getKeyWithBranch())) {
index 80d273a13edfac8171e098bf5934eacfee978bbf..4241f174b5a9a03d36c487e285996ae5af479cb7 100644 (file)
@@ -87,7 +87,7 @@ public final class ResourceUtils {
   }
 
   /**
-   * This method equal isRootProject(resource) or isModuleProject(resource)
+   * This method equal isRootProject(resource) or isModuleProject(resource) or isView(resource) or isSubview(resource)
    */
   public static boolean isProject(Resource resource) {
     return isSet(resource);