You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/08/17 20:25:08 UTC

svn commit: r1880944 [1/2] - in /poi/trunk: ./ src/examples/src/org/apache/poi/examples/hsmf/ src/examples/src/org/apache/poi/examples/ss/ src/examples/src/org/apache/poi/examples/ss/html/ src/examples/src/org/apache/poi/examples/xslf/ src/examples/src...

Author: kiwiwings
Date: Mon Aug 17 20:25:08 2020
New Revision: 1880944

URL: http://svn.apache.org/viewvc?rev=1880944&view=rev
Log:
Activate Forbidden-Apis-Check also for other tests
Max supported Java version is currently Java 14
Fix the check failures

Added:
    poi/trunk/src/testcases/org/apache/poi/util/NullPrintStream.java   (with props)
Modified:
    poi/trunk/build.xml
    poi/trunk/src/examples/src/org/apache/poi/examples/hsmf/Msg2txt.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/BusinessPlan.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/CalendarDemo.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/SSPerformanceTest.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/ToCSV.java
    poi/trunk/src/examples/src/org/apache/poi/examples/ss/html/ToHtml.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CreatePivotTable2.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java
    poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java
    poi/trunk/src/excelant/testcases/org/apache/poi/ss/excelant/TestBuildFile.java
    poi/trunk/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java
    poi/trunk/src/integrationtest/org/apache/poi/stress/HSSFFileHandler.java
    poi/trunk/src/integrationtest/org/apache/poi/stress/HeapDump.java
    poi/trunk/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
    poi/trunk/src/resources/devtools/forbidden-signatures-prod.txt
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/dev/BasePPTIteratingTest.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffViewer.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestEFBiffViewer.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestFormulaViewer.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestReSave.java
    poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestRecordLister.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

Modified: poi/trunk/build.xml
URL: http://svn.apache.org/viewvc/poi/trunk/build.xml?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/build.xml (original)
+++ poi/trunk/build.xml Mon Aug 17 20:25:08 2020
@@ -1549,7 +1549,7 @@ under the License.
         <delete dir="build" includes="test-integration.log*"/>
 
         <path id="test-integration.modules">
-            <pathelement path="build/dist/maven/poi"/>
+            <pathelement path="build/dist/maven/poi-tests"/>
             <pathelement path="build/dist/maven/poi-ooxml"/>
             <pathelement path="build/dist/maven/poi-scratchpad"/>
             <pathelement path="build/dist/maven/poi-examples"/>
@@ -2252,16 +2252,22 @@ under the License.
             <fileset dir="lib/ooxml-provided" includes="*.jar"/>
             <fileset dir="lib/excelant" includes="*.jar"/>
             <pathelement location="${ooxml.xsds.jar}"/>
+            <pathelement location="build/dist/maven/poi-tests/poi-${version.id}-tests.jar"/>
             <pathelement location="build/dist/maven/poi-examples/poi-examples-${version.id}.jar"/>
             <path path="${env.CLASSPATH}"/>
         </path>
 
+        <!-- forbiddenapis bundled signatures max supported version is 14 -->
+        <condition property="forbiddenVersion" value="14">
+            <javaversion atleast="15"/>
+        </condition>
+        <property name="forbiddenVersion" value="${ant.java.version}"/>
 
         <!-- first check rules that apply to all the source code -->
         <forbiddenapis
                  classpathref="forbiddenapis.classpath"
                  suppressAnnotation="org.apache.poi.util.SuppressForbidden"
-                 targetVersion="${ant.java.version}"
+                 targetVersion="${forbiddenVersion}"
             >
             <bundledsignatures name="jdk-unsafe"/>
             <bundledsignatures name="jdk-deprecated"/>
@@ -2272,29 +2278,20 @@ under the License.
             <bundledsignatures name="jdk-system-out"/>
             -->
             <signaturesFileset file="src/resources/devtools/forbidden-signatures.txt"/>
-            <!-- sources -->
-            <!-- zipfileset src="build/dist/maven/poi/poi-${version.id}.jar"/ -->
-            <!-- zipfileset src="build/dist/maven/poi-ooxml/poi-ooxml-${version.id}.jar"/ -->
-            <zipfileset src="build/dist/maven/poi-scratchpad/poi-scratchpad-${version.id}.jar"/>
-            <zipfileset src="build/dist/maven/poi-excelant/poi-excelant-${version.id}.jar"/>
-            <!--
-            <fileset dir="${examples.output.dir}"/>
-            -->
             <!-- test-sources (incl. sources) -->
             <zipfileset src="build/dist/maven/poi-tests/poi-${version.id}-tests.jar"/>
             <zipfileset src="build/dist/maven/poi-ooxml-tests/poi-ooxml-${version.id}-tests.jar"/>
-            <!--
-            <fileset dir="${scratchpad.output.test.dir}"/>
-            <fileset dir="${excelant.output.test.dir}"/>
-            <fileset dir="${integration.output.test.dir}"/>
-            -->
+            <zipfileset src="build/dist/maven/poi-scratchpad-tests/poi-scratchpad-${version.id}-tests.jar"/>
+            <zipfileset src="build/dist/maven/poi-excelant-tests/poi-excelant-${version.id}-tests.jar"/>
+            <zipfileset src="build/dist/maven/poi-examples/poi-examples-${version.id}.jar"/>
+            <zipfileset src="build/dist/maven/poi-integration/poi-integration-${version.id}.jar"/>
         </forbiddenapis>
 
         <!-- then check some advanced rules which we only apply to the core code and not tests or examples -->
         <forbiddenapis
                  classpathref="forbiddenapis.classpath"
                  suppressAnnotation="org.apache.poi.util.SuppressForbidden"
-                 targetVersion="${jdk.version.source}"
+                 targetVersion="${forbiddenVersion}"
             >
             <signaturesFileset file="src/resources/devtools/forbidden-signatures-prod.txt"/>
             <!-- sources -->

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/hsmf/Msg2txt.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/hsmf/Msg2txt.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/hsmf/Msg2txt.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/hsmf/Msg2txt.java Mon Aug 17 20:25:08 2020
@@ -62,7 +62,7 @@ public class Msg2txt {
 	public void processMessage() throws IOException {
 		String txtFileName = fileNameStem + ".txt";
 		String attDirName = fileNameStem + "-att";
-        try (PrintWriter txtOut = new PrintWriter(txtFileName)) {
+        try (PrintWriter txtOut = new PrintWriter(txtFileName, "UTF-8")) {
             try {
                 String displayFrom = msg.getDisplayFrom();
                 txtOut.println("From: " + displayFrom);

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/BusinessPlan.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/BusinessPlan.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/BusinessPlan.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/BusinessPlan.java Mon Aug 17 20:25:08 2020
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -36,6 +37,7 @@ import org.apache.poi.ss.usermodel.Print
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 /**
@@ -96,7 +98,7 @@ public final class BusinessPlan {
         if(args.length > 0 && args[0].equals("-xls")) wb = new HSSFWorkbook();
         else wb = new XSSFWorkbook();
 
-        final SimpleDateFormat fmt = new SimpleDateFormat("dd-MMM");
+        final SimpleDateFormat fmt = new SimpleDateFormat("dd-MMM", Locale.ROOT);
 
         Map<String, CellStyle> styles = createStyles(wb);
 
@@ -124,7 +126,7 @@ public final class BusinessPlan {
             cell.setCellStyle(styles.get("header"));
         }
         //columns for 11 weeks starting from 9-Jul
-        Calendar calendar = Calendar.getInstance();
+        Calendar calendar = LocaleUtil.getLocaleCalendar();
         int year = calendar.get(Calendar.YEAR);
 
         calendar.setTime(fmt.parse("9-Jul"));

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/CalendarDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/CalendarDemo.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/CalendarDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/CalendarDemo.java Mon Aug 17 20:25:08 2020
@@ -36,6 +36,7 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.VerticalAlignment;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 /**
@@ -62,7 +63,7 @@ public final class CalendarDemo {
 
     public static void main(String[] args) throws Exception {
 
-        Calendar calendar = Calendar.getInstance();
+        Calendar calendar = LocaleUtil.getLocaleCalendar();
         boolean xlsx = true;
         for (String arg : args) {
             if (arg.charAt(0) == '-') {

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java Mon Aug 17 20:25:08 2020
@@ -17,6 +17,8 @@
 package org.apache.poi.examples.ss;
 
 import java.io.File;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
@@ -94,6 +96,8 @@ public class ExcelComparator {
     }
 
     List<String> listOfDifferences = new ArrayList<>();
+    private final DateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ROOT);
+
 
     public static void main(String[] args) throws Exception {
         if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) {
@@ -429,7 +433,7 @@ public class ExcelComparator {
         Date date1 = loc1.cell.getDateCellValue();
         Date date2 = loc2.cell.getDateCellValue();
         if (!date1.equals(date2)) {
-            addMessage(loc1, loc2, CELL_DATA_DOES_NOT_MATCH, date1.toString(), date2.toString());
+            addMessage(loc1, loc2, CELL_DATA_DOES_NOT_MATCH, dateFormat.format(date1), dateFormat.format(date2));
         }
     }
 

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/SSPerformanceTest.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/SSPerformanceTest.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/SSPerformanceTest.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/SSPerformanceTest.java Mon Aug 17 20:25:08 2020
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -39,6 +40,7 @@ import org.apache.poi.ss.usermodel.Verti
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
@@ -75,7 +77,7 @@ public final class SSPerformanceTest {
         runWithArgs(type, rows, cols, saveFile);
         long timeFinished = System.currentTimeMillis();
 
-        System.out.printf("Elapsed %.2f seconds for arguments %s\n", ((double)timeFinished - timeStarted) / 1000, Arrays.toString(args));
+        System.out.printf(Locale.ROOT, "Elapsed %.2f seconds for arguments %s\n", ((double)timeFinished - timeStarted) / 1000, Arrays.toString(args));
     }
 
     private static void runWithArgs(String type, int rows, int cols, boolean saveFile) throws IOException {
@@ -103,7 +105,7 @@ public final class SSPerformanceTest {
         int sheetNo = 0;
         int rowIndexInSheet = 1;
         double value = 0;
-        Calendar calendar = Calendar.getInstance();
+        Calendar calendar = LocaleUtil.getLocaleCalendar();
         for (int rowIndex = 0; rowIndex < rows; rowIndex++) {
             if (isHType && sheetNo != rowIndex / 0x10000) {
                 sheet = workBook.createSheet("Spillover from sheet " + (++sheetNo));

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/ToCSV.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/ToCSV.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/ToCSV.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/ToCSV.java Mon Aug 17 20:25:08 2020
@@ -22,9 +22,10 @@ import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileWriter;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.ArrayList;
 
 import org.apache.poi.ss.usermodel.Cell;
@@ -431,7 +432,7 @@ public class ToCSV {
         String csvLineElement;
 
         // Open a writer onto the CSV file.
-        try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
+        try (BufferedWriter bw = Files.newBufferedWriter(file.toPath(), StandardCharsets.ISO_8859_1)) {
 
             System.out.println("Saving the CSV file [" + file.getName() + "]");
 

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/ss/html/ToHtml.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/ss/html/ToHtml.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/ss/html/ToHtml.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/ss/html/ToHtml.java Mon Aug 17 20:25:08 2020
@@ -19,15 +19,16 @@ package org.apache.poi.examples.ss.html;
 import java.io.BufferedReader;
 import java.io.Closeable;
 import java.io.FileInputStream;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.PrintWriter;
+import java.nio.charset.StandardCharsets;
 import java.util.Formatter;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
@@ -189,10 +190,7 @@ public final class ToHtml {
             return;
         }
 
-        try (
-                FileWriter fw = new FileWriter(args[1]);
-                PrintWriter pw = new PrintWriter(fw)
-            ) {
+        try (PrintWriter pw = new PrintWriter(args[1], "UTF-8")) {
             ToHtml toHtml = create(args[0], pw);
             toHtml.setCompleteHTML(true);
             toHtml.printPage();
@@ -243,7 +241,7 @@ public final class ToHtml {
 
     private void ensureOut() {
         if (out == null) {
-            out = new Formatter(output);
+            out = new Formatter(output, Locale.ROOT);
         }
     }
 
@@ -252,7 +250,7 @@ public final class ToHtml {
 
         // First, copy the base css
         try (BufferedReader in = new BufferedReader(new InputStreamReader(
-                getClass().getResourceAsStream("excelStyle.css")))){
+                getClass().getResourceAsStream("excelStyle.css"), StandardCharsets.ISO_8859_1))){
             String line;
             while ((line = in.readLine()) != null) {
                 out.format("%s%n", line);
@@ -325,7 +323,7 @@ public final class ToHtml {
             style = wb.getCellStyleAt((short) 0);
         }
         StringBuilder sb = new StringBuilder();
-        try (Formatter fmt = new Formatter(sb)) {
+        try (Formatter fmt = new Formatter(sb, Locale.ROOT)) {
             fmt.format("style_%02x", style.getIndex());
             return fmt.toString();
         }

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java Mon Aug 17 20:25:08 2020
@@ -22,8 +22,10 @@ package org.apache.poi.examples.xslf;
 import java.io.BufferedReader;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -62,7 +64,7 @@ public final class BarChartDemo {
         }
 
         try (FileInputStream argIS = new FileInputStream(args[0]);
-            BufferedReader modelReader = new BufferedReader(new FileReader(args[1]))) {
+            BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.ISO_8859_1)) {
 
             String chartTitle = modelReader.readLine();  // first line is chart title
             String[] series = modelReader.readLine().split(",");

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java Mon Aug 17 20:25:08 2020
@@ -23,8 +23,10 @@ import java.awt.geom.Rectangle2D;
 import java.io.BufferedReader;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -70,7 +72,7 @@ public final class ChartFromScratch {
             return;
         }
 
-        try (BufferedReader modelReader = new BufferedReader(new FileReader(args[0]))) {
+        try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.ISO_8859_1)) {
 
             String chartTitle = modelReader.readLine();  // first line is chart title
             String[] series = modelReader.readLine().split(",");

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java Mon Aug 17 20:25:08 2020
@@ -22,8 +22,10 @@ package org.apache.poi.examples.xslf;
 import java.io.BufferedReader;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -59,7 +61,7 @@ public final class PieChartDemo {
         }
 
         try (FileInputStream argIS = new FileInputStream(args[0]);
-            BufferedReader modelReader = new BufferedReader(new FileReader(args[1]))) {
+             BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.ISO_8859_1)) {
             String chartTitle = modelReader.readLine();  // first line is chart title
 
             try (XMLSlideShow pptx = new XMLSlideShow(argIS)) {

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java Mon Aug 17 20:25:08 2020
@@ -40,6 +40,7 @@ import org.apache.poi.ss.usermodel.FillP
 import org.apache.poi.ss.usermodel.HorizontalAlignment;
 import org.apache.poi.ss.usermodel.IndexedColors;
 import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
 import org.apache.poi.xssf.usermodel.XSSFDataFormat;
 import org.apache.poi.xssf.usermodel.XSSFFont;
@@ -155,7 +156,7 @@ public final class BigGridDemo {
 
     private static void generate(Writer out, Map<String, XSSFCellStyle> styles) throws Exception {
 
-        Calendar calendar = Calendar.getInstance();
+        Calendar calendar = LocaleUtil.getLocaleCalendar();
 
         SpreadsheetWriter sw = new SpreadsheetWriter(out);
         sw.beginSheet();

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java Mon Aug 17 20:25:08 2020
@@ -28,6 +28,7 @@ import org.apache.poi.ss.usermodel.Horiz
 import org.apache.poi.ss.usermodel.PrintOrientation;
 import org.apache.poi.ss.usermodel.VerticalAlignment;
 import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
 import org.apache.poi.xssf.usermodel.XSSFColor;
@@ -61,7 +62,7 @@ public class CalendarDemo {
 
     public static void main(String[] args) throws Exception {
 
-        Calendar calendar = Calendar.getInstance();
+        Calendar calendar = LocaleUtil.getLocaleCalendar();
         if(args.length > 0) calendar.set(Calendar.YEAR, Integer.parseInt(args[0]));
 
         int year = calendar.get(Calendar.YEAR);

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CreatePivotTable2.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CreatePivotTable2.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CreatePivotTable2.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/CreatePivotTable2.java Mon Aug 17 20:25:08 2020
@@ -31,6 +31,7 @@ import org.apache.poi.ss.usermodel.DataF
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFPivotTable;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -67,9 +68,9 @@ public class CreatePivotTable2 {
     }
 
     public static void setCellData(XSSFSheet sheet){
-        Calendar cal1 = Calendar.getInstance();
+        Calendar cal1 = LocaleUtil.getLocaleCalendar();
         cal1.set(2017, 0, 1, 0, 0, 0);
-        Calendar cal2 = Calendar.getInstance();
+        Calendar cal2 = LocaleUtil.getLocaleCalendar();
         cal2.set(2017, 1, 1, 0, 0, 0);
         Row row1 = sheet.createRow(0);
         // Create a cell and put a value in it.

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java Mon Aug 17 20:25:08 2020
@@ -23,8 +23,10 @@ package org.apache.poi.examples.xwpf.use
 import java.io.BufferedReader;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -61,7 +63,7 @@ public final class BarChartExample {
         }
 
         try (FileInputStream argIS = new FileInputStream(args[0]);
-                BufferedReader modelReader = new BufferedReader(new FileReader(args[1]))) {
+            BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.ISO_8859_1)) {
 
             String chartTitle = modelReader.readLine();  // first line is chart title
             String[] series = modelReader.readLine().split(",");

Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java Mon Aug 17 20:25:08 2020
@@ -21,8 +21,10 @@ package org.apache.poi.examples.xwpf.use
 
 import java.io.BufferedReader;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -65,7 +67,7 @@ public final class ChartFromScratch {
             return;
         }
 
-        try (BufferedReader modelReader = new BufferedReader(new FileReader(args[0]))) {
+        try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.ISO_8859_1)) {
 
             String chartTitle = modelReader.readLine();  // first line is chart title
             String[] series = modelReader.readLine().split(",");

Modified: poi/trunk/src/excelant/testcases/org/apache/poi/ss/excelant/TestBuildFile.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/excelant/testcases/org/apache/poi/ss/excelant/TestBuildFile.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/excelant/testcases/org/apache/poi/ss/excelant/TestBuildFile.java (original)
+++ poi/trunk/src/excelant/testcases/org/apache/poi/ss/excelant/TestBuildFile.java Mon Aug 17 20:25:08 2020
@@ -28,6 +28,7 @@ import java.io.File;
 import java.io.PrintStream;
 
 import org.apache.poi.POIDataSamples;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.tools.ant.BuildEvent;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.BuildListener;
@@ -140,12 +141,8 @@ public class TestBuildFile {
         try {
             sysOut.flush();
             sysErr.flush();
-            StringBuilder outBuffer = new StringBuilder();
-            PrintStream out = new PrintStream(new AntOutputStream(outBuffer));
-            System.setOut(out);
-            StringBuilder errBuffer = new StringBuilder();
-            PrintStream err = new PrintStream(new AntOutputStream(errBuffer));
-            System.setErr(err);
+            System.setOut(new NullPrintStream());
+            System.setErr(new NullPrintStream());
             logBuffer = new StringBuilder();
             fullLogBuffer = new StringBuilder();
             buildException = null;

Modified: poi/trunk/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java (original)
+++ poi/trunk/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java Mon Aug 17 20:25:08 2020
@@ -104,7 +104,7 @@ public class HPSFFileHandler extends POI
         }
 
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        PrintStream psNew = new PrintStream(bos);
+        PrintStream psNew = new PrintStream(bos, true, "ISO-8859-1");
         PrintStream ps = System.out;
         try {
             System.setOut(psNew);

Modified: poi/trunk/src/integrationtest/org/apache/poi/stress/HSSFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/integrationtest/org/apache/poi/stress/HSSFFileHandler.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/integrationtest/org/apache/poi/stress/HSSFFileHandler.java (original)
+++ poi/trunk/src/integrationtest/org/apache/poi/stress/HSSFFileHandler.java Mon Aug 17 20:25:08 2020
@@ -22,7 +22,6 @@ import static org.junit.Assert.assertNot
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.PrintStream;
 import java.util.HashSet;
 import java.util.Set;
@@ -34,6 +33,7 @@ import org.apache.poi.hssf.usermodel.HSS
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.util.NullPrintStream;
 import org.junit.Test;
 
 public class HSSFFileHandler extends SpreadsheetHandler {
@@ -88,11 +88,7 @@ public class HSSFFileHandler extends Spr
 		PrintStream oldOut = System.out;
 		String fileWithParent = file.getParentFile().getName() + "/" + file.getName();
 		try {
-			System.setOut(new PrintStream(new OutputStream() {
-				@Override
-				public void write(int b) {
-				}
-			}));
+			System.setOut(new NullPrintStream());
 
 			BiffViewer.main(new String[]{file.getAbsolutePath()});
 

Modified: poi/trunk/src/integrationtest/org/apache/poi/stress/HeapDump.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/integrationtest/org/apache/poi/stress/HeapDump.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/integrationtest/org/apache/poi/stress/HeapDump.java (original)
+++ poi/trunk/src/integrationtest/org/apache/poi/stress/HeapDump.java Mon Aug 17 20:25:08 2020
@@ -20,7 +20,9 @@ import java.io.IOException;
 import java.lang.management.ManagementFactory;
 
 import com.sun.management.HotSpotDiagnosticMXBean;
+import org.apache.poi.util.SuppressForbidden;
 
+@SuppressForbidden("class only exists for manual tests in XSSFFileHandler")
 public class HeapDump {
     // This is the name of the HotSpot Diagnostic MBean
     private static final String HOTSPOT_BEAN_NAME =

Modified: poi/trunk/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java (original)
+++ poi/trunk/src/integrationtest/org/apache/poi/stress/XSSFFileHandler.java Mon Aug 17 20:25:08 2020
@@ -28,11 +28,9 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.PrintStream;
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.Locale;
 import java.util.Set;
 
 import javax.xml.transform.TransformerException;
@@ -51,6 +49,7 @@ import org.apache.poi.poifs.crypt.Decryp
 import org.apache.poi.poifs.crypt.EncryptionInfo;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.xssf.eventusermodel.XSSFReader;
 import org.apache.poi.xssf.extractor.XSSFExportToXml;
 import org.apache.poi.xssf.usermodel.XSSFMap;
@@ -221,77 +220,4 @@ public class XSSFFileHandler extends Spr
     public void testAdditional() throws Exception {
         handleAdditional(new File("test-data/spreadsheet/poc-xmlbomb.xlsx"));
     }
-
-    // need to override all methods to omit calls to UTF-handling methods
-    static class NullPrintStream extends PrintStream {
-        @SuppressWarnings("resource")
-        NullPrintStream() {
-            super(new OutputStream() {
-                @Override
-                public void write(int b) {}
-                @Override
-                public void write(byte[] b) {}
-                @Override
-                public void write(byte[] b, int off, int len) {}
-            });
-        }
-        @Override
-        public void write(int b) {}
-        @Override
-        public void write(byte[] buf, int off, int len) {}
-        @Override
-        public void print(boolean b) {}
-        @Override
-        public void print(char c) {}
-        @Override
-        public void print(int i) {}
-        @Override
-        public void print(long l) {}
-        @Override
-        public void print(float f) {}
-        @Override
-        public void print(double d) {}
-        @Override
-        public void print(char[] s) {}
-        @Override
-        public void print(String s) {}
-        @Override
-        public void print(Object obj) {}
-        @Override
-        public void println() {}
-        @Override
-        public void println(boolean x) {}
-        @Override
-        public void println(char x) {}
-        @Override
-        public void println(int x) {}
-        @Override
-        public void println(long x) {}
-        @Override
-        public void println(float x) {}
-        @Override
-        public void println(double x) {}
-        @Override
-        public void println(char[] x) {}
-        @Override
-        public void println(String x) {}
-        @Override
-        public void println(Object x) {}
-        @Override
-        public PrintStream printf(String format, Object... args) { return this; }
-        @Override
-        public PrintStream printf(Locale l, String format, Object... args) { return this; }
-        @Override
-        public PrintStream format(String format, Object... args) { return this; }
-        @Override
-        public PrintStream format(Locale l, String format, Object... args) { return this; }
-        @Override
-        public PrintStream append(CharSequence csq) { return this; }
-        @Override
-        public PrintStream append(CharSequence csq, int start, int end) { return this; }
-        @Override
-        public PrintStream append(char c) { return this; }
-        @Override
-        public void write(byte[] b) {}
-    }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java Mon Aug 17 20:25:08 2020
@@ -417,10 +417,8 @@ public final class TestSXSSFWorkbook ext
 
     private static void saveTwice(Workbook wb) throws Exception {
         for (int i = 0; i < 2; i++) {
-            try {
-                NullOutputStream out = new NullOutputStream();
+            try (NullOutputStream out = new NullOutputStream()) {
                 wb.write(out);
-                out.close();
             } catch (Exception e) {
                 throw new Exception("ERROR: failed on " + (i + 1)
                         + "th time calling " + wb.getClass().getName()

Modified: poi/trunk/src/resources/devtools/forbidden-signatures-prod.txt
URL: http://svn.apache.org/viewvc/poi/trunk/src/resources/devtools/forbidden-signatures-prod.txt?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/resources/devtools/forbidden-signatures-prod.txt (original)
+++ poi/trunk/src/resources/devtools/forbidden-signatures-prod.txt Mon Aug 17 20:25:08 2020
@@ -17,7 +17,7 @@
 # This file contains API signatures which are specific to POI.
 # The goal is to minimize implicit defaults
 
-@defaultMessage POI forbidden APIs which are tolerated in non-production code, e.g. in tests and examples
+@defaultMessage POI forbidden APIs which are not tolerated in production code
 
 # We have applications which use this to return error codes on invalid commandline parameters...
 #@defaultMessage Please do not terminate the application

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java Mon Aug 17 20:25:08 2020
@@ -24,7 +24,7 @@ import java.io.File;
 import java.io.PrintStream;
 
 import org.apache.poi.POIDataSamples;
-import org.apache.poi.util.NullOutputStream;
+import org.apache.poi.util.NullPrintStream;
 import org.junit.Test;
 
 public class TestHMEFDumper {
@@ -48,7 +48,7 @@ public class TestHMEFDumper {
     private static void doMain(String... args) throws Exception {
         PrintStream ps = System.out;
         try {
-            System.setOut(new PrintStream(new NullOutputStream(), true, "UTF-8"));
+            System.setOut(new NullPrintStream());
             HMEFDumper.main(args);
         } finally {
             System.setOut(ps);

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/dev/BasePPTIteratingTest.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/dev/BasePPTIteratingTest.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/dev/BasePPTIteratingTest.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/dev/BasePPTIteratingTest.java Mon Aug 17 20:25:08 2020
@@ -16,22 +16,9 @@
 ==================================================================== */
 package org.apache.poi.hslf.dev;
 
-import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
-import org.apache.poi.hslf.exceptions.OldPowerPointFormatException;
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.NullOutputStream;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import static org.junit.Assert.assertNotNull;
 
 import java.io.File;
-import java.io.OutputStream;
 import java.io.PrintStream;
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
@@ -42,12 +29,21 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
-import static org.junit.Assert.assertNotNull;
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
+import org.apache.poi.hslf.exceptions.OldPowerPointFormatException;
+import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.NullPrintStream;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
 @RunWith(Parameterized.class)
 public abstract class BasePPTIteratingTest {
-    protected static final OutputStream NULL_OUTPUT_STREAM = new NullOutputStream();
-
     protected static final Set<String> OLD_FILES = new HashSet<>();
     static {
         OLD_FILES.add("PPT95.ppt");
@@ -89,7 +85,7 @@ public abstract class BasePPTIteratingTe
         IOUtils.setByteArrayMaxOverride(5*1024*1024);
 
         // redirect standard out during the test to avoid spamming the console with output
-        System.setOut(new PrintStream(NULL_OUTPUT_STREAM, true, LocaleUtil.CHARSET_1252.name()));
+        System.setOut(new NullPrintStream());
     }
 
     @After

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java Mon Aug 17 20:25:08 2020
@@ -35,16 +35,17 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
 import java.text.AttributedCharacterIterator;
 import java.text.AttributedCharacterIterator.Attribute;
 import java.text.CharacterIterator;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
@@ -59,7 +60,6 @@ import org.apache.poi.hslf.exceptions.Ol
 import org.apache.poi.hslf.model.HeadersFooters;
 import org.apache.poi.hslf.record.DocInfoListContainer;
 import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.record.Record;
 import org.apache.poi.hslf.record.RecordTypes;
 import org.apache.poi.hslf.record.SlideListWithText;
 import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
@@ -88,6 +88,7 @@ import org.apache.poi.sl.usermodel.TextP
 import org.apache.poi.sl.usermodel.TextRun;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.util.StringUtil;
 import org.apache.poi.util.Units;
 import org.junit.Test;
@@ -291,7 +292,7 @@ public final class TestBugs {
                 }
             }
         }
-        
+
         ppt.close();
     }
 
@@ -375,7 +376,7 @@ public final class TestBugs {
         HSLFPictureData pict = f.getPictureData();
         assertNotNull(pict);
         assertEquals(PictureType.JPEG, pict.getType());
-        
+
         ppt.close();
     }
 
@@ -405,7 +406,7 @@ public final class TestBugs {
         List<List<HSLFTextParagraph>> run = slide.getTextParagraphs();
         assertEquals(3, run.size());
         assertEquals("Fundera, planera och involvera.", HSLFTextParagraph.getRawText(run.get(2)));
-        
+
         ppt.close();
     }
 
@@ -445,7 +446,7 @@ public final class TestBugs {
         HSLFSlideShow ppt = open("41246-1.ppt");
 
         HSLFTestDataSamples.writeOutAndReadBack(ppt).close();
-        
+
         ppt.close();
     }
 
@@ -454,7 +455,7 @@ public final class TestBugs {
         HSLFSlideShow ppt = open("41246-2.ppt");
 
         HSLFTestDataSamples.writeOutAndReadBack(ppt).close();
-        
+
         ppt.close();
     }
 
@@ -463,31 +464,32 @@ public final class TestBugs {
      */
     @Test
     public void bug45776() throws IOException {
-        HSLFSlideShow ppt = open("45776.ppt");
+        DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ROOT);
+        try (HSLFSlideShow ppt = open("45776.ppt")) {
 
-        // get slides
-        for (HSLFSlide slide : ppt.getSlides()) {
-            for (HSLFShape shape : slide.getShapes()) {
-                if (!(shape instanceof HSLFTextBox)) {
-                    continue;
-                }
-                HSLFTextBox tb = (HSLFTextBox) shape;
-                // work with TextBox
-                String str = tb.getText();
+            // get slides
+            for (HSLFSlide slide : ppt.getSlides()) {
+                for (HSLFShape shape : slide.getShapes()) {
+                    if (!(shape instanceof HSLFTextBox)) {
+                        continue;
+                    }
+                    HSLFTextBox tb = (HSLFTextBox) shape;
+                    // work with TextBox
+                    String str = tb.getText();
 
-                if (!str.contains("$$DATE$$")) {
-                    continue;
-                }
-                str = str.replace("$$DATE$$", new Date().toString());
-                tb.setText(str);
+                    if (!str.contains("$$DATE$$")) {
+                        continue;
+                    }
+                    str = str.replace("$$DATE$$", df.format(new Date()));
+                    tb.setText(str);
 
-                List<HSLFTextParagraph> tr = tb.getTextParagraphs();
-                assertEquals(str.length()+1,tr.get(0).getParagraphStyle().getCharactersCovered());
-                assertEquals(str.length()+1,tr.get(0).getTextRuns().get(0).getCharacterStyle().getCharactersCovered());
+                    List<HSLFTextParagraph> tr = tb.getTextParagraphs();
+                    assertEquals(str.length() + 1, tr.get(0).getParagraphStyle().getCharactersCovered());
+                    assertEquals(str.length() + 1, tr.get(0).getTextRuns().get(0).getCharacterStyle().getCharactersCovered());
+                }
             }
+
         }
-        
-        ppt.close();
     }
 
     @Test
@@ -501,7 +503,7 @@ public final class TestBugs {
             HeadersFooters hf = slide.getHeadersFooters();
             /*boolean visible =*/ hf.isHeaderVisible(); // exception happens here
         }
-        
+
         ppt.close();
     }
 
@@ -538,7 +540,7 @@ public final class TestBugs {
             }
         }
         assertEquals(2, str);
-        
+
         ppt.close();
     }
 
@@ -781,7 +783,7 @@ public final class TestBugs {
 
         HSLFSlideShow ppt2 = HSLFTestDataSamples.writeOutAndReadBack(ppt1);
         ppt1.close();
-        
+
         HSLFTextShape ts = (HSLFTextShape)ppt2.getSlides().get(0).getShapes().get(0);
         tp = ts.getTextParagraphs().get(0);
         tr = tp.getTextRuns().get(0);
@@ -841,9 +843,9 @@ public final class TestBugs {
     @Test
     public void bug55030() throws IOException {
         HSLFSlideShow ppt = open("bug55030.ppt");
-        
+
         String expFamily = "\u96b6\u4e66";
-        
+
         HSLFSlide sl = ppt.getSlides().get(0);
         for (List<HSLFTextParagraph> paraList : sl.getTextParagraphs()) {
             for (HSLFTextParagraph htp : paraList) {
@@ -853,7 +855,7 @@ public final class TestBugs {
                 }
             }
         }
-        
+
         ppt.close();
     }
 
@@ -873,27 +875,22 @@ public final class TestBugs {
         assertEquals(hlRun.getStartIndex(), hlShape.getStartIndex());
         assertEquals(hlRun.getEndIndex(), hlShape.getEndIndex());
 
-        OutputStream nullOutput = new OutputStream(){
-            @Override
-            public void write(int b) throws IOException {}
-        };
-
         final boolean[] found = {false};
-        DummyGraphics2d dgfx = new DummyGraphics2d(new PrintStream(nullOutput)){
+        DummyGraphics2d dgfx = new DummyGraphics2d(new NullPrintStream()){
             @Override
             public void drawString(AttributedCharacterIterator iterator, float x, float y) {
                 // For the test file, common sl draws textruns one by one and not mixed
                 // so we evaluate the whole iterator
                 Map<Attribute, Object> attributes = null;
                 StringBuilder sb = new StringBuilder();
-                
+
                 for (char c = iterator.first();
                         c != CharacterIterator.DONE;
                         c = iterator.next()) {
                     sb.append(c);
                     attributes = iterator.getAttributes();
                 }
-    
+
                 if ("Jakarta HSSF".equals(sb.toString())) {
                     // this is a test for a manually modified ppt, for real hyperlink label
                     // one would need to access the screen tip record
@@ -905,17 +902,17 @@ public final class TestBugs {
                 }
             }
         };
-        
+
         ppt.getSlides().get(1).draw(dgfx);
         assertTrue(found[0]);
-        
+
         ppt.close();
     }
 
     @Test
     public void bug59056() throws IOException {
         HSLFSlideShow ppt = open("54541_cropped_bitmap.ppt");
-        
+
         for (HSLFShape shape : ppt.getSlides().get(0).getShapes()) {
             BufferedImage img = new BufferedImage(500, 300, BufferedImage.TYPE_INT_ARGB);
             Graphics2D graphics = img.createGraphics();
@@ -927,11 +924,11 @@ public final class TestBugs {
             graphics.dispose();
             // ImageIO.write(img, "png", new File("bla"+shape.getShapeId()+".png"));
         }
-            
+
         ppt.close();
-        
+
     }
-    
+
     private static HSLFSlideShow open(String fileName) throws IOException {
         File sample = HSLFTestDataSamples.getSampleFile(fileName);
         // Note: don't change the code here, it is required for Eclipse to compile the code
@@ -950,10 +947,10 @@ public final class TestBugs {
         fs.setPath(new Path2D.Double(el));
         Color cExp = new Color(50,100,150,200);
         fs.setFillColor(cExp);
-        
+
         HSLFSlideShow ppt2 = HSLFTestDataSamples.writeOutAndReadBack(ppt1);
         ppt1.close();
-        
+
         sl = ppt2.getSlides().get(0);
         fs = (HSLFFreeformShape)sl.getShapes().get(0);
         Color cAct = fs.getFillColor();
@@ -961,7 +958,7 @@ public final class TestBugs {
         assertEquals(cExp.getGreen(), cAct.getGreen());
         assertEquals(cExp.getBlue(), cAct.getBlue());
         assertEquals(cExp.getAlpha(), cAct.getAlpha(), 1);
-        
+
         PaintStyle ps = fs.getFillStyle().getPaint();
         assertTrue(ps instanceof SolidPaint);
         ColorStyle cs = ((SolidPaint)ps).getSolidColor();
@@ -971,7 +968,7 @@ public final class TestBugs {
         assertEquals(cExp.getBlue(), cAct.getBlue());
         assertEquals(255, cAct.getAlpha());
         assertEquals(cExp.getAlpha()*100000./255., cs.getAlpha(), 1);
-        
+
         ppt2.close();
     }
 
@@ -1016,7 +1013,7 @@ public final class TestBugs {
                     }
                 }
             }
-            
+
             ppt.close();
 
         } finally {

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestExtractEmbeddedMSG.java Mon Aug 17 20:25:08 2020
@@ -44,6 +44,7 @@ import org.apache.poi.poifs.filesystem.D
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.poifs.filesystem.EntryUtils;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.util.LocaleUtil;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -53,7 +54,7 @@ public class TestExtractEmbeddedMSG {
 
     /**
      * Initialize this test, load up the attachment_msg_pdf.msg mapi message.
-     * 
+     *
      * @throws Exception
      */
     @BeforeClass
@@ -70,9 +71,9 @@ public class TestExtractEmbeddedMSG {
     /**
      * Test to see if embedded message properties can be read, extracted, and
      * re-parsed
-     * 
+     *
      * @throws ChunkNotFoundException
-     * 
+     *
      */
     @Test
     public void testEmbeddedMSGProperties() throws IOException, ChunkNotFoundException {
@@ -102,7 +103,7 @@ public class TestExtractEmbeddedMSG {
         msg.setReturnNullOnMissingChunk(true);
         Calendar messageDate = msg.getMessageDate();
         assertNotNull(messageDate);
-        Calendar expectedMessageDate = Calendar.getInstance();
+        Calendar expectedMessageDate = LocaleUtil.getLocaleCalendar();
         expectedMessageDate.set(2010, 05, 17, 23, 52, 19); // 2010/06/17 23:52:19 GMT
         expectedMessageDate.setTimeZone(TimeZone.getTimeZone("GMT"));
         expectedMessageDate.set(Calendar.MILLISECOND, 0);

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java Mon Aug 17 20:25:08 2020
@@ -168,7 +168,7 @@ public final class TestFixedSizedPropert
     */
    @Test
    public void testReadMessageDateSucceedsWithHSMFDump() throws IOException {
-       PrintStream stream = new PrintStream(new ByteArrayOutputStream());
+       PrintStream stream = new PrintStream(new ByteArrayOutputStream(), true, "ISO-8859-1");
        HSMFDump dump = new HSMFDump(fsMessageSucceeds);
        dump.dump(stream);
    }
@@ -178,7 +178,7 @@ public final class TestFixedSizedPropert
     */
    @Test
    public void testReadMessageDateFailsWithHSMFDump() throws Exception {
-       PrintStream stream = new PrintStream(new ByteArrayOutputStream());
+       PrintStream stream = new PrintStream(new ByteArrayOutputStream(), true, "ISO-8859-1");
        HSMFDump dump = new HSMFDump(fsMessageFails);
        dump.dump(stream);
    }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java Mon Aug 17 20:25:08 2020
@@ -20,7 +20,6 @@ import static org.junit.Assert.assertNot
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -29,7 +28,6 @@ import java.util.Map;
 
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.util.NullOutputStream;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -46,8 +44,6 @@ import org.junit.runners.Parameterized.P
  */
 @RunWith(Parameterized.class)
 public abstract class BaseTestIteratingXLS {
-    protected static final OutputStream NULL_OUTPUT_STREAM = new NullOutputStream();
-
     @Rule
     public ExpectedException thrown = ExpectedException.none();
 
@@ -74,9 +70,9 @@ public abstract class BaseTestIteratingX
         assertNotNull("Did not find any xls files in directory " + dir, files);
 
         for(String file : files) {
-            list.add(new Object[] { new File(dir, file) });
+                list.add(new Object[]{new File(dir, file)});
+            }
         }
-    }
 
     @Parameter
     public File file;

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java Mon Aug 17 20:25:08 2020
@@ -23,6 +23,7 @@ import java.io.InputStream;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.hssf.OldExcelFormatException;
 import org.apache.poi.hssf.record.RecordInputStream;
+import org.apache.poi.util.NullOutputStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 
@@ -30,10 +31,10 @@ public class TestBiffDrawingToXml extend
     @BeforeClass
     public static void setup() {
         EXCLUDED.clear();
-        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header 
+        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header
         EXCLUDED.put("51832.xls", EncryptedDocumentException.class);
-        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class); 
-        EXCLUDED.put("password.xls", EncryptedDocumentException.class); 
+        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class);
+        EXCLUDED.put("password.xls", EncryptedDocumentException.class);
         EXCLUDED.put("46904.xls", OldExcelFormatException.class);
         EXCLUDED.put("59074.xls", OldExcelFormatException.class);
         EXCLUDED.put("testEXCEL_2.xls", OldExcelFormatException.class);  // Biff 2 / Excel 2, pre-OLE2
@@ -47,11 +48,11 @@ public class TestBiffDrawingToXml extend
         EXCLUDED.put("61300.xls", RecordFormatException.class);
         EXCLUDED.put("64130.xls", OldExcelFormatException.class); // BIFF 5
     }
-	
+
 	@Override
 	void runOneFile(File pFile) throws Exception {
         try (InputStream wb = new FileInputStream(pFile)) {
-            BiffDrawingToXml.writeToFile(NULL_OUTPUT_STREAM, wb, false, new String[0]);
+            BiffDrawingToXml.writeToFile(new NullOutputStream(), wb, false, new String[0]);
         }
 	}
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffViewer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffViewer.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffViewer.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestBiffViewer.java Mon Aug 17 20:25:08 2020
@@ -28,6 +28,7 @@ import org.apache.poi.hssf.OldExcelForma
 import org.apache.poi.hssf.record.RecordInputStream;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.NullOutputStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
@@ -62,7 +63,7 @@ public class TestBiffViewer extends Base
         try (POIFSFileSystem fs = new POIFSFileSystem(fileIn, true);
              InputStream is = BiffViewer.getPOIFSInputStream(fs)) {
             // use a NullOutputStream to not write the bytes anywhere for best runtime
-            PrintWriter dummy = new PrintWriter(new OutputStreamWriter(NULL_OUTPUT_STREAM, LocaleUtil.CHARSET_1252));
+            PrintWriter dummy = new PrintWriter(new OutputStreamWriter(new NullOutputStream(), LocaleUtil.CHARSET_1252));
             BiffViewer.runBiffViewer(dummy, is, true, true, true, false);
         }
     }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestEFBiffViewer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestEFBiffViewer.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestEFBiffViewer.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestEFBiffViewer.java Mon Aug 17 20:25:08 2020
@@ -23,7 +23,7 @@ import java.io.PrintStream;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.hssf.OldExcelFormatException;
 import org.apache.poi.hssf.record.RecordInputStream;
-import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 
@@ -31,10 +31,10 @@ public class TestEFBiffViewer extends Ba
     @BeforeClass
     public static void setup() {
         EXCLUDED.clear();
-        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header 
+        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header
         EXCLUDED.put("51832.xls", EncryptedDocumentException.class);
-        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class); 
-        EXCLUDED.put("password.xls", EncryptedDocumentException.class); 
+        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class);
+        EXCLUDED.put("password.xls", EncryptedDocumentException.class);
         EXCLUDED.put("46904.xls", OldExcelFormatException.class);
         EXCLUDED.put("59074.xls", OldExcelFormatException.class);
         EXCLUDED.put("testEXCEL_2.xls", OldExcelFormatException.class);  // Biff 2 / Excel 2, pre-OLE2
@@ -45,17 +45,17 @@ public class TestEFBiffViewer extends Ba
         EXCLUDED.put("testEXCEL_95.xls", OldExcelFormatException.class); // Biff 5 / Excel 95
         EXCLUDED.put("43493.xls", RecordInputStream.LeftoverDataException.class);  // HSSFWorkbook cannot open it as well
         EXCLUDED.put("44958_1.xls", RecordInputStream.LeftoverDataException.class);
-        EXCLUDED.put("XRefCalc.xls", RuntimeException.class);            // "Buffer overrun"
+        // EXCLUDED.put("XRefCalc.xls", RuntimeException.class);            // "Buffer overrun"
         EXCLUDED.put("61300.xls", RecordFormatException.class);
         EXCLUDED.put("64130.xls", OldExcelFormatException.class); //Biff 5
     }
-	
+
 	@Override
 	void runOneFile(File fileIn) throws IOException {
 		PrintStream save = System.out;
 		try {
 			// redirect standard out during the test to avoid spamming the console with output
-			System.setOut(new PrintStream(NULL_OUTPUT_STREAM,true,LocaleUtil.CHARSET_1252.name()));
+			System.setOut(new NullPrintStream());
 
 			EFBiffViewer.main(new String[] { fileIn.getAbsolutePath() });
 		} finally {

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestFormulaViewer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestFormulaViewer.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestFormulaViewer.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestFormulaViewer.java Mon Aug 17 20:25:08 2020
@@ -24,7 +24,7 @@ import java.io.PrintStream;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.hssf.OldExcelFormatException;
 import org.apache.poi.hssf.record.RecordInputStream;
-import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 
@@ -32,10 +32,10 @@ public class TestFormulaViewer extends B
     @BeforeClass
     public static void setup() {
         EXCLUDED.clear();
-        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header 
+        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header
         EXCLUDED.put("51832.xls", EncryptedDocumentException.class);
-        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class); 
-        EXCLUDED.put("password.xls", EncryptedDocumentException.class); 
+        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class);
+        EXCLUDED.put("password.xls", EncryptedDocumentException.class);
         EXCLUDED.put("46904.xls", OldExcelFormatException.class);
         EXCLUDED.put("59074.xls", OldExcelFormatException.class);
         EXCLUDED.put("testEXCEL_2.xls", OldExcelFormatException.class);  // Biff 2 / Excel 2, pre-OLE2
@@ -49,13 +49,13 @@ public class TestFormulaViewer extends B
         EXCLUDED.put("61300.xls", RecordFormatException.class);
         EXCLUDED.put("64130.xls", OldExcelFormatException.class); //Biff 5
     }
-	
+
     @Override
 	void runOneFile(File fileIn) throws Exception {
 		PrintStream save = System.out;
 		try {
 			// redirect standard out during the test to avoid spamming the console with output
-			System.setOut(new PrintStream(NULL_OUTPUT_STREAM,true,LocaleUtil.CHARSET_1252.name()));
+			System.setOut(new NullPrintStream());
 
             FormulaViewer viewer = new FormulaViewer();
             viewer.setFile(fileIn.getAbsolutePath());

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestReSave.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestReSave.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestReSave.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestReSave.java Mon Aug 17 20:25:08 2020
@@ -25,7 +25,7 @@ import org.apache.poi.EncryptedDocumentE
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.OldExcelFormatException;
 import org.apache.poi.hssf.record.RecordInputStream;
-import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
@@ -35,10 +35,10 @@ public class TestReSave extends BaseTest
     @BeforeClass
     public static void setup() {
         EXCLUDED.clear();
-        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header 
+        EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header
         EXCLUDED.put("51832.xls", EncryptedDocumentException.class);
-        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class); 
-        EXCLUDED.put("password.xls", EncryptedDocumentException.class); 
+        EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class);
+        EXCLUDED.put("password.xls", EncryptedDocumentException.class);
         EXCLUDED.put("46904.xls", OldExcelFormatException.class);
         EXCLUDED.put("59074.xls", OldExcelFormatException.class);
         EXCLUDED.put("testEXCEL_2.xls", OldExcelFormatException.class);  // Biff 2 / Excel 2, pre-OLE2
@@ -64,12 +64,12 @@ public class TestReSave extends BaseTest
 		PrintStream save = System.out;
 		try {
 			// redirect standard out during the test to avoid spamming the console with output
-			System.setOut(new PrintStream(NULL_OUTPUT_STREAM,true,LocaleUtil.CHARSET_1252.name()));
+			System.setOut(new NullPrintStream());
 
 			File reSavedFile = new File(fileIn.getParentFile(), fileIn.getName().replace(".xls", "-saved.xls"));
 			try {
 				ReSave.main(new String[] { fileIn.getAbsolutePath() });
-				
+
 				// also try BiffViewer on the saved file
                 new TestBiffViewer().runOneFile(reSavedFile);
 

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestRecordLister.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestRecordLister.java?rev=1880944&r1=1880943&r2=1880944&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestRecordLister.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/dev/TestRecordLister.java Mon Aug 17 20:25:08 2020
@@ -21,7 +21,7 @@ import java.io.IOException;
 import java.io.PrintStream;
 
 import org.apache.poi.hssf.OldExcelFormatException;
-import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.NullPrintStream;
 import org.apache.poi.util.RecordFormatException;
 import org.junit.BeforeClass;
 
@@ -46,7 +46,7 @@ public class TestRecordLister extends Ba
 		PrintStream save = System.out;
 		try {
 			// redirect standard out during the test to avoid spamming the console with output
-			System.setOut(new PrintStream(NULL_OUTPUT_STREAM,true,LocaleUtil.CHARSET_1252.name()));
+			System.setOut(new NullPrintStream());
 
 			RecordLister viewer = new RecordLister();
             viewer.setFile(fileIn.getAbsolutePath());



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org