]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6319 Another perf improvement
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 1 Apr 2015 19:15:43 +0000 (21:15 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Wed, 1 Apr 2015 19:15:43 +0000 (21:15 +0200)
sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/output/BatchReportReader.java
sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizerSensor.java

index 3d292b68e195035dfaccd229feda9fbc49284e2b..ba90c68b4c802dd5dcf22ba1e39e878e2391c2ea 100644 (file)
@@ -112,6 +112,11 @@ public class BatchReportReader {
     return Collections.emptyList();
   }
 
+  public boolean hasSyntaxHighlighting(int componentRef) {
+    File file = fileStructure.fileFor(FileStructure.Domain.SYNTAX_HIGHLIGHTING, componentRef);
+    return file.exists();
+  }
+
   public List<BatchReport.SyntaxHighlighting.HighlightingRule> readComponentSyntaxHighlighting(int componentRef) {
     File file = fileStructure.fileFor(FileStructure.Domain.SYNTAX_HIGHLIGHTING, componentRef);
     if (file.exists() && file.isFile()) {
index ea2314398c5def88ede5dea13ffc7b517b83620b..7581b44b14d9c634c0ed42eed50c880704a1f64a 100644 (file)
@@ -26,13 +26,10 @@ import org.sonar.api.batch.sensor.Sensor;
 import org.sonar.api.batch.sensor.SensorContext;
 import org.sonar.api.batch.sensor.SensorDescriptor;
 import org.sonar.batch.index.ResourceCache;
-import org.sonar.batch.protocol.output.BatchReport.SyntaxHighlighting.HighlightingRule;
 import org.sonar.batch.protocol.output.BatchReportReader;
 import org.sonar.batch.report.ReportPublisher;
 import org.sonar.colorizer.CodeColorizer;
 
-import java.util.List;
-
 /**
  * Execute deprecated {@link CodeColorizer} if necessary.
  */
@@ -61,9 +58,8 @@ public final class CodeColorizerSensor implements Sensor {
     for (InputFile f : fs.inputFiles(fs.predicates().all())) {
       BatchReportReader reader = new BatchReportReader(reportPublisher.getReportDir());
       int batchId = resourceCache.get(f).batchId();
-      List<HighlightingRule> highlightingRules = reader.readComponentSyntaxHighlighting(batchId);
       String language = f.language();
-      if (!highlightingRules.isEmpty() || language == null) {
+      if (reader.hasSyntaxHighlighting(batchId) || language == null) {
         continue;
       }
       codeColorizers.toSyntaxHighlighting(f.file(), fs.encoding(), language, context.newHighlighting().onFile(f));