aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2021-12-30 21:09:08 +0000
committerPJ Fanning <fanningpj@apache.org>2021-12-30 21:09:08 +0000
commit4823d0cbd4add5a5dbb99ce52acb61921362f5b5 (patch)
tree39c60b67ac10b7f9b76897d0aaae7e545b68d093
parente35347157de67687924267a7fd012a54ae4e9080 (diff)
downloadpoi-4823d0cbd4add5a5dbb99ce52acb61921362f5b5.tar.gz
poi-4823d0cbd4add5a5dbb99ce52acb61921362f5b5.zip
refactor CopyCompare again
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1896543 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java17
-rw-r--r--poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java14
2 files changed, 9 insertions, 22 deletions
diff --git a/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java b/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
index 8a9e0e2f0e..010504140c 100644
--- a/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
+++ b/poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
@@ -22,7 +22,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import org.apache.poi.hpsf.DocumentSummaryInformation;
@@ -63,7 +62,7 @@ import org.apache.poi.util.TempFile;
@SuppressWarnings({"java:S106","java:S4823"})
public final class CopyCompare {
- private PrintStream out = System.out;
+ private CopyCompare() {}
/**
* Runs the example program. The application expects one or two arguments:
@@ -82,10 +81,6 @@ 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;
@@ -103,7 +98,11 @@ public final class CopyCompare {
System.exit(1);
}
+ boolean result = compare(originalFileName, copyFileName);
+ System.out.println(result ? "Equal" : "Not equal");
+ }
+ public static boolean compare(String originalFileName, String copyFileName) throws IOException {
// Read the origin POIFS using the eventing API.
final POIFSReader r = new POIFSReader();
try (final POIFSFileSystem poiFs = new POIFSFileSystem();
@@ -123,14 +122,10 @@ public final class CopyCompare {
POIFSFileSystem cpfs = new POIFSFileSystem(new File(copyFileName))) {
final DirectoryEntry oRoot = opfs.getRoot();
final DirectoryEntry cRoot = cpfs.getRoot();
- out.println(EntryUtils.areDirectoriesIdentical(oRoot, cRoot) ? "Equal" : "Not equal");
+ return EntryUtils.areDirectoriesIdentical(oRoot, cRoot);
}
}
- public void setOut(PrintStream ps) {
- out = ps;
- }
-
private interface InputStreamSupplier {
InputStream get() throws IOException, WritingNotSupportedException;
}
diff --git a/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java b/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java
index 32c25a78d7..fff7daa8ec 100644
--- a/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java
+++ b/poi-integration/src/test/java/org/apache/poi/stress/HPSFFileHandler.java
@@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
@@ -27,11 +28,8 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.PrintStream;
-import java.nio.charset.StandardCharsets;
import java.util.Set;
-import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.examples.hpsf.CopyCompare;
import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hpsf.HPSFPropertiesOnlyDocument;
@@ -128,14 +126,8 @@ public class HPSFFileHandler extends POIFSFileHandler {
public void handleAdditional(File file) throws Exception {
assumeFalse(EXCLUDES_HANDLE_ADD.contains(file.getParentFile().getName()+"/"+file.getName()));
- try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
- try (PrintStream psNew = new PrintStream(bos, true, "ISO-8859-1")) {
- CopyCompare copyCompare = new CopyCompare();
- copyCompare.setOut(psNew);
- copyCompare.run(new String[]{file.getAbsolutePath(), copyOutput.get().getAbsolutePath()});
- assertEquals("Equal" + NL, bos.toString(StandardCharsets.UTF_8));
- }
- }
+ boolean result = CopyCompare.compare(file.getAbsolutePath(), copyOutput.get().getAbsolutePath());
+ assertTrue(result);
}