001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portlet.layoutconfiguration.util;
016    
017    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
018    import com.liferay.portal.model.Portlet;
019    import com.liferay.portlet.layoutconfiguration.util.xml.RuntimeLogic;
020    
021    import javax.portlet.RenderRequest;
022    import javax.portlet.RenderResponse;
023    
024    import javax.servlet.ServletContext;
025    import javax.servlet.http.HttpServletRequest;
026    import javax.servlet.http.HttpServletResponse;
027    import javax.servlet.jsp.JspWriter;
028    import javax.servlet.jsp.PageContext;
029    
030    /**
031     * @author Brian Wing Shun Chan
032     * @author Raymond Augé
033     * @author Shuyang Zhou
034     */
035    public class RuntimePortletUtil {
036    
037            public static RuntimePortlet getRuntimePortlet() {
038                    PortalRuntimePermission.checkGetBeanProperty(RuntimePortletUtil.class);
039    
040                    return _runtimePortlet;
041            }
042    
043            public static String processCustomizationSettings(
044                            ServletContext servletContext, HttpServletRequest request,
045                            HttpServletResponse response, PageContext pageContext,
046                            String velocityTemplateId, String velocityTemplateContent)
047                    throws Exception {
048    
049                    return getRuntimePortlet().processCustomizationSettings(
050                            servletContext, request, response, pageContext, velocityTemplateId,
051                            velocityTemplateContent);
052            }
053    
054            public static String processPortlet(
055                            ServletContext servletContext, HttpServletRequest request,
056                            HttpServletResponse response, Portlet portlet, String queryString,
057                            String columnId, Integer columnPos, Integer columnCount,
058                            String path, boolean writeOutput)
059                    throws Exception {
060    
061                    return getRuntimePortlet().processPortlet(
062                            servletContext, request, response, portlet, queryString, columnId,
063                            columnPos, columnCount, path, writeOutput);
064            }
065    
066            public static String processPortlet(
067                            ServletContext servletContext, HttpServletRequest request,
068                            HttpServletResponse response, RenderRequest renderRequest,
069                            RenderResponse renderResponse, Portlet portlet, String portletId,
070                            String queryString, String columnId, Integer columnPos,
071                            Integer columnCount, String path, boolean writeOutput)
072                    throws Exception {
073    
074                    return getRuntimePortlet().processPortlet(
075                            servletContext, request, response, renderRequest, renderResponse,
076                            portlet, portletId, queryString, columnId, columnPos, columnCount,
077                            path, writeOutput);
078            }
079    
080            public static String processPortlet(
081                            ServletContext servletContext, HttpServletRequest request,
082                            HttpServletResponse response, RenderRequest renderRequest,
083                            RenderResponse renderResponse, String portletId, String queryString,
084                            boolean writeOutput)
085                    throws Exception {
086    
087                    return getRuntimePortlet().processPortlet(
088                            servletContext, request, response, renderRequest, renderResponse,
089                            portletId, queryString, writeOutput);
090            }
091    
092            public static String processPortlet(
093                            ServletContext servletContext, HttpServletRequest request,
094                            HttpServletResponse response, RenderRequest renderRequest,
095                            RenderResponse renderResponse, String portletId, String queryString,
096                            String columnId, Integer columnPos, Integer columnCount,
097                            boolean writeOutput)
098                    throws Exception {
099    
100                    return getRuntimePortlet().processPortlet(
101                            servletContext, request, response, renderRequest, renderResponse,
102                            portletId, queryString, columnId, columnPos, columnCount,
103                            writeOutput);
104            }
105    
106            public static void processTemplate(
107                            ServletContext servletContext, HttpServletRequest request,
108                            HttpServletResponse response, PageContext pageContext,
109                            JspWriter jspWriter, String velocityTemplateId,
110                            String velocityTemplateContent)
111                    throws Exception {
112    
113                    getRuntimePortlet().processTemplate(
114                            servletContext, request, response, pageContext, jspWriter,
115                            velocityTemplateId, velocityTemplateContent);
116            }
117    
118            public static void processTemplate(
119                            ServletContext servletContext, HttpServletRequest request,
120                            HttpServletResponse response, PageContext pageContext,
121                            JspWriter jspWriter, String portletId, String velocityTemplateId,
122                            String velocityTemplateContent)
123                    throws Exception {
124    
125                    getRuntimePortlet().processTemplate(
126                            servletContext, request, response, pageContext, jspWriter,
127                            portletId, velocityTemplateId, velocityTemplateContent);
128            }
129    
130            public static String processXML(
131                            HttpServletRequest request, String content,
132                            RuntimeLogic runtimeLogic)
133                    throws Exception {
134    
135                    return getRuntimePortlet().processXML(request, content, runtimeLogic);
136            }
137    
138            public static String processXML(
139                            ServletContext servletContext, HttpServletRequest request,
140                            HttpServletResponse response, RenderRequest renderRequest,
141                            RenderResponse renderResponse, String content)
142                    throws Exception {
143    
144                    return getRuntimePortlet().processXML(
145                            servletContext, request, response, renderRequest, renderResponse,
146                            content);
147            }
148    
149            public void setRuntimePortlet(RuntimePortlet runtimePortlet) {
150                    PortalRuntimePermission.checkSetBeanProperty(getClass());
151    
152                    _runtimePortlet = runtimePortlet;
153            }
154    
155            private static RuntimePortlet _runtimePortlet;
156    
157    }