1 package org.slf4j.converter;
2
3 import java.util.ArrayList;
4 import java.util.regex.Pattern;
5
6
7 public class JCLMatcher extends AbstractMatcher {
8
9 public JCLMatcher() {
10 super();
11 initRules();
12 }
13
14 protected void initRules() {
15
16 PatternWrapper p0 = new PatternWrapper(Pattern.compile("import\\s*+org.apache.commons.logging.LogFactory;"));
17
18 PatternWrapper p1 = new PatternWrapper(Pattern.compile("import\\s*+org.apache.commons.logging.Log;"));
19
20 PatternWrapper p2 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(Log)(\\s+\\w+\\s*+=\\s*+)(LogFactory.getFactory\\(\\).getInstance\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
21
22 PatternWrapper p3 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(Log)(\\s+\\w+\\s*+=\\s*+)(LogFactory.getLog\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
23
24 PatternWrapper p4 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(\\w+\\s*+=\\s*+)(LogFactory.getFactory\\(\\).getInstance\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
25
26 PatternWrapper p5 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(\\w+\\s*+=\\s*+)(LogFactory.getLog\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
27
28 PatternWrapper p6 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(Log)(\\s*+\\w+\\s*+;)((\\w*+\\W*+\\.*)*;*+)"));
29
30 PatternWrapper p7 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(Log)(\\s+\\w+\\s*+=*\\s*+)"));
31
32 PatternWrapper p8 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(LogFactory.getLog\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
33
34 PatternWrapper p9 = new PatternWrapper(Pattern.compile("((\\w*+\\W*+\\.*)*;*+)(LogFactory.getFactory\\(\\).getInstance\\()(\\w+)(.class\\);)((\\w*+\\W*+\\.*)*;*+)"));
35
36 p0.addReplacement(Constant.INDEX_0,"import org.slf4j.LoggerFactory;");
37 p1.addReplacement(Constant.INDEX_0,"import org.slf4j.Logger;");
38 p2.addReplacement(Constant.INDEX_3,"Logger");
39 p2.addReplacement(Constant.INDEX_2,"");
40 p2.addReplacement(Constant.INDEX_5,"LoggerFactory.getLogger(");
41 p3.addReplacement(Constant.INDEX_3,"Logger");
42 p3.addReplacement(Constant.INDEX_2,"");
43 p3.addReplacement(Constant.INDEX_5,"LoggerFactory.getLogger(");
44 p4.addReplacement(Constant.INDEX_4,"LoggerFactory.getLogger(");
45 p4.addReplacement(Constant.INDEX_2,"");
46 p5.addReplacement(Constant.INDEX_4,"LoggerFactory.getLogger(");
47 p5.addReplacement(Constant.INDEX_2,"");
48 p6.addReplacement(Constant.INDEX_3,"Logger");
49 p6.addReplacement(Constant.INDEX_2,"");
50 p7.addReplacement(Constant.INDEX_3, "Logger");
51 p7.addReplacement(Constant.INDEX_2, "");
52 p8.addReplacement(Constant.INDEX_3, "LoggerFactory.getLogger(");
53 p8.addReplacement(Constant.INDEX_1, "");
54 p9.addReplacement(Constant.INDEX_3, "LoggerFactory.getLogger(");
55 p9.addReplacement(Constant.INDEX_1, "");
56
57
58 rules = new ArrayList<PatternWrapper>();
59 rules.add(p0);
60 rules.add(p1);
61 rules.add(p2);
62 rules.add(p3);
63 rules.add(p4);
64 rules.add(p5);
65 rules.add(p6);
66 rules.add(p7);
67 rules.add(p8);
68 rules.add(p9);
69 }
70 }