1
14
15 package com.liferay.portal.kernel.servlet;
16
17 import com.liferay.portal.kernel.util.GetterUtil;
18 import com.liferay.portal.kernel.util.PropsKeys;
19 import com.liferay.portal.kernel.util.PropsUtil;
20
21 import javax.servlet.Servlet;
22 import javax.servlet.ServletContext;
23 import javax.servlet.ServletRequest;
24 import javax.servlet.ServletResponse;
25 import javax.servlet.jsp.JspApplicationContext;
26 import javax.servlet.jsp.JspEngineInfo;
27 import javax.servlet.jsp.JspFactory;
28 import javax.servlet.jsp.PageContext;
29
30
35 public class JspFactoryWrapper extends JspFactory {
36
37 public JspFactoryWrapper(JspFactory jspFactory) {
38 _jspFactory = jspFactory;
39 }
40
41 public JspEngineInfo getEngineInfo() {
42 return _jspFactory.getEngineInfo();
43 }
44
45 public JspApplicationContext getJspApplicationContext(
46 ServletContext servletContext) {
47
48 return _jspFactory.getJspApplicationContext(servletContext);
49 }
50
51 public PageContext getPageContext(
52 Servlet servlet, ServletRequest servletRequest,
53 ServletResponse servletResponse, String errorPageURL,
54 boolean needsSession, int buffer, boolean autoflush) {
55
56 PageContext pageContext = _jspFactory.getPageContext(
57 servlet, servletRequest, servletResponse, errorPageURL,
58 needsSession, _JSP_WRITER_BUFFER_SIZE, autoflush);
59
60 return new PageContextWrapper(pageContext);
61 }
62
63 public void releasePageContext(PageContext pageContext) {
64 if (pageContext instanceof PageContextWrapper) {
65 PageContextWrapper pageContextWrapper =
66 (PageContextWrapper)pageContext;
67
68 pageContext = pageContextWrapper.getWrappedPageContext();
69 }
70
71 _jspFactory.releasePageContext(pageContext);
72 }
73
74 private static final int _JSP_WRITER_BUFFER_SIZE = GetterUtil.getInteger(
75 PropsUtil.get(PropsKeys.JSP_WRITER_BUFFER_SIZE));
76
77 private JspFactory _jspFactory;
78
79 }