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