diff options
| author | J08nY | 2024-03-30 19:16:44 +0100 |
|---|---|---|
| committer | J08nY | 2024-03-30 19:16:44 +0100 |
| commit | b026dacd1af1970fb27f13783e039415cc862015 (patch) | |
| tree | 998c0fb2f082a4529263ab5d551180c4b307bb7f /common | |
| parent | fa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587 (diff) | |
| download | ECTester-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.java | 27 |
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; +} |
