From a2d5e82501f3ed8d96239845842770515f5087e6 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Mon, 1 Dec 2014 15:36:12 +0100 Subject: SONAR-5864 API cleanup * add a proper way to create perspective on InputFile * add a proper way to convert InputFile to resource * deprecate colorizer --- .../java/org/sonar/batch/DefaultSensorContext.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'sonar-batch') diff --git a/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java b/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java index 089b2a3c58f..56c33623f39 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java +++ b/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java @@ -25,11 +25,14 @@ import org.slf4j.LoggerFactory; import org.sonar.api.batch.Event; import org.sonar.api.batch.SensorContext; import org.sonar.api.batch.SonarIndex; +import org.sonar.api.batch.fs.InputDir; import org.sonar.api.batch.fs.InputFile; +import org.sonar.api.batch.fs.InputPath; import org.sonar.api.design.Dependency; import org.sonar.api.measures.Measure; import org.sonar.api.measures.MeasuresFilter; import org.sonar.api.measures.Metric; +import org.sonar.api.resources.Directory; import org.sonar.api.resources.File; import org.sonar.api.resources.Project; import org.sonar.api.resources.ProjectLink; @@ -245,15 +248,24 @@ public class DefaultSensorContext implements SensorContext { @Override public Measure saveMeasure(InputFile inputFile, Metric metric, Double value) { - return saveMeasure(fromInputFile(inputFile), metric, value); + return saveMeasure(getResource(inputFile), metric, value); } @Override public Measure saveMeasure(InputFile inputFile, Measure measure) { - return saveMeasure(fromInputFile(inputFile), measure); + return saveMeasure(getResource(inputFile), measure); } - private Resource fromInputFile(InputFile inputFile) { - return File.create(inputFile.relativePath()); + @Override + public Resource getResource(InputPath inputPath) { + Resource r; + if (inputPath instanceof InputDir) { + r = Directory.create(((InputDir) inputPath).relativePath()); + } else if (inputPath instanceof InputFile) { + r = File.create(((InputFile) inputPath).relativePath()); + } else { + throw new IllegalArgumentException("Unknow input path type: " + inputPath); + } + return getResource(r); } } -- cgit v1.2.3