1 package org.apache.velocity.tools.struts;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Locale;
23 import java.util.Map;
24 import javax.servlet.http.HttpServletRequest;
25 import javax.servlet.ServletContext;
26 import org.apache.struts.util.MessageResources;
27 import org.apache.velocity.runtime.log.Log;
28 import org.apache.velocity.tools.view.ViewContext;
29
30
31
32
33
34
35
36
37 public abstract class MessageResourcesTool
38 {
39 protected Log LOG;
40 protected ServletContext application;
41 protected HttpServletRequest request;
42 private Locale locale;
43 private MessageResources resources;
44
45 @Deprecated
46 public void init(Object obj)
47 {
48 if (obj instanceof ViewContext)
49 {
50 ViewContext ctx = (ViewContext)obj;
51 this.request = ctx.getRequest();
52 this.application = ctx.getServletContext();
53 this.LOG = ctx.getVelocityEngine().getLog();
54 }
55 }
56
57
58
59
60
61
62
63 public void configure(Map params)
64 {
65 this.request = (HttpServletRequest)params.get(ViewContext.REQUEST);
66 this.application = (ServletContext)params.get(ViewContext.SERVLET_CONTEXT_KEY);
67 this.LOG = (Log)params.get("log");
68 }
69
70
71
72
73
74
75 protected Locale getLocale()
76 {
77 if (this.locale == null)
78 {
79 this.locale =
80 StrutsUtils.getLocale(request, request.getSession(false));
81 }
82 return this.locale;
83 }
84
85
86
87
88
89
90
91 protected MessageResources getResources(String bundle)
92 {
93 if (bundle == null)
94 {
95 if (this.resources == null)
96 {
97 this.resources =
98 StrutsUtils.getMessageResources(request, application);
99 if (this.resources == null)
100 {
101 LOG.error("MessageResourcesTool : Message resources are not available.");
102 }
103 }
104 return resources;
105 }
106
107 MessageResources res =
108 StrutsUtils.getMessageResources(request, application, bundle);
109 if (res == null)
110 {
111 LOG.error("MessageResourcesTool : MessageResources bundle '" + bundle + "' is not available.");
112 }
113 return res;
114 }
115
116 }