Code Search for Developers
 
 
  

EventAdapterImpl.java from GridBlocks at Krugle


Show EventAdapterImpl.java syntax highlighted

/**
 * Copyright (c) 2005
 * Helsinki Institute of Physics
 * see LICENSE file for details
 * 
 * EventAdapterImpl.java
 * Created on Nov 1, 2005
 */
package fi.hip.gb.gridlib.gridsp.adapters;

import fi.hip.gb.gridlib.gridsp.userbase.PortalUser;
import fi.hip.gb.gridlib.gridsp.SPConstants;

import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.sourceid.idff12.adapter.EventAdapter;
import org.sourceid.idff12.adapter.SessionInfo;
import org.sourceid.idff12.adapter.Warrant;
import org.sourceid.idff12.adapter.FederationInfo;

/**
 * This class includes the implementation for the 
 * org.sourceid.idff12.adapter.EventAdapter interface.
 * @author Henri Mikkonen
 * @version $Id: $
 */
public class EventAdapterImpl implements EventAdapter {

    /**
     * Keeps track of session IDs
     */
    static HashMap sessionMap = new HashMap();

    /**
     * This method is run when a session is created.
     * @param sinfo The session info.
     * @param request The HTTP Servlet request.
     * @param response The HTTP Servlet response.
     */
    public void onSessionCreated(SessionInfo sinfo, 
				 HttpServletRequest request, 
				 HttpServletResponse response) {
        HttpSession session = request.getSession();
        session.setAttribute(SPConstants.ATTR_SESSION_KEY, 
			     sinfo.getSessionId());
        PortalUser user = 
	    (PortalUser)session.getAttribute(SPConstants.ATTR_USER_KEY);
        if (user == null)
        {
	    user = new PortalUser();
	    user = user.getUserByName(sinfo.getPrincipalId());
            session.setAttribute(SPConstants.ATTR_USER_KEY, user);
        }
        sessionMap.put(sinfo.getSessionId(), session);
    }

    /**
     * This method is run when a session is terminated.
     * @param sinfo The session info.
     * @param request The HTTP Servlet request.
     * @param response The HTTP Servlet response.
     */    
    public void onSessionTerminated(SessionInfo sinfo, 
				    HttpServletRequest request, 
				    HttpServletResponse response) {
        HttpSession session = 
	    (HttpSession)sessionMap.get(sinfo.getSessionId());
        session.removeAttribute(SPConstants.ATTR_SESSION_KEY);
        session.removeAttribute(SPConstants.ATTR_USER_KEY);
	session.removeAttribute(SPConstants.ATTR_CURRENT_IDP_KEY);
    }
    
    /**
     * This method is run when a warrant is issued.
     * @param sinfo The session info.
     * @param w The warrant that is issued.
     * @param request The HTTP Servlet request.
     * @param response The HTTP Servlet response.
     */
    public void onWarrantIssued(SessionInfo sinfo, 
				Warrant w, 
				HttpServletRequest request, 
				HttpServletResponse response) {
        HttpSession session = 
	    (HttpSession)sessionMap.get(sinfo.getSessionId());
        session.setAttribute(SPConstants.ATTR_CURRENT_IDP_KEY, 
			     w.getProviderId());
    }

    /**
     * This method is run when a federation is created.
     * @param principalId The local principal identifier as
     * <code>String</code>.
     * @param providerId The provider identifier (as <code>String</code>)
     * the federation is created with.
     */
    public void onFederationCreated(String principalId, String providerId)
    {
    }

    /**
     * This method is run when a federation is terminated.
     * @param principalId The local principal identifier as
     * <code>String</code>.
     * @param providerId The provider identifier (as <code>String</code>)
     * of the federation that is terminated.
     */
    public void onFederationTerminated(String principalId, String providerId)
    {
    }

}




See more files for this project here

GridBlocks

GridBlocks builds a grid application framework via easy-to-use building blocks in distributed environment. The framework offers components for Grid security, distributed storage, computing, and Portlet web interfaces.

Project homepage: http://sourceforge.net/projects/gridblocks
Programming language(s): Java,JSP,XML
License: other

  AuthnAdapterImpl.java
  EventAdapterImpl.java
  FederationStoreImpl.java
  package.html