Clover coverage report - PMD - 3.3
Coverage timestamp: Thu Sep 15 2005 17:59:57 EDT
file stats: LOC: 71   Methods: 2
NCLOC: 60   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
Appendix.java 0% 0% 0% 0%
coverage
 1    package net.sourceforge.pmd.util;
 2   
 3    import net.sourceforge.pmd.PMD;
 4    import net.sourceforge.pmd.Rule;
 5    import net.sourceforge.pmd.RuleSet;
 6    import net.sourceforge.pmd.RuleSetFactory;
 7   
 8    import java.util.Iterator;
 9    import java.util.Set;
 10   
 11    public class Appendix {
 12   
 13  0 public static void main(String[] args) throws Exception {
 14  0 RuleSetFactory rsf = new RuleSetFactory();
 15  0 Iterator i = rsf.getRegisteredRuleSets();
 16  0 StringBuffer sb = new StringBuffer();
 17  0 while (i.hasNext()) {
 18  0 RuleSet rs = (RuleSet)i.next();
 19  0 if (rs.getName().toLowerCase().indexOf(args[0]) == -1) {
 20  0 continue;
 21    }
 22  0 sb.append("====================================================================" + PMD.EOL);
 23  0 sb.append(rs.getName() + PMD.EOL);
 24  0 sb.append(rs.getDescription() + PMD.EOL);
 25  0 sb.append("--------------------------------------------------------------------" + PMD.EOL);
 26   
 27  0 Set rules = rs.getRules();
 28  0 for (Iterator j = rules.iterator(); j.hasNext();) {
 29  0 Rule r = (Rule)j.next();
 30  0 sb.append(r.getName() + ": " + trimCRs(r.getDescription()) + PMD.EOL);
 31  0 sb.append("Example: " + PMD.EOL + trimCRs(r.getExample()) + PMD.EOL);
 32   
 33  0 if (r.hasProperty("xpath")) {
 34  0 sb.append("XPath expression:" + PMD.EOL);
 35  0 sb.append(trimCRs(r.getProperties().getProperty("xpath")));
 36    }
 37   
 38  0 Set keys = r.getProperties().keySet();
 39  0 boolean header = false;
 40  0 for (Iterator k = keys.iterator(); k.hasNext(); ) {
 41  0 String key = (String)k.next();
 42  0 String value = (String)r.getProperties().getProperty(key);
 43   
 44  0 if (key.equals("xpath")) {
 45  0 continue;
 46    }
 47   
 48  0 if (!header) {
 49  0 sb.append(PMD.EOL + "Properties:" + PMD.EOL);
 50  0 header = true;
 51    }
 52   
 53  0 sb.append("Name = '" + key + "', value = '" + value + "'" + PMD.EOL);
 54    }
 55  0 sb.append(PMD.EOL + "Notes: " + PMD.EOL);
 56  0 sb.append(PMD.EOL + "--------------------------------------------------------------------" + PMD.EOL);
 57    }
 58    }
 59  0 System.out.println(sb.toString());
 60    }
 61   
 62  0 private static String trimCRs(String str) {
 63  0 while (str.startsWith(PMD.EOL)) {
 64  0 str = str.substring(1);
 65    }
 66  0 while (str.endsWith(PMD.EOL)) {
 67  0 str = str.substring(0, str.length()-1);
 68    }
 69  0 return str;
 70    }
 71    }