From 07297372c5a1e5f7d147eb105e5fd57afac05647 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 18 Nov 2007 13:57:03 +0000 Subject: [PATCH] Conclude reporting improvements git-svn-id: https://svn.argeo.org/slc/trunk@718 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../test/tree/TreeTestResultPersister.java | 2 +- .../tree/htmlreport/FullHtmlTreeReport.java | 40 ++++++++++++--- .../core/test/tree/htmlreport/ResultPage.java | 49 ++++++++++++------- .../test/tree/htmlreport/ResultsList.java | 4 +- .../slc/core/test/tree/htmlreport/index.html | 3 +- .../slc/core/test/tree/htmlreport/style.css | 24 --------- 6 files changed, 67 insertions(+), 55 deletions(-) diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java index 68c2ada69..c16e70a76 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java @@ -34,7 +34,6 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener StructureRegistry localRegistry = partStruct.result.getRegistry(); TreeSRegistry registry = getOrCreateTreeSRegistry(path); syncPath(registry, localRegistry, path); - treeSRegistryDao.update(registry); if (persistedResult == null) { persistedResult = new TreeTestResult(); @@ -119,6 +118,7 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener } else { registry.register(path, new SimpleSElement(path.getName())); } + treeSRegistryDao.update(registry); } if (path.getParent() != null) { diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java index 076da8f86..eb8a360d7 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java @@ -2,15 +2,14 @@ package org.argeo.slc.core.test.tree.htmlreport; import java.io.File; import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; +import java.util.Comparator; import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; -import org.dbunit.dataset.IDataSet; -import org.dbunit.dataset.xml.FlatXmlDataSet; -import org.hsqldb.lib.FileUtil; - -import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.argeo.slc.core.SlcException; @@ -58,11 +57,24 @@ public class FullHtmlTreeReport implements TestReport, StructureAware { reportDir.mkdirs(); resourceToFile("index.html"); - resourceToFile("style.css"); ResultsList index = new ResultsList(this); List list = testResultDao.listTestResults(); - for (TestResult testRes : list) { + SortedSet sortedSet = new TreeSet( + new Comparator() { + + public int compare(TestResult o1, TestResult o2) { + if (o1.getCloseDate() == null + || o2.getCloseDate() == null) + return 0; + // inverse date order (last first) + return o2.getCloseDate().compareTo( + o1.getCloseDate()); + } + + }); + sortedSet.addAll(list); + for (TestResult testRes : sortedSet) { TreeTestResult result = (TreeTestResult) testRes; index.addTestResult(result); @@ -120,6 +132,20 @@ public class FullHtmlTreeReport implements TestReport, StructureAware { return reportDir; } + void addStyles(StringBuffer buf){ + try { + buf.append("\n"); + } catch (IOException e) { + throw new SlcException("Cannot load styles", e); + } + } + private void resourceToFile(String resourceName) { try { File file = new File(getReportDir() + File.separator + resourceName); diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java index 06bf7c30d..e4f7f20f6 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java @@ -4,8 +4,6 @@ import java.io.IOException; import java.util.SortedMap; import java.util.TreeMap; -import javax.swing.tree.TreePath; - import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -42,15 +40,15 @@ class ResultPage { StringBuffer buf = new StringBuffer(""); buf.append("\n"); buf.append("
"); - buf.append("Result #").append(result.getTestResultId()).append( - "\n"); - buf - .append(""); + buf.append("Result #").append(result.getTestResultId()); + buf.append("\n"); + report.addStyles(buf); buf.append("
\n"); buf.append("\n"); // Header + buf.append("\n"); buf.append("

Result #").append(result.getTestResultId()).append( "

\n"); buf.append(report.sdf.format(result.getCloseDate())); @@ -126,19 +124,13 @@ class ResultPage { buf.append("

\n"); buf.append(""); buf.append("

"); - String description = path.getName(); - if (registry != null) { - StructureElement element = registry.getElement(path); - if (element != null) { - description = element.getDescription(); - } - } - buf.append(description); + describedPath(path, registry, buf); buf.append("

"); PartSubList subList = (PartSubList) result.getResultParts().get( path); buf.append("\n"); + int displayedIndex = 1;// for display only for (TestResultPart part : subList.getParts()) { SimpleResultPart sPart = (SimpleResultPart) part; String clss = ""; @@ -147,12 +139,20 @@ class ResultPage { } else { clss = "failed"; } - buf.append(""); + buf.append(""); + buf.append("\n"); + buf.append(""); + buf.append("\n"); + + displayedIndex++; } buf.append("
"); + buf.append("
").append(displayedIndex) + .append(""); buf.append(sPart.getMessage()); - buf.append("
\n"); + buf.append("top\n"); + buf.append("
\n"); } } @@ -175,8 +175,19 @@ class ResultPage { return path.getAsUniqueString().replace(path.getSeparator(), '_'); } - private String describedPath(TreePath path, StructureRegistry registry) { - StringBuffer buf = new StringBuffer(""); - return buf.toString(); + private void describedPath(TreeSPath path, StructureRegistry registry, + StringBuffer buf) { + // StringBuffer buf = new StringBuffer(""); + if (path.getParent() != null) { + describedPath(path.getParent(), registry, buf); + } + String description = path.getName(); + if (registry != null) { + StructureElement element = registry.getElement(path); + if (element != null) { + description = element.getDescription(); + } + } + buf.append('/').append(description); } } diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java index f2a751641..84b1f7fe0 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java @@ -18,13 +18,13 @@ class ResultsList { buf.append("
Results
"); buf.append("
"); buf.append("Results\n"); - buf - .append(""); + report.addStyles(buf); buf.append("
\n"); buf.append("\n"); buf.append("

Results

\n"); buf.append("\n"); + buf.append("\n"); } void addTestResult(TreeTestResult result) { diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/index.html b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/index.html index ca5836d19..32beed3b5 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/index.html +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/index.html @@ -2,9 +2,8 @@ SLC test results - - + diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/style.css b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/style.css index 26d5ae2bd..f2c3a7176 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/style.css +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/style.css @@ -1,4 +1,3 @@ -/* Generic Selectors */ body { font-family: sans-serif; font-size: 12px; @@ -6,10 +5,6 @@ body { background-color: white; } -li { - list-style-type: none; -} - h1 { font-family: sans-serif; font-size: 16px; @@ -33,24 +28,6 @@ table,form { margin: 0px; } -img { - border: none; -} - -div { - font-size: 100%; -} - -tr.list:hover { - background-color: lightgrey; -} - -td.list { - border-top: 1px solid lighgrey; - padding: 2px 20px 2px 2px; - padding-right: 15px; -} - th { font-size: 12px; padding: 2px 20px 2px 2px; @@ -73,7 +50,6 @@ td { color: red; } -/**************** Pseudo classes ****************/ a { text-decoration: none; } -- 2.39.2
DateResult Id