    001    /*
    002     * Licensed to the Apache Software Foundation (ASF) under one or more
    003     * contributor license agreements.  See the NOTICE file distributed with
    004     * this work for additional information regarding copyright ownership.
    005     * The ASF licenses this file to You under the Apache License, Version 2.0
    006     * (the "License"); you may not use this file except in compliance with
    007     * the License.  You may obtain a copy of the License at
    008     *
    009     *      http://www.apache.org/licenses/LICENSE-2.0
    010     *
    011     * Unless required by applicable law or agreed to in writing, software
    012     * distributed under the License is distributed on an "AS IS" BASIS,
    013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014     * See the License for the specific language governing permissions and
    015     * limitations under the License.
    016     */
    017    package org.apache.commons.fileupload;
    018
    019    import java.util.Enumeration;
    020    import java.util.Hashtable;
    021    import javax.portlet.PortletContext;
    022    import javax.portlet.PortletSession;
    023
    024    /**
    025     * A mock portlet session, useful for unit testing and offline utilities
    026     * Note: currently doesn't support scoping
    027     *
    028     * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
    029     * @version $Id: MockPortletSession.java 479262 2006-11-26 03:09:24Z niallp $
    030     */
    031    public class MockPortletSession implements PortletSession
    032    {
    033        // Hashtable (not HashMap) makes enumerations easier to work with
    034        Hashtable attributes = new Hashtable();
    035
    036        public MockPortletSession()
    037        {
    038        }
    039
    040
    041        /* (non-Javadoc)
    042         * @see javax.portlet.PortletSession#getAttribute(java.lang.String)
    043         */
    044        public Object getAttribute(String name)
    045        {
    046            return attributes.get(name);
    047        }
    048
    049        /* (non-Javadoc)
    050         * @see javax.portlet.PortletSession#getAttribute(java.lang.String, int)
    051         */
    052        public Object getAttribute(String name, int scope)
    053        {
    054            return attributes.get(name);
    055        }
    056
    057        /* (non-Javadoc)
    058         * @see javax.portlet.PortletSession#getAttributeNames(int)
    059         */
    060        public Enumeration getAttributeNames(int scope)
    061        {
    062            return attributes.keys();
    063        }
    064
    065        /* (non-Javadoc)
    066         * @see javax.portlet.PortletSession#getCreationTime()
    067         */
    068        public long getCreationTime()
    069        {
    070            // TODO Auto-generated method stub
    071            return 0;
    072        }
    073
    074        /* (non-Javadoc)
    075         * @see javax.portlet.PortletSession#getId()
    076         */
    077        public String getId()
    078        {
    079            // TODO Auto-generated method stub
    080            return null;
    081        }
    082
    083        /* (non-Javadoc)
    084         * @see javax.portlet.PortletSession#getLastAccessedTime()
    085         */
    086        public long getLastAccessedTime()
    087        {
    088            // TODO Auto-generated method stub
    089            return 0;
    090        }
    091
    092        /* (non-Javadoc)
    093         * @see javax.portlet.PortletSession#getMaxInactiveInterval()
    094         */
    095        public int getMaxInactiveInterval()
    096        {
    097            // TODO Auto-generated method stub
    098            return 0;
    099        }
    100
    101        /* (non-Javadoc)
    102         * @see javax.portlet.PortletSession#invalidate()
    103         */
    104        public void invalidate()
    105        {
    106            // TODO Auto-generated method stub
    107        }
    108
    109        /* (non-Javadoc)
    110         * @see javax.portlet.PortletSession#isNew()
    111         */
    112        public boolean isNew()
    113        {
    114            // TODO Auto-generated method stub
    115            return false;
    116        }
    117
    118        /* (non-Javadoc)
    119         * @see javax.portlet.PortletSession#removeAttribute(java.lang.String)
    120         */
    121        public void removeAttribute(String name)
    122        {
    123            attributes.remove(name);
    124        }
    125
    126        /* (non-Javadoc)
    127         * @see javax.portlet.PortletSession#removeAttribute(java.lang.String, int)
    128         */
    129        public void removeAttribute(String name, int scope)
    130        {
    131            attributes.remove(name);
    132        }
    133
    134        /* (non-Javadoc)
    135         * @see javax.portlet.PortletSession#setAttribute(java.lang.String, java.lang.Object)
    136         */
    137        public void setAttribute(String name, Object value)
    138        {
    139            attributes.put(name, value);
    140        }
    141
    142        public Enumeration getAttributeNames()
    143        {
    144            return this.getAttributeNames(PortletSession.PORTLET_SCOPE);
    145        }
    146
    147
    148        /* (non-Javadoc)
    149         * @see javax.portlet.PortletSession#setAttribute(java.lang.String, java.lang.Object, int)
    150         */
    151        public void setAttribute(String name, Object value, int scope)
    152        {
    153            attributes.put(name, value);
    154        }
    155
    156        /* (non-Javadoc)
    157         * @see javax.portlet.PortletSession#setMaxInactiveInterval(int)
    158         */
    159        public void setMaxInactiveInterval(int interval)
    160        {
    161            // TODO Auto-generated method stub
    162        }
    163        /* (non-Javadoc)
    164         * @see javax.portlet.PortletSession#getPortletContext()
    165         */
    166        public PortletContext getPortletContext()
    167        {
    168            // TODO Auto-generated method stub
    169            return null;
    170        }
    171    }