001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.comment.action;
016    
017    import com.liferay.portal.kernel.spring.osgi.OSGiBeanProperties;
018    import com.liferay.portal.kernel.struts.BaseStrutsAction;
019    import com.liferay.portal.kernel.struts.StrutsAction;
020    import com.liferay.portal.kernel.util.ParamUtil;
021    import com.liferay.portal.kernel.util.StringPool;
022    import com.liferay.portal.kernel.util.WebKeys;
023    import com.liferay.portal.servlet.NamespaceServletRequest;
024    
025    import javax.servlet.RequestDispatcher;
026    import javax.servlet.http.HttpServletRequest;
027    import javax.servlet.http.HttpServletResponse;
028    
029    /**
030     * @author Adolfo P??rez
031     */
032    @OSGiBeanProperties(
033            property = "path=/portal/comment/get_comments", service = StrutsAction.class
034    )
035    public class GetCommentsStrutsAction extends BaseStrutsAction {
036    
037            @Override
038            public String execute(
039                            HttpServletRequest request, HttpServletResponse response)
040                    throws Exception {
041    
042                    String namespace = ParamUtil.getString(request, "namespace");
043    
044                    HttpServletRequest namespacedRequest = new NamespaceServletRequest(
045                            request, StringPool.BLANK, namespace);
046    
047                    namespacedRequest.setAttribute("aui:form:portletNamespace", namespace);
048    
049                    String className = ParamUtil.getString(namespacedRequest, "className");
050    
051                    namespacedRequest.setAttribute(
052                            "liferay-ui:discussion:className", className);
053    
054                    long classPK = ParamUtil.getLong(namespacedRequest, "classPK");
055    
056                    namespacedRequest.setAttribute(
057                            "liferay-ui:discussion:classPK", String.valueOf(classPK));
058    
059                    boolean hideControls = ParamUtil.getBoolean(
060                            namespacedRequest, "hideControls");
061    
062                    namespacedRequest.setAttribute(
063                            "liferay-ui:discussion:hideControls", String.valueOf(hideControls));
064    
065                    int index = ParamUtil.getInteger(namespacedRequest, "index");
066    
067                    namespacedRequest.setAttribute(
068                            "liferay-ui:discussion:index", String.valueOf(index));
069    
070                    String portletId = ParamUtil.getString(namespacedRequest, "portletId");
071    
072                    namespacedRequest.setAttribute(WebKeys.PORTLET_ID, portletId);
073    
074                    String randomNamespace = ParamUtil.getString(
075                            namespacedRequest, "randomNamespace");
076    
077                    namespacedRequest.setAttribute(
078                            "liferay-ui:discussion:randomNamespace", randomNamespace);
079    
080                    boolean ratingsEnabled = ParamUtil.getBoolean(
081                            namespacedRequest, "ratingsEnabled");
082    
083                    namespacedRequest.setAttribute(
084                            "liferay-ui:discussion:ratingsEnabled",
085                            String.valueOf(ratingsEnabled));
086    
087                    int rootIndexPage = ParamUtil.getInteger(
088                            namespacedRequest, "rootIndexPage");
089    
090                    namespacedRequest.setAttribute(
091                            "liferay-ui:discussion:rootIndexPage",
092                            String.valueOf(rootIndexPage));
093    
094                    long userId = ParamUtil.getLong(namespacedRequest, "userId");
095    
096                    namespacedRequest.setAttribute(
097                            "liferay-ui:discussion:userId", String.valueOf(userId));
098    
099                    RequestDispatcher requestDispatcher =
100                            namespacedRequest.getRequestDispatcher(
101                                    "/html/taglib/ui/discussion/page_resources.jsp");
102    
103                    requestDispatcher.include(namespacedRequest, response);
104    
105                    return null;
106            }
107    
108    }