001
014
015 package com.liferay.portal.apache.bridges.struts;
016
017 import com.liferay.portal.kernel.util.ContextPathUtil;
018
019 import java.io.InputStream;
020
021 import java.net.MalformedURLException;
022 import java.net.URL;
023
024 import java.util.ArrayList;
025 import java.util.Collections;
026 import java.util.Enumeration;
027 import java.util.EventListener;
028 import java.util.Map;
029 import java.util.Set;
030
031 import javax.servlet.Filter;
032 import javax.servlet.FilterRegistration.Dynamic;
033 import javax.servlet.FilterRegistration;
034 import javax.servlet.RequestDispatcher;
035 import javax.servlet.Servlet;
036 import javax.servlet.ServletContext;
037 import javax.servlet.ServletException;
038 import javax.servlet.ServletRegistration;
039 import javax.servlet.SessionCookieConfig;
040 import javax.servlet.SessionTrackingMode;
041 import javax.servlet.descriptor.JspConfigDescriptor;
042
043
046 public class LiferayServletContext implements ServletContext {
047
048 public LiferayServletContext(ServletContext servletContext) {
049 _servletContext = servletContext;
050
051 if (_servletContext.getMajorVersion() >= 3) {
052 _version3 = true;
053 }
054 }
055
056 public Dynamic addFilter(
057 String filterName, Class<? extends Filter> filterClass) {
058
059 if (!_version3) {
060 return null;
061 }
062
063 return _servletContext.addFilter(filterName, filterClass);
064 }
065
066 public Dynamic addFilter(String filterName, Filter filter) {
067 if (!_version3) {
068 return null;
069 }
070
071 return _servletContext.addFilter(filterName, filter);
072 }
073
074 public Dynamic addFilter(String filterName, String className) {
075 if (!_version3) {
076 return null;
077 }
078
079 return _servletContext.addFilter(filterName, className);
080 }
081
082 public void addListener(Class<? extends EventListener> listenerClass) {
083 if (!_version3) {
084 return;
085 }
086
087 _servletContext.addListener(listenerClass);
088 }
089
090 public void addListener(String className) {
091 if (!_version3) {
092 return;
093 }
094
095 _servletContext.addListener(className);
096 }
097
098 public <T extends EventListener> void addListener(T eventListener) {
099 if (!_version3) {
100 return;
101 }
102
103 _servletContext.addListener(eventListener);
104 }
105
106 public ServletRegistration.Dynamic addServlet(
107 String servletName, Class<? extends Servlet> servletClass) {
108
109 if (!_version3) {
110 return null;
111 }
112
113 return _servletContext.addServlet(servletName, servletClass);
114 }
115
116 public ServletRegistration.Dynamic addServlet(
117 String servletName, Servlet servlet) {
118
119 if (!_version3) {
120 return null;
121 }
122
123 return _servletContext.addServlet(servletName, servlet);
124 }
125
126 public ServletRegistration.Dynamic addServlet(
127 String servletName, String className) {
128
129 if (!_version3) {
130 return null;
131 }
132
133 return _servletContext.addServlet(servletName, className);
134 }
135
136 public <T extends Filter> T createFilter(Class<T> filterClass)
137 throws ServletException {
138
139 if (!_version3) {
140 return null;
141 }
142
143 return _servletContext.createFilter(filterClass);
144 }
145
146 public <T extends EventListener> T createListener(Class<T> listenerClass)
147 throws ServletException {
148
149 if (!_version3) {
150 return null;
151 }
152
153 return _servletContext.createListener(listenerClass);
154 }
155
156 public <T extends Servlet> T createServlet(Class<T> servletClass)
157 throws ServletException {
158
159 if (!_version3) {
160 return null;
161 }
162
163 return _servletContext.createServlet(servletClass);
164 }
165
166 public void declareRoles(String... roleNames) {
167 if (!_version3) {
168 return;
169 }
170
171 _servletContext.declareRoles(roleNames);
172 }
173
174 public Object getAttribute(String name) {
175 return _servletContext.getAttribute(name);
176 }
177
178 public Enumeration<String> getAttributeNames() {
179 return _servletContext.getAttributeNames();
180 }
181
182 public ClassLoader getClassLoader() {
183 if (!_version3) {
184 return null;
185 }
186
187 return _servletContext.getClassLoader();
188 }
189
190 public ServletContext getContext(String uriPath) {
191 ServletContext servletContext = _servletContext.getContext(uriPath);
192
193 if (servletContext == _servletContext) {
194 return this;
195 }
196 else {
197 return servletContext;
198 }
199 }
200
201 public String getContextPath() {
202 return ContextPathUtil.getContextPath(_servletContext);
203 }
204
205 public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
206 if (!_version3) {
207 return null;
208 }
209
210 return _servletContext.getDefaultSessionTrackingModes();
211 }
212
213 public int getEffectiveMajorVersion() {
214 if (!_version3) {
215 return 0;
216 }
217
218 return _servletContext.getEffectiveMajorVersion();
219 }
220
221 public int getEffectiveMinorVersion() {
222 if (!_version3) {
223 return 0;
224 }
225
226 return _servletContext.getEffectiveMinorVersion();
227 }
228
229 public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
230 if (!_version3) {
231 return null;
232 }
233
234 return _servletContext.getEffectiveSessionTrackingModes();
235 }
236
237 public FilterRegistration getFilterRegistration(String filterName) {
238 if (!_version3) {
239 return null;
240 }
241
242 return _servletContext.getFilterRegistration(filterName);
243 }
244
245 public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
246 if (!_version3) {
247 return null;
248 }
249
250 return _servletContext.getFilterRegistrations();
251 }
252
253 public String getInitParameter(String name) {
254 return _servletContext.getInitParameter(name);
255 }
256
257 public Enumeration<String> getInitParameterNames() {
258 return _servletContext.getInitParameterNames();
259 }
260
261 public JspConfigDescriptor getJspConfigDescriptor() {
262 if (!_version3) {
263 return null;
264 }
265
266 return _servletContext.getJspConfigDescriptor();
267 }
268
269 public int getMajorVersion() {
270 return _servletContext.getMajorVersion();
271 }
272
273 public String getMimeType(String file) {
274 return _servletContext.getMimeType(file);
275 }
276
277 public int getMinorVersion() {
278 return _servletContext.getMinorVersion();
279 }
280
281 public RequestDispatcher getNamedDispatcher(String name) {
282 RequestDispatcher requestDispatcher =
283 _servletContext.getNamedDispatcher(name);
284
285 if (requestDispatcher != null) {
286 requestDispatcher = new LiferayRequestDispatcher(
287 requestDispatcher, name);
288 }
289
290 return requestDispatcher;
291 }
292
293 public String getRealPath(String path) {
294 return _servletContext.getRealPath(path);
295 }
296
297 public RequestDispatcher getRequestDispatcher(String path) {
298 RequestDispatcher requestDispatcher =
299 _servletContext.getRequestDispatcher(path);
300
301 if (requestDispatcher != null) {
302 requestDispatcher = new LiferayRequestDispatcher(
303 requestDispatcher, path);
304 }
305
306 return requestDispatcher;
307 }
308
309 public URL getResource(String path) throws MalformedURLException {
310 return _servletContext.getResource(path);
311 }
312
313 public InputStream getResourceAsStream(String path) {
314 return _servletContext.getResourceAsStream(path);
315 }
316
317 public Set<String> getResourcePaths(String path) {
318 return _servletContext.getResourcePaths(path);
319 }
320
321 public String getServerInfo() {
322 return _servletContext.getServerInfo();
323 }
324
325
328 public Servlet getServlet(String name) {
329 return null;
330 }
331
332 public String getServletContextName() {
333 return _servletContext.getServletContextName();
334 }
335
336
339 public Enumeration<String> getServletNames() {
340 return Collections.enumeration(new ArrayList<String>());
341 }
342
343 public ServletRegistration getServletRegistration(String servletName) {
344 if (!_version3) {
345 return null;
346 }
347
348 return _servletContext.getServletRegistration(servletName);
349 }
350
351 public Map<String, ? extends ServletRegistration>
352 getServletRegistrations() {
353
354 if (!_version3) {
355 return null;
356 }
357
358 return _servletContext.getServletRegistrations();
359 }
360
361
364 public Enumeration<Servlet> getServlets() {
365 return Collections.enumeration(new ArrayList<Servlet>());
366 }
367
368 public SessionCookieConfig getSessionCookieConfig() {
369 if (!_version3) {
370 return null;
371 }
372
373 return _servletContext.getSessionCookieConfig();
374 }
375
376
379 public void log(Exception exception, String message) {
380 _servletContext.log(message, exception);
381 }
382
383 public void log(String message) {
384 _servletContext.log(message);
385 }
386
387 public void log(String message, Throwable throwable) {
388 _servletContext.log(message, throwable);
389 }
390
391 public void removeAttribute(String name) {
392 _servletContext.removeAttribute(name);
393 }
394
395 public void setAttribute(String name, Object value) {
396 _servletContext.setAttribute(name, value);
397 }
398
399 public boolean setInitParameter(String name, String value) {
400 if (!_version3) {
401 return false;
402 }
403
404 return _servletContext.setInitParameter(name, value);
405 }
406
407 public void setSessionTrackingModes(
408 Set<SessionTrackingMode> sessionTrackingModes) {
409
410 if (!_version3) {
411 return;
412 }
413
414 _servletContext.setSessionTrackingModes(sessionTrackingModes);
415 }
416
417 @Override
418 public String toString() {
419 return _servletContext.toString();
420 }
421
422 private ServletContext _servletContext;
423 private boolean _version3;
424
425 }