PortletHttpSession.java :  » Web-Framework » struts-2.1.8 » org » apache » struts2 » portlet » servlet » Java Open Source

Java Open Source » Web Framework » struts 2.1.8 
struts 2.1.8 » org » apache » struts2 » portlet » servlet » PortletHttpSession.java
/*
 * $Id: PortletHttpSession.java 651946 2008-04-27 13:41:38Z apetrelli $
 *
 * 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.struts2.portlet.servlet;

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;

import javax.portlet.PortletSession;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionContext;

/**
 * Wrapper object exposing a {@link PortletSession} as a {@link HttpSession} instance.
 * Clients accessing this session object will in fact operate on the
 * {@link PortletSession} object wrapped by this session object.
 */
public class PortletHttpSession implements HttpSession {

  private PortletSession portletSession;

  public PortletHttpSession(PortletSession portletSession) {
    this.portletSession = portletSession;
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getAttribute(java.lang.String)
   */
  public Object getAttribute(String name) {
    return portletSession.getAttribute(name);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getAttributeNames()
   */
  public Enumeration getAttributeNames() {
    return portletSession.getAttributeNames();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getCreationTime()
   */
  public long getCreationTime() {
    return portletSession.getCreationTime();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getId()
   */
  public String getId() {
    return portletSession.getId();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getLastAccessedTime()
   */
  public long getLastAccessedTime() {
    return portletSession.getLastAccessedTime();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getMaxInactiveInterval()
   */
  public int getMaxInactiveInterval() {
    return portletSession.getMaxInactiveInterval();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getServletContext()
   */
  public ServletContext getServletContext() {
    return new PortletServletContext(portletSession.getPortletContext());
  }

  /**
   * @see javax.servlet.http.HttpSession#getSessionContext()
   * @throws IllegalStateException
   *             Not supported in a portlet.
   */
  public HttpSessionContext getSessionContext() {
    throw new IllegalStateException("Not supported in a portlet");
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getValue(java.lang.String)
   */
  public Object getValue(String name) {
    return getAttribute(name);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#getValueNames()
   */
  public String[] getValueNames() {
    List<String> names = new ArrayList<String>();
    Enumeration attrNames = getAttributeNames();
    while (attrNames.hasMoreElements()) {
      names.add((String) attrNames.nextElement());
    }
    return names.toArray(new String[0]);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#invalidate()
   */
  public void invalidate() {
    portletSession.invalidate();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#isNew()
   */
  public boolean isNew() {
    return portletSession.isNew();
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#putValue(java.lang.String,
   *      java.lang.Object)
   */
  public void putValue(String name, Object value) {
    setAttribute(name, value);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#removeAttribute(java.lang.String)
   */
  public void removeAttribute(String name) {
    portletSession.removeAttribute(name);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#removeValue(java.lang.String)
   */
  public void removeValue(String name) {
    removeAttribute(name);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#setAttribute(java.lang.String,
   *      java.lang.Object)
   */
  public void setAttribute(String name, Object value) {
    portletSession.setAttribute(name, value);
  }

  /*
   * (non-Javadoc)
   * 
   * @see javax.servlet.http.HttpSession#setMaxInactiveInterval(int)
   */
  public void setMaxInactiveInterval(int interval) {
    portletSession.setMaxInactiveInterval(interval);
  }

  /**
   * Get the wrapped portlet session.
   * 
   * @return The wrapped portlet session.
   */
  public PortletSession getPortletSession() {
    return portletSession;
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.