From 01b50ea9c1e4528e6fb998d3478dc4fd569f6e70 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 13 May 2015 15:28:53 +0200 Subject: [PATCH] Remove hack introduced by SONAR-5765 for compatibility with useles code tracker --- .../decorator/DefaultDecoratorContext.java | 26 ++++----- .../batch/duplication/DuplicationUtils.java | 53 ------------------- 2 files changed, 10 insertions(+), 69 deletions(-) delete mode 100644 sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationUtils.java diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/decorator/DefaultDecoratorContext.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/decorator/DefaultDecoratorContext.java index 47d75f4434d..5b9d6497fa3 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/decorator/DefaultDecoratorContext.java +++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/decorator/DefaultDecoratorContext.java @@ -24,19 +24,21 @@ import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; import org.sonar.api.batch.DecoratorContext; import org.sonar.api.batch.SonarIndex; -import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication; 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.MeasuresFilters.MetricFilter; +import org.sonar.api.measures.Metric; +import org.sonar.api.measures.MetricFinder; import org.sonar.api.resources.Project; import org.sonar.api.resources.Resource; import org.sonar.api.rules.Violation; import org.sonar.api.utils.SonarException; import org.sonar.batch.duplication.DuplicationCache; -import org.sonar.batch.duplication.DuplicationUtils; import org.sonar.batch.scan.measure.MeasureCache; import org.sonar.batch.sensor.coverage.CoverageExclusions; -import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; @@ -106,25 +108,17 @@ public class DefaultDecoratorContext implements DecoratorContext { public M getMeasures(MeasuresFilter filter) { Collection unfiltered; if (filter instanceof MeasuresFilters.MetricFilter) { - unfiltered = getMeasuresOfASingleMetric(filter); + // optimization + unfiltered = getMeasuresOfASingleMetric((MetricFilter) filter); } else { unfiltered = measuresByMetric.values(); } return filter.filter(unfiltered); } - private Collection getMeasuresOfASingleMetric(MeasuresFilter filter) { - Collection unfiltered; + private Collection getMeasuresOfASingleMetric(MeasuresFilters.MetricFilter filter) { String metricKey = ((MeasuresFilters.MetricFilter) filter).filterOnMetricKey(); - if (CoreMetrics.DUPLICATIONS_DATA_KEY.equals(metricKey)) { - // Hack for SONAR-5765 - Iterable group = duplicationCache.byComponent(resource.getEffectiveKey()); - unfiltered = Arrays.asList(new Measure(CoreMetrics.DUPLICATIONS_DATA, DuplicationUtils.toXml(group))); - } else { - // optimization - unfiltered = measuresByMetric.get(metricKey); - } - return unfiltered; + return measuresByMetric.get(metricKey); } @Override diff --git a/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationUtils.java b/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationUtils.java deleted file mode 100644 index 5f2b95ed511..00000000000 --- a/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationUtils.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2014 SonarSource - * mailto:contact AT sonarsource DOT com - * - * SonarQube is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * SonarQube is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonar.batch.duplication; - -import org.apache.commons.lang.StringEscapeUtils; -import org.sonar.api.batch.sensor.duplication.Duplication; -import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication; - -public class DuplicationUtils { - - private DuplicationUtils() { - // Utility class - } - - public static String toXml(Iterable duplications) { - StringBuilder xml = new StringBuilder(); - xml.append(""); - for (Duplication duplication : duplications) { - xml.append(""); - toXml(xml, duplication.originBlock()); - for (Duplication.Block part : duplication.duplicates()) { - toXml(xml, part); - } - xml.append(""); - } - xml.append(""); - return xml.toString(); - } - - private static void toXml(StringBuilder xml, Duplication.Block part) { - xml.append(""); - } -} -- 2.39.5