aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJ08nY2024-03-30 19:16:44 +0100
committerJ08nY2024-03-30 19:16:44 +0100
commitb026dacd1af1970fb27f13783e039415cc862015 (patch)
tree998c0fb2f082a4529263ab5d551180c4b307bb7f /common
parentfa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587 (diff)
downloadECTester-b026dacd1af1970fb27f13783e039415cc862015.tar.gz
ECTester-b026dacd1af1970fb27f13783e039415cc862015.tar.zst
ECTester-b026dacd1af1970fb27f13783e039415cc862015.zip
Diffstat (limited to 'common')
-rw-r--r--common/src/main/java/cz/crcs/ectester/common/output/BaseFileTestWriter.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/common/src/main/java/cz/crcs/ectester/common/output/BaseFileTestWriter.java b/common/src/main/java/cz/crcs/ectester/common/output/BaseFileTestWriter.java
new file mode 100644
index 0000000..523a92f
--- /dev/null
+++ b/common/src/main/java/cz/crcs/ectester/common/output/BaseFileTestWriter.java
@@ -0,0 +1,27 @@
+package cz.crcs.ectester.common.output;
+
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+
+public abstract class BaseFileTestWriter extends TeeTestWriter {
+
+ public BaseFileTestWriter(String defaultFormat, boolean systemOut, String[] files) throws ParserConfigurationException, FileNotFoundException {
+ int fLength = files == null ? 0 : files.length;
+ writers = new TestWriter[systemOut ? fLength + 1 : fLength];
+ if (systemOut) {
+ writers[0] = createWriter(defaultFormat, System.out);
+ }
+ for (int i = 0; i < fLength; ++i) {
+ String[] matched = matchName(files[i]);
+ String format = matched[0];
+ String fName = matched[1];
+ writers[i + 1] = createWriter(format, new PrintStream(new FileOutputStream(fName)));
+ }
+ }
+
+ protected abstract String[] matchName(String name);
+
+ protected abstract TestWriter createWriter(String format, PrintStream out) throws ParserConfigurationException;
+}