⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 portalservletrequest.java.svn-base

📁 portal越来越流行了
💻 SVN-BASE
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.pluto.driver.core;import java.util.Collections;import java.util.Enumeration;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.pluto.PortletWindow;import org.apache.pluto.driver.url.PortalURL;import org.apache.pluto.driver.url.PortalURLParameter;public class PortalServletRequest extends HttpServletRequestWrapper {    private static final Log LOG = LogFactory.getLog(PortalServletRequest.class);    private PortletWindow portletWindow = null;    private PortalURL url;    private Map portletParameters;    public PortalServletRequest(HttpServletRequest request,                                PortletWindow window) {        super(request);        this.portletWindow = window;        url =        PortalRequestContext.getContext(request).getRequestedPortalURL();    }// HttpServletRequestWrapper overlay    public java.lang.String getContentType() {        String contentType = super.getContentType();        return contentType;    }// ServletRequestWrapper overlay    public String getParameter(String name) {        String[] values = (String[]) this.getParameterMap().get(name);        if (values != null) {            return values[0];        }        return null;    }    /**     * Retreive the Parameters.     * @return Map of parameters targeted to the window associated with this     *         request.     */    public Map getParameterMap() {        if (portletParameters == null) {            initParameterMap();        }        return Collections.unmodifiableMap(portletParameters);    }    /**     * Initialize parameters for this request.  We must be careful to make sure     * that render parameters are only made available if they were targeted for     * this specific window.     */    private void initParameterMap() {        portletParameters = new HashMap();        Iterator iterator = url.getParameters().iterator();        while (iterator.hasNext()) {            PortalURLParameter param = (PortalURLParameter) iterator.next();            String name = param.getName();            String[] values = param.getValues();            if (param.getWindowId()!=null){            	if (param.getWindowId().equals(portletWindow.getId().getStringId())) {                    portletParameters.put(name, values);                }            }           }        // Currently this request is only used for rendering.        // Because of that, this will never be used, however, it's        // being left in since this request's scope may expand at some        // point!        String id = url.getActionWindow();        if (portletWindow.getId().getStringId().equals(id)) {            Enumeration params = super.getParameterNames();            while (params.hasMoreElements()) {                String name = params.nextElement().toString();                String[] values = super.getParameterValues(name);                if (portletParameters.containsKey(name)) {                    String[] temp = (String[]) portletParameters.get(name);                    String[] all = new String[values.length + temp.length];                    System.arraycopy(values, 0, all, 0, values.length);                    System.arraycopy(temp, 0, all, values.length, temp.length);                }                portletParameters.put(name, values);            }        }        if(LOG.isDebugEnabled()) {            LOG.debug("Initialized request parameter map for window: '"                +portletWindow.getId().getStringId()+"'");        }    }    /**     * Get an enumeration which contains each of the names for which parameters     * exist.     * @return an enumeration of all names bound as parameters.     */    public Enumeration getParameterNames() {        return Collections.enumeration(getParameterMap().keySet());    }    /**     * Get the values associated with the given parameter key.     * @param name the Parameter name used to key the parameter.     * @return a String[] of all values bound to the given name as a parameter.     */    public String[] getParameterValues(String name) {        return (String[]) getParameterMap().get(name);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -