1 package net.sourceforge.pmd;
2
3 import java.util.HashMap;
4 import java.util.Map;
5 import java.util.StringTokenizer;
6
7 public class SimpleRuleSetNameMapper {
8
9 private StringBuffer rulesets = new StringBuffer();
10 private Map nameMap = new HashMap();
11
12 public SimpleRuleSetNameMapper(String ruleString) {
13 populateNameMap();
14 if (ruleString.indexOf(',') == -1) {
15 check(ruleString);
16 return;
17 }
18 for (StringTokenizer st = new StringTokenizer(ruleString, ","); st.hasMoreTokens();) {
19 String tok = st.nextToken();
20 check(tok);
21 }
22 }
23
24 public String getRuleSets() {
25 return rulesets.toString();
26 }
27
28 private void check(String name) {
29 if (name.indexOf("rulesets") == -1 && nameMap.containsKey(name)) {
30 append((String)nameMap.get(name));
31 } else {
32 append(name);
33 }
34 }
35
36 private void append(String name) {
37 if (rulesets.length() > 0) {
38 rulesets.append(",");
39 }
40 rulesets.append(name);
41 }
42
43 private void populateNameMap() {
44 nameMap.put("basic", "rulesets/basic.xml");
45 nameMap.put("braces", "rulesets/braces.xml");
46 nameMap.put("clone", "rulesets/clone.xml");
47 nameMap.put("codesize", "rulesets/codesize.xml");
48 nameMap.put("controversial", "rulesets/controversial.xml");
49 nameMap.put("coupling", "rulesets/coupling.xml");
50 nameMap.put("design", "rulesets/design.xml");
51 nameMap.put("finalizers", "rulesets/finalizers.xml");
52 nameMap.put("imports", "rulesets/imports.xml");
53 nameMap.put("logging-java", "rulesets/logging-java.xml");
54 nameMap.put("logging-jakarta", "rulesets/logging-jakarta-commons.xml");
55 nameMap.put("junit", "rulesets/junit.xml");
56 nameMap.put("javabeans", "rulesets/javabeans.xml");
57 nameMap.put("naming", "rulesets/naming.xml");
58 nameMap.put("optimizations", "rulesets/optimizations.xml");
59 nameMap.put("strictexception", "rulesets/strictexception.xml");
60 nameMap.put("strings", "rulesets/strings.xml");
61 nameMap.put("sunsecure", "rulesets/sunsecure.xml");
62 nameMap.put("unusedcode", "rulesets/unusedcode.xml");
63 }
64 }