]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java
Conclude reporting improvements
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / core / test / tree / htmlreport / FullHtmlTreeReport.java
index 076da8f86dea7625243d21accca67731272a086a..eb8a360d75c3174be32395ef2b69ac03b2f9fe37 100644 (file)
@@ -2,15 +2,14 @@ package org.argeo.slc.core.test.tree.htmlreport;
 \r
 import java.io.File;\r
 import java.io.FileOutputStream;\r
+import java.io.IOException;\r
 import java.io.InputStream;\r
 import java.text.SimpleDateFormat;\r
+import java.util.Comparator;\r
 import java.util.List;\r
+import java.util.SortedSet;\r
+import java.util.TreeSet;\r
 \r
-import org.dbunit.dataset.IDataSet;\r
-import org.dbunit.dataset.xml.FlatXmlDataSet;\r
-import org.hsqldb.lib.FileUtil;\r
-\r
-import org.apache.commons.io.FileUtils;\r
 import org.apache.commons.io.IOUtils;\r
 \r
 import org.argeo.slc.core.SlcException;\r
@@ -58,11 +57,24 @@ public class FullHtmlTreeReport implements TestReport, StructureAware {
                        reportDir.mkdirs();\r
 \r
                        resourceToFile("index.html");\r
-                       resourceToFile("style.css");\r
 \r
                        ResultsList index = new ResultsList(this);\r
                        List<TestResult> list = testResultDao.listTestResults();\r
-                       for (TestResult testRes : list) {\r
+                       SortedSet<TestResult> sortedSet = new TreeSet<TestResult>(\r
+                                       new Comparator<TestResult>() {\r
+\r
+                                               public int compare(TestResult o1, TestResult o2) {\r
+                                                       if (o1.getCloseDate() == null\r
+                                                                       || o2.getCloseDate() == null)\r
+                                                               return 0;\r
+                                                       // inverse date order (last first)\r
+                                                       return o2.getCloseDate().compareTo(\r
+                                                                       o1.getCloseDate());\r
+                                               }\r
+\r
+                                       });\r
+                       sortedSet.addAll(list);\r
+                       for (TestResult testRes : sortedSet) {\r
                                TreeTestResult result = (TreeTestResult) testRes;\r
 \r
                                index.addTestResult(result);\r
@@ -120,6 +132,20 @@ public class FullHtmlTreeReport implements TestReport, StructureAware {
                return reportDir;\r
        }\r
 \r
+       void addStyles(StringBuffer buf){\r
+               try {\r
+                       buf.append("<style type=\"text/css\">\n");\r
+                       InputStream in = FullHtmlTreeReport.class\r
+                       .getResourceAsStream("style.css");\r
+                       String styles = IOUtils.toString(in);\r
+                       IOUtils.closeQuietly(in);\r
+                       buf.append(styles);\r
+                       buf.append("\n</style>\n");\r
+               } catch (IOException e) {\r
+                       throw new SlcException("Cannot load styles", e);\r
+               }\r
+       }\r
+       \r
        private void resourceToFile(String resourceName) {\r
                try {\r
                        File file = new File(getReportDir() + File.separator + resourceName);\r