View Javadoc
1 package net.sourceforge.pmd.renderers; 2 3 import net.sourceforge.pmd.PMD; 4 import net.sourceforge.pmd.Report; 5 import net.sourceforge.pmd.RuleViolation; 6 7 import java.util.Iterator; 8 9 /*** 10 * @version $Revision: 1.5 $ $Date: 2003/06/26 21:13:13 $ 11 * @author Vladimir 12 */ 13 public class VBHTMLRenderer implements Renderer { 14 15 public String render(Report report) { 16 if (report.isEmpty()) { 17 return ""; 18 } 19 20 StringBuffer sb = new StringBuffer(header()); 21 String filename = null; 22 String lineSep = PMD.EOL; 23 24 boolean colorize = false; 25 26 for (Iterator iter = report.iterator(); iter.hasNext();) { 27 RuleViolation rv = (RuleViolation) iter.next(); 28 if (!rv.getFilename().equals(filename)) { // New File 29 if (filename != null) { 30 sb.append("</table></br>"); 31 colorize = false; 32 } 33 filename = rv.getFilename(); 34 sb.append("<table border=\"0\" width=\"80%\">"); 35 sb.append("<tr id=TableHeader><td colspan=\"2\"><font class=title> ").append(filename).append("</font></tr>"); 36 sb.append(lineSep); 37 } 38 39 if (colorize) { 40 sb.append("<tr id=RowColor1>"); 41 } else { 42 sb.append("<tr id=RowColor2>"); 43 } 44 45 colorize = !colorize; 46 sb.append("<td width=\"50\" align=\"right\"><font class=body>" + rv.getLine() + "   </font></td>"); 47 sb.append("<td><font class=body>" + rv.getDescription() + "</font></td>"); 48 sb.append("</tr>"); 49 sb.append(lineSep); 50 } 51 if (filename != null) { 52 sb.append("</table>"); 53 } 54 sb.append("<br>"); 55 56 // output the problems 57 Iterator iter = report.errors(); 58 if (iter.hasNext()) { 59 sb.append("<table border=\"0\" width=\"80%\">"); 60 sb.append("<tr id=TableHeader><td><font class=title> Problems found</font></td></tr>"); 61 colorize = false; 62 while(iter.hasNext()) { 63 if (colorize) { 64 sb.append("<tr id=RowColor1>"); 65 } else { 66 sb.append("<tr id=RowColor2>"); 67 } 68 colorize = !colorize; 69 sb.append("<td><font class=body>").append(iter.next()).append("\"</font></td></tr>"); 70 } 71 sb.append("</table>"); 72 } 73 74 sb.append(footer()); 75 76 return sb.toString(); 77 } 78 79 private String header() { 80 StringBuffer sb = new StringBuffer(); 81 sb.append("<html><head><title>PMD</title></head>"); 82 sb.append("<style type=\"text/css\">"); 83 sb.append("<!--" + PMD.EOL); 84 sb.append("body { background-color: white; font-family:verdana, arial, helvetica, geneva; font-size: 16px; font-style: italic; color: black; }" + PMD.EOL); 85 sb.append(".title { font-family: verdana, arial, helvetica,geneva; font-size: 12px; font-weight:bold; color: white; }" + PMD.EOL); 86 sb.append(".body { font-family: verdana, arial, helvetica, geneva; font-size: 12px; font-weight:plain; color: black; }" + PMD.EOL); 87 sb.append("#TableHeader { background-color: #003366; }" + PMD.EOL); 88 sb.append("#RowColor1 { background-color: #eeeeee; }" + PMD.EOL); 89 sb.append("#RowColor2 { background-color: white; }" + PMD.EOL); 90 sb.append("-->"); 91 sb.append("</style>"); 92 sb.append("<body><center>"); 93 return sb.toString(); 94 } 95 96 private String footer() { 97 return "</center></body></html>"; 98 } 99 100 }

This page was automatically generated by Maven