1
2
3
4
5
6
7
8
9
10
11
12
13
14 package chapters.onJoran.calculator;
15
16 import java.util.HashMap;
17 import java.util.Map;
18
19 import ch.qos.logback.core.Context;
20 import ch.qos.logback.core.ContextBase;
21 import ch.qos.logback.core.joran.action.Action;
22 import ch.qos.logback.core.joran.spi.JoranException;
23 import ch.qos.logback.core.joran.spi.Pattern;
24 import ch.qos.logback.core.util.StatusPrinter;
25 import chapters.onJoran.SimpleConfigurator;
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public class Calculator2 {
40 public static void main(String[] args) throws Exception {
41 Map<Pattern, Action> ruleMap = new HashMap<Pattern, Action>();
42
43
44
45
46 ruleMap.put(new Pattern("*/computation"), new ComputationAction2());
47
48 ruleMap.put(new Pattern("*/computation/literal"), new LiteralAction());
49 ruleMap.put(new Pattern("*/computation/add"), new AddAction());
50 ruleMap.put(new Pattern("*/computation/multiply"), new MultiplyAction());
51
52 Context context = new ContextBase();
53 SimpleConfigurator simpleConfigurator = new SimpleConfigurator(ruleMap);
54
55 simpleConfigurator.setContext(context);
56
57 try {
58 simpleConfigurator.doConfigure(args[0]);
59 } catch (JoranException e) {
60
61 StatusPrinter.print(context);
62 }
63 }
64 }