001    /**
002     * Copyright (c) 2000-2013 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.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    }