All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gatein.pc.samples.basic.SessionPortlet Maven / Gradle / Ivy

There is a newer version: 2.5.1.Final
Show newest version
/******************************************************************************
 * JBoss, a division of Red Hat                                               *
 * Copyright 2008, Red Hat Middleware, LLC, and individual                    *
 * contributors as indicated by the @authors tag. See the                     *
 * copyright.txt in the distribution for a full listing of                    *
 * individual contributors.                                                   *
 *                                                                            *
 * This is free software; you can redistribute it and/or modify it            *
 * under the terms of the GNU Lesser General Public License as                *
 * published by the Free Software Foundation; either version 2.1 of           *
 * the License, or (at your option) any later version.                        *
 *                                                                            *
 * This software is distributed in the hope that it will be useful,           *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
 * Lesser General Public License for more details.                            *
 *                                                                            *
 * You should have received a copy of the GNU Lesser General Public           *
 * License along with this software; if not, write to the Free                *
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
 ******************************************************************************/
package org.gatein.pc.samples.basic;

import javax.portlet.GenericPortlet;
import javax.portlet.PortletURL;
import javax.portlet.PortletSession;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.RenderResponse;
import javax.portlet.ActionRequest;
import javax.portlet.RenderRequest;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.Enumeration;

/**
 * @author Julien Viet
 * @version $Revision: 630 $
 */
public class SessionPortlet extends GenericPortlet
{
   
   public void processAction(ActionRequest req, ActionResponse resp) throws PortletException, IOException
   {
      String name = req.getParameter("name");
      String value = req.getParameter("value");
      boolean portletScope = req.getParameter("portlet") != null;
      if (name != null && value != null)
      {
         req.getPortletSession().setAttribute(name, value, portletScope ? PortletSession.PORTLET_SCOPE : PortletSession.APPLICATION_SCOPE);
      }
      if (req.getParameter("invalidate") != null)
      {
         req.getPortletSession().invalidate();
      }
   }

   public void render(RenderRequest req, RenderResponse resp) throws PortletException, IOException
   {
      PortletSession session = req.getPortletSession(false);
      PortletURL purl = resp.createActionURL();

      //
      resp.setContentType("text/html");
      PrintWriter writer = resp.getWriter();

      //
      if (session == null)
      {
         writer.println("No session");
      }
      else
      {
         writer.println("Session id = " + session.getId());
         writer.println("
"); // print(session, PortletSession.PORTLET_SCOPE, writer); writer.println("
"); // print(session, PortletSession.APPLICATION_SCOPE, writer); writer.println("
"); } // writer.println("
"); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("

"); // purl.setParameter("invalidate", "true"); writer.println("invalidate
"); } private void print(PortletSession session, int scope, PrintWriter writer) { String scopeName = PortletSession.PORTLET_SCOPE == scope ? "portlet" : "application"; writer.println("

Session attributes for " + scopeName + " scope:

"); Enumeration e = session.getAttributeNames(scope); if (e.hasMoreElements()) { writer.println(""); writer.println(""); for (; e.hasMoreElements();) { String name = (String)e.nextElement(); Object value = session.getAttribute(name, scope); writer.println(""); } writer.println("
namevalue
" + name + "" + value + "
"); } else { writer.println("

No attributes in " + scopeName + " scope!

"); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy