001    /**
002     * Copyright (c) 2000-2013 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.kernel.scripting;
016    
017    import java.util.HashMap;
018    import java.util.Map;
019    
020    import javax.portlet.ActionRequest;
021    import javax.portlet.ActionResponse;
022    import javax.portlet.PortletConfig;
023    import javax.portlet.PortletContext;
024    import javax.portlet.PortletRequest;
025    import javax.portlet.PortletResponse;
026    import javax.portlet.RenderRequest;
027    import javax.portlet.RenderResponse;
028    import javax.portlet.ResourceRequest;
029    import javax.portlet.ResourceResponse;
030    
031    /**
032     * @author Shuyang Zhou
033     */
034    public class ScriptingHelperUtil {
035    
036            public static Map<String, Object> getPortletObjects(
037                    PortletConfig portletConfig, PortletContext portletContext,
038                    PortletRequest portletRequest, PortletResponse portletResponse) {
039    
040                    Map<String, Object> portletObjects = new HashMap<String, Object>();
041    
042                    portletObjects.put("portletConfig", portletConfig);
043                    portletObjects.put("portletContext", portletContext);
044                    portletObjects.put("preferences", portletRequest.getPreferences());
045    
046                    if (portletRequest instanceof ActionRequest) {
047                            portletObjects.put("actionRequest", portletRequest);
048                    }
049                    else if (portletRequest instanceof RenderRequest) {
050                            portletObjects.put("renderRequest", portletRequest);
051                    }
052                    else if (portletRequest instanceof ResourceRequest) {
053                            portletObjects.put("resourceRequest", portletRequest);
054                    }
055                    else {
056                            portletObjects.put("portletRequest", portletRequest);
057                    }
058    
059                    if (portletResponse instanceof ActionResponse) {
060                            portletObjects.put("actionResponse", portletResponse);
061                    }
062                    else if (portletResponse instanceof RenderResponse) {
063                            portletObjects.put("renderResponse", portletResponse);
064                    }
065                    else if (portletResponse instanceof ResourceResponse) {
066                            portletObjects.put("resourceResponse", portletResponse);
067                    }
068                    else {
069                            portletObjects.put("portletResponse", portletResponse);
070                    }
071    
072                    portletObjects.put(
073                            "userInfo", portletRequest.getAttribute(PortletRequest.USER_INFO));
074    
075                    return portletObjects;
076            }
077    
078    }