You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by ti...@apache.org on 2010/01/05 13:19:53 UTC
svn commit: r896022 -
/incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
Author: tillw
Date: Tue Jan 5 12:19:52 2010
New Revision: 896022
URL: http://svn.apache.org/viewvc?rev=896022&view=rev
Log:
- some refactoring
Modified:
incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
Modified: incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java?rev=896022&r1=896021&r2=896022&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java (original)
+++ incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java Tue Jan 5 12:19:52 2010
@@ -51,9 +51,10 @@
private PrintWriter out;
- private File resultsFile;
+ private File reportFile;
+ private File resultDir;
- public HTMLFileReporterImpl(File file) throws IOException {
+ public HTMLFileReporterImpl(File file) {
results = new ArrayList<TestCaseResult>();
count = 0;
userErrors = 0;
@@ -61,15 +62,7 @@
startTime = -1;
exDistribution = new HashMap<Class<?>, Integer>();
stDistribution = new HashMap<TestCaseResult.State, Integer>();
- if (file != null) {
- out = new PrintWriter(file);
- String fileName = file.getName();
- int dot = file.getName().lastIndexOf('.');
- String resultsFileName = (dot < 0 ? fileName : fileName.substring(0, dot)) + "_results.html";
- resultsFile = file.getParent() != null
- ? new File(file.getParent() + File.separator + resultsFileName)
- : new File(resultsFileName);
- }
+ reportFile = file;
}
@Override
@@ -103,25 +96,40 @@
@Override
public void close() {
- if (out != null) {
- if (resultsFile != null) {
- try {
- FileWriter resultsWriter = new FileWriter(resultsFile);
- PrintWriter resultsReport = new PrintWriter(new BufferedWriter(resultsWriter));
- writeHTML(out, resultsReport, resultsFile.toURI());
- resultsReport.flush();
- resultsWriter.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- } else {
- writeHTML(out);
+ if (reportFile != null) {
+ try {
+ out = new PrintWriter(reportFile);
+ resultDir = createResultDir(reportFile);
+ ensureDir(resultDir);
+ File resultFile = new File(resultDir.getAbsolutePath() + File.separator + "index.html");
+ FileWriter resultWriter = new FileWriter(resultFile);
+ PrintWriter resultReport = new PrintWriter(new BufferedWriter(resultWriter));
+ writeHTML(out, resultReport, resultFile.toURI());
+ resultReport.flush();
+ resultWriter.close();
+ out.flush();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
- out.flush();
}
}
+ private static File createResultDir(File file) {
+ String fileName = file.getName();
+ int dot = file.getName().lastIndexOf('.');
+ String resultDirName = (dot < 0 ? fileName : fileName.substring(0, dot)) + "_results";
+ return file.getParent() != null
+ ? new File(file.getParent() + File.separator + resultDirName)
+ : new File(resultDirName);
+ }
+
+ private static void ensureDir(File dir) throws IOException {
+ if (!dir.isDirectory() && !dir.mkdirs()) {
+ throw new IOException("could not create dir " + dir);
+ }
+ }
+
public void writeHTML(PrintWriter out) {
writeHTML(out, null, null);
}