1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.seasar.cubby.plugins.oval;
18
19 import javax.servlet.ServletContext;
20
21 import net.sf.oval.Validator;
22 import net.sf.oval.localization.context.OValContextRenderer;
23 import net.sf.oval.localization.message.MessageResolver;
24 import net.sf.oval.logging.LoggerFactorySLF4JImpl;
25
26 import org.seasar.cubby.plugin.AbstractPlugin;
27 import org.seasar.cubby.spi.ContainerProvider;
28 import org.seasar.cubby.spi.ProviderFactory;
29 import org.seasar.cubby.spi.container.Container;
30 import org.seasar.cubby.spi.container.LookupException;
31
32
33
34
35
36
37
38 public class OValPlugin extends AbstractPlugin {
39
40
41
42
43
44
45
46
47
48 @Override
49 public void initialize(final ServletContext servletContext)
50 throws Exception {
51 Validator.setLoggerFactory(new LoggerFactorySLF4JImpl());
52 }
53
54
55
56
57 @Override
58 public void ready() {
59 final Container container = ProviderFactory
60 .get(ContainerProvider.class).getContainer();
61
62 final MessageResolver messageResolver = buildMessageResolver(container);
63 if (messageResolver != null) {
64 Validator.setMessageResolver(messageResolver);
65 }
66
67 final OValContextRenderer ovalContextRenderer = buildOValContextRenderer(container);
68 if (ovalContextRenderer != null) {
69 Validator.setContextRenderer(ovalContextRenderer);
70 }
71 }
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 protected MessageResolver buildMessageResolver(final Container container) {
87 try {
88 return container.lookup(MessageResolver.class);
89 } catch (final LookupException e) {
90 return null;
91 }
92 }
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 protected OValContextRenderer buildOValContextRenderer(
108 final Container container) {
109 try {
110 return container.lookup(OValContextRenderer.class);
111 } catch (final LookupException e) {
112 return null;
113 }
114 }
115
116 }