]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10489 stop filtering x-file locations in scanner
authorStas Vilchik <stas.vilchik@sonarsource.com>
Fri, 23 Mar 2018 10:15:38 +0000 (11:15 +0100)
committerSonarTech <sonartech@sonarsource.com>
Tue, 27 Mar 2018 18:22:33 +0000 (20:22 +0200)
sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java
sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java

index fc4affc8bd1a711d2e5fb34eba3f9e63b12c9139..ef7bda53f1668c0e7125835d8407de7ea1eb9b5b 100644 (file)
@@ -111,12 +111,6 @@ public class ModuleIssues {
       flowBuilder.clear();
       for (org.sonar.api.batch.sensor.issue.IssueLocation location : flow.locations()) {
         int locationComponentRef = ((DefaultInputComponent) location.inputComponent()).batchId();
-        if (locationComponentRef != componentRef) {
-          // Some analyzers are trying to report cross file secondary locations. The API was designed to support it, but server side is not
-          // ready to handle it (especially the UI)
-          // So let's skip them for now (SONAR-9929)
-          continue;
-        }
         locationBuilder.clear();
         locationBuilder.setComponentRef(locationComponentRef);
         String message = location.message();
index 1db69331274d411e37a418b01da134210717d5ff..07f627c8423d8dc1cdbe54a984f5a2857224c277 100644 (file)
@@ -19,7 +19,6 @@
  */
 package org.sonar.scanner.issue;
 
-import java.util.Arrays;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -183,28 +182,6 @@ public class ModuleIssuesTest {
     assertThat(argument.getValue().getMsg()).isEqualTo("Avoid Cycle");
   }
 
-  // SONAR-9929 Filter secondary locations that are on different files
-  @Test
-  public void skip_cross_file_secondary_locations() {
-    ruleBuilder.add(SQUID_RULE_KEY).setName(SQUID_RULE_NAME);
-    activeRulesBuilder.create(SQUID_RULE_KEY).setSeverity(Severity.INFO).setName(SQUID_RULE_NAME).activate();
-    initModuleIssues();
-
-    DefaultIssue issue = new DefaultIssue()
-      .at(new DefaultIssueLocation().on(file).at(file.selectLine(3)).message("Foo"))
-      .forRule(SQUID_RULE_KEY)
-      .addFlow(Arrays.asList(new DefaultIssueLocation().on(file).at(file.selectLine(4)).message("Location 1"),
-        new DefaultIssueLocation().on(new TestInputFileBuilder("foo", "src/Foo2.php").initMetadata("Foo\nBar\nBiz\n").build()).at(file.selectLine(3)).message("Location outside")));
-    when(filters.accept(anyString(), any(ScannerReport.Issue.class))).thenReturn(true);
-
-    boolean added = moduleIssues.initAndAddIssue(issue);
-
-    assertThat(added).isTrue();
-    ArgumentCaptor<ScannerReport.Issue> argument = ArgumentCaptor.forClass(ScannerReport.Issue.class);
-    verify(reportPublisher.getWriter()).appendComponentIssue(eq(file.batchId()), argument.capture());
-    assertThat(argument.getValue().getFlow(0).getLocationList()).hasSize(1);
-  }
-
   @Test
   public void filter_issue() {
     ruleBuilder.add(SQUID_RULE_KEY).setName(SQUID_RULE_NAME);