From e8bf534ec680e583b0e7683c92f1be31ab66a74e Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Thu, 21 Apr 2011 16:56:21 +0200 Subject: SONAR-2380 The "violations" web service API must not return "false-positive" violation Also modified the batch side ViolationQuery class that I created so that they have the same API. --- .../java/org/sonar/batch/index/DefaultIndex.java | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'sonar-batch/src/main/java/org') diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java index 5b4dd14c5fd..1accc7b4ea6 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java @@ -19,9 +19,15 @@ */ package org.sonar.batch.index; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -30,9 +36,17 @@ import org.sonar.api.batch.Event; import org.sonar.api.batch.SonarIndex; import org.sonar.api.database.model.ResourceModel; import org.sonar.api.design.Dependency; -import org.sonar.api.measures.*; +import org.sonar.api.measures.Measure; +import org.sonar.api.measures.MeasuresFilter; +import org.sonar.api.measures.MeasuresFilters; +import org.sonar.api.measures.Metric; +import org.sonar.api.measures.MetricFinder; import org.sonar.api.profiles.RulesProfile; -import org.sonar.api.resources.*; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.ProjectLink; +import org.sonar.api.resources.Resource; +import org.sonar.api.resources.ResourceUtils; +import org.sonar.api.resources.Scopes; import org.sonar.api.rules.ActiveRule; import org.sonar.api.rules.Violation; import org.sonar.api.utils.SonarException; @@ -42,7 +56,9 @@ import org.sonar.batch.ProjectTree; import org.sonar.batch.ResourceFilters; import org.sonar.batch.ViolationFilters; -import java.util.*; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; public class DefaultIndex extends SonarIndex { @@ -297,12 +313,11 @@ public class DefaultIndex extends SonarIndex { return Collections.emptyList(); } List filteredViolations = Lists.newArrayList(); - boolean ignoreSwitchedOff = violationQuery.ignoreSwitchedOff(); + boolean isSwitchedOff = violationQuery.isSwitchedOff(); for (Violation violation : bucket.getViolations()) { - if ( ignoreSwitchedOff && violation.isSwitchedOff()) { - continue; + if ( violation.isSwitchedOff() == isSwitchedOff) { + filteredViolations.add(violation); } - filteredViolations.add(violation); } return filteredViolations; } -- cgit v1.2.3