ServicePostAction.java |
1 /** 2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. 3 * 4 * 5 * 6 * 7 * The contents of this file are subject to the terms of the Liferay Enterprise 8 * Subscription License ("License"). You may not use this file except in 9 * compliance with the License. You can obtain a copy of the License by 10 * contacting Liferay, Inc. See the License for the specific language governing 11 * permissions and limitations under the License, including but not limited to 12 * distribution rights of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 */ 22 23 package com.liferay.portal.events; 24 25 import com.liferay.portal.kernel.events.Action; 26 import com.liferay.portal.kernel.log.Log; 27 import com.liferay.portal.kernel.log.LogFactoryUtil; 28 import com.liferay.portal.security.permission.PermissionChecker; 29 import com.liferay.portal.security.permission.PermissionCheckerFactory; 30 import com.liferay.portal.security.permission.PermissionThreadLocal; 31 import com.liferay.portal.theme.ThemeDisplay; 32 import com.liferay.portal.theme.ThemeDisplayFactory; 33 import com.liferay.portal.util.WebKeys; 34 35 import javax.servlet.http.HttpServletRequest; 36 import javax.servlet.http.HttpServletResponse; 37 38 /** 39 * <a href="ServicePostAction.java.html"><b><i>View Source</i></b></a> 40 * 41 * @author Brian Wing Shun Chan 42 */ 43 public class ServicePostAction extends Action { 44 45 public void run(HttpServletRequest request, HttpServletResponse response) { 46 try { 47 48 // Make sure this is called only once per full request, ignore 49 // requests spawned by the portlet 50 51 //String requestURI = GetterUtil.getString(request.getRequestURI()); 52 53 // Doesn't this cause a memory leak? 54 55 /*if (requestURI.endsWith("/portal/render_portlet")) { 56 return; 57 }*/ 58 } 59 catch (Exception e) { 60 _log.error(e); 61 } 62 63 try { 64 65 // Clean up the theme display 66 67 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute( 68 WebKeys.THEME_DISPLAY); 69 70 ThemeDisplayFactory.recycle(themeDisplay); 71 } 72 catch (Exception e) { 73 _log.error(e); 74 } 75 76 request.removeAttribute(WebKeys.THEME_DISPLAY); 77 78 try { 79 80 // Clean up the permission checker 81 82 PermissionChecker permissionChecker = 83 PermissionThreadLocal.getPermissionChecker(); 84 85 PermissionCheckerFactory.recycle(permissionChecker); 86 } 87 catch (Exception e) { 88 _log.error(e); 89 } 90 } 91 92 private static Log _log = LogFactoryUtil.getLog(ServicePostAction.class); 93 94 }