From: Duarte Meneses Date: Tue, 3 Apr 2018 08:51:02 +0000 (+0200) Subject: SONAR-10509 Use BufferedOutputStream when writing source in the scanner report X-Git-Tag: 7.5~1425 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=bd2717036288c9feea942fdfcefcd096363bc006;p=sonarqube.git SONAR-10509 Use BufferedOutputStream when writing source in the scanner report --- diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/profiling/PhasesSumUpTimeProfiler.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/profiling/PhasesSumUpTimeProfiler.java index 829bce0ba0f..4fbddb05f20 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/profiling/PhasesSumUpTimeProfiler.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/profiling/PhasesSumUpTimeProfiler.java @@ -19,13 +19,19 @@ */ package org.sonar.scanner.profiling; -import com.google.common.annotations.VisibleForTesting; +import static org.sonar.scanner.profiling.AbstractTimeProfiling.sortByDescendingTotalTime; +import static org.sonar.scanner.profiling.AbstractTimeProfiling.truncate; + +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; +import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; + import javax.annotation.Nullable; + import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,8 +50,7 @@ import org.sonar.scanner.bootstrap.GlobalProperties; import org.sonar.scanner.events.BatchStepHandler; import org.sonar.scanner.util.ScannerUtils; -import static org.sonar.scanner.profiling.AbstractTimeProfiling.sortByDescendingTotalTime; -import static org.sonar.scanner.profiling.AbstractTimeProfiling.truncate; +import com.google.common.annotations.VisibleForTesting; public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorExecutionHandler, PostJobExecutionHandler, SensorsPhaseHandler, PostJobsPhaseHandler, InitializersPhaseHandler, InitializerExecutionHandler, BatchStepHandler { @@ -136,7 +141,7 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx private void dumpToFile(Properties props, String fileName) { File file = new File(out, fileName); - try (FileOutputStream fos = new FileOutputStream(file)) { + try (OutputStream fos = new BufferedOutputStream(new FileOutputStream(file))) { props.store(fos, "SonarQube"); println("Profiling data stored in " + file.getAbsolutePath()); } catch (Exception e) { diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/report/SourcePublisher.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/report/SourcePublisher.java index 2b6b184c42e..acb37b393fa 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/report/SourcePublisher.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/report/SourcePublisher.java @@ -19,13 +19,16 @@ */ package org.sonar.scanner.report; +import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.nio.charset.StandardCharsets; + import org.apache.commons.io.IOUtils; import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.scanner.protocol.output.ScannerReportWriter; @@ -44,7 +47,7 @@ public class SourcePublisher implements ReportPublisherStep { for (final DefaultInputFile inputFile : componentCache.allFilesToPublish()) { File iofile = writer.getSourceFile(inputFile.batchId()); - try (FileOutputStream output = new FileOutputStream(iofile); + try (OutputStream output = new BufferedOutputStream(new FileOutputStream(iofile)); InputStream in = inputFile.inputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in, inputFile.charset()))) { writeSource(reader, output, inputFile.lines()); @@ -54,7 +57,7 @@ public class SourcePublisher implements ReportPublisherStep { } } - private static void writeSource(BufferedReader reader, FileOutputStream output, int lines) throws IOException { + private static void writeSource(BufferedReader reader, OutputStream output, int lines) throws IOException { int line = 0; String lineStr = reader.readLine(); while (lineStr != null) {