[hibernate-commits] Hibernate SVN: r15992 - validator/trunk/tck-utils/impl/src/main/java/org/hibernate/tck/report.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Feb 17 23:45:23 EST 2009


Author: shane.bryzak at jboss.com
Date: 2009-02-17 23:45:23 -0500 (Tue, 17 Feb 2009)
New Revision: 15992

Modified:
   validator/trunk/tck-utils/impl/src/main/java/org/hibernate/tck/report/CoverageReport.java
Log:
added section summary

Modified: validator/trunk/tck-utils/impl/src/main/java/org/hibernate/tck/report/CoverageReport.java
===================================================================
--- validator/trunk/tck-utils/impl/src/main/java/org/hibernate/tck/report/CoverageReport.java	2009-02-17 19:34:06 UTC (rev 15991)
+++ validator/trunk/tck-utils/impl/src/main/java/org/hibernate/tck/report/CoverageReport.java	2009-02-18 04:45:23 UTC (rev 15992)
@@ -74,6 +74,8 @@
 
     public void generate(OutputStream out) throws IOException {
         writeHeader(out);
+        writeMasterSummary(out);
+        writeSectionSummary(out);
         writeCoverage(out);
         writeUnmatched(out);
         writeFooter(out);
@@ -147,7 +149,107 @@
 
         out.write(sb.toString().getBytes());
     }
+    
+    private void writeMasterSummary(OutputStream out) throws IOException {
+       StringBuilder sb = new StringBuilder();
+       
+       sb.append("<h3>Master Summary</h3>\n");
+       
+       sb.append("<table border=\"0\">");
+       
+       sb.append("<tr>");
+       sb.append("<td>Total number of assertions</td>");
+       sb.append("<td>");
+       
+       int assertionTotal = 0;
+       
+       for (List<AuditAssertion> assertions : auditParser.getAssertions().values())
+       {
+          assertionTotal += assertions.size();
+       }
+       
+       sb.append(assertionTotal);
+       sb.append("</td>");
+       sb.append("</tr>");
+       
+       sb.append("</table>");
+       
+       out.write(sb.toString().getBytes());
+    }
 
+    private void writeSectionSummary(OutputStream out) throws IOException {
+       StringBuilder sb = new StringBuilder();
+       
+       sb.append("<h3>Section Summary</h3>\n");
+
+       sb.append("<table width=\"100%\">");
+       
+       sb.append("<tr style=\"background-color:#dddddd\">");
+       sb.append("<th align=\"left\">Section</th>");
+       sb.append("<th>Assertions</th>");
+       sb.append("<th>Coverage</th>");
+       sb.append("<th>Coverage %</th>");
+       sb.append("</tr>");
+       
+       boolean odd = true;
+              
+       for (String sectionId : auditParser.getSectionIds()) {
+          
+         if (odd)
+         {
+            sb.append("<tr style=\"background-color:#f7f7f7\">");
+         }
+         else
+         {
+            sb.append("<tr>");
+         }
+         
+         odd = !odd;
+         
+         int margin = (sectionId.split("[.]").length - 1) * 16;         
+         
+         sb.append("<td style=\"padding-left:" + margin + "px\">");
+         sb.append("<a href=\"#" + sectionId + "\">");
+         sb.append(sectionId);
+         sb.append(" ");
+         sb.append(auditParser.getSectionTitle(sectionId));
+         sb.append("</a>");
+         sb.append("</td>");
+         
+         int assertions = auditParser.getAssertionsForSection(sectionId).size();
+         int coverage = 0;
+         
+         for (AuditAssertion assertion : auditParser.getAssertionsForSection(sectionId))
+         {
+            if (!getCoverageForAssertion(sectionId, assertion.getId()).isEmpty())
+            {
+               coverage++;
+            }
+         }
+         
+         double coveragePercent = assertions > 0 ? ((coverage * 1.0) / assertions) * 100 : 0;
+         
+         sb.append("<td align=\"center\">");
+         sb.append(assertions);
+         sb.append("</td>");
+         
+         sb.append("<td align=\"center\">");
+         sb.append(coverage);
+         sb.append("</td>");
+         
+         String bgColor = coveragePercent < 60 ? "#ffaaaa" : coveragePercent < 80 ? "#ffffaa" : "#aaffaa";
+         
+         sb.append("<td align=\"center\" style=\"background-color:" + bgColor + "\">");
+         sb.append(String.format("%.2f%%", coveragePercent));
+         sb.append("</td>");
+         
+         sb.append("</tr>");
+       }
+
+       sb.append("</table>");       
+       out.write(sb.toString().getBytes());       
+    }
+    
     private void writeCoverage(OutputStream out) throws IOException {
        
         out.write("<h3>Coverage Detail</h3>\n".getBytes());
@@ -159,8 +261,9 @@
             if (sectionAssertions != null && !sectionAssertions.isEmpty()) {
                 StringBuilder sb = new StringBuilder();
 
-                out.write(("<div class=\"sectionHeader\">Section " + sectionId + " - " +
-                      auditParser.getSectionTitle(sectionId) + "</div>\n").getBytes());                
+                out.write(("<h4 class=\"sectionHeader\" id=\"" + sectionId + "\">Section " + 
+                      sectionId + " - " +
+                      auditParser.getSectionTitle(sectionId) + "</h4>\n").getBytes());                
                 
                 for (AuditAssertion assertion : sectionAssertions) {
                     List<SpecReference> coverage = getCoverageForAssertion(sectionId, assertion.getId());




More information about the hibernate-commits mailing list