You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/12/30 20:02:03 UTC

svn commit: r1896536 - in /poi/trunk: poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java

Author: fanningpj
Date: Thu Dec 30 20:02:03 2021
New Revision: 1896536

URL: http://svn.apache.org/viewvc?rev=1896536&view=rev
Log:
rewrite CopyCompare to remove its ThreadLocal which causes a sonar code smell

Modified:
    poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
    poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java

Modified: poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java?rev=1896536&r1=1896535&r2=1896536&view=diff
==============================================================================
--- poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java (original)
+++ poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java Thu Dec 30 20:02:03 2021
@@ -62,9 +62,8 @@ import org.apache.poi.util.TempFile;
  */
 @SuppressWarnings({"java:S106","java:S4823"})
 public final class CopyCompare {
-    private CopyCompare() {}
 
-    private static final ThreadLocal<PrintStream> out = ThreadLocal.withInitial(() -> System.out);
+    private PrintStream out = System.out;
 
     /**
      * Runs the example program. The application expects one or two arguments:
@@ -83,6 +82,10 @@ public final class CopyCompare {
      *                                      supported.
      */
     public static void main(final String[] args) throws IOException {
+        new CopyCompare().run(args);
+    }
+
+    public void run(String[] args) throws IOException {
         String originalFileName = null;
         String copyFileName = null;
 
@@ -120,12 +123,12 @@ public final class CopyCompare {
              POIFSFileSystem cpfs = new POIFSFileSystem(new File(copyFileName))) {
             final DirectoryEntry oRoot = opfs.getRoot();
             final DirectoryEntry cRoot = cpfs.getRoot();
-            out.get().println(EntryUtils.areDirectoriesIdentical(oRoot, cRoot) ? "Equal" : "Not equal");
+            out.println(EntryUtils.areDirectoriesIdentical(oRoot, cRoot) ? "Equal" : "Not equal");
         }
     }
 
-    public static void setOut(PrintStream ps) {
-        out.set(ps);
+    public void setOut(PrintStream ps) {
+        out = ps;
     }
 
     private interface InputStreamSupplier {

Modified: poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java?rev=1896536&r1=1896535&r2=1896536&view=diff
==============================================================================
--- poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java (original)
+++ poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java Thu Dec 30 20:02:03 2021
@@ -33,7 +33,6 @@ import java.util.Set;
 
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.examples.hpsf.CopyCompare;
-import org.apache.poi.extractor.POITextExtractor;
 import org.apache.poi.hpsf.DocumentSummaryInformation;
 import org.apache.poi.hpsf.HPSFPropertiesOnlyDocument;
 import org.apache.poi.hpsf.PropertySet;
@@ -129,11 +128,13 @@ public class HPSFFileHandler extends POI
     public void handleAdditional(File file) throws Exception {
         assumeFalse(EXCLUDES_HANDLE_ADD.contains(file.getParentFile().getName()+"/"+file.getName()));
 
-        UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
-        PrintStream psNew = new PrintStream(bos, true, "ISO-8859-1");
-        CopyCompare.setOut(psNew);
-        CopyCompare.main(new String[]{file.getAbsolutePath(), copyOutput.get().getAbsolutePath()});
-        assertEquals("Equal" + NL, bos.toString(StandardCharsets.UTF_8));
+        try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+            PrintStream psNew = new PrintStream(bos, true, "ISO-8859-1");
+            CopyCompare copyCompare = new CopyCompare();
+            copyCompare.setOut(psNew);
+            CopyCompare.main(new String[]{file.getAbsolutePath(), copyOutput.get().getAbsolutePath()});
+            assertEquals("Equal" + NL, bos.toString(StandardCharsets.UTF_8));
+        }
     }
 
 

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java?rev=1896536&r1=1896535&r2=1896536&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/model/ThemesTable.java Thu Dec 30 20:02:03 2021
@@ -56,7 +56,8 @@ public class ThemesTable extends POIXMLD
            return values()[idx];
        }
        ThemeElement(int idx, String name) {
-           this.idx = idx; this.name = name;
+           this.idx = idx;
+           this.name = name;
        }
        public final int idx;
        public final String name;



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