org.sourceid.saml20.service.impl.multicast
Class SpSessionRegistryMulticastImpl

java.lang.Object
  extended by org.sourceid.saml20.service.impl.multicast.SpSessionRegistryMulticastImpl
All Implemented Interfaces:
SpSessionRegistry

public class SpSessionRegistryMulticastImpl
extends java.lang.Object
implements SpSessionRegistry

A multicast backed implementation of this service interface that allows state to be shared between nodes in a cluster.

State is replicated within a sub-cluster.

Author:
Brian Campbell

Field Summary
protected  org.sourceid.config.ConfigStore config
           
protected  org.apache.commons.logging.Log log
           
protected  org.jgroups.util.Promise promise
           
protected  org.jgroups.blocks.RpcDispatcher rpcDispatcher
           
protected  org.sourceid.saml20.state.StateAccepter stateAccepter
           
protected  int timeout
           
 
Constructor Summary
SpSessionRegistryMulticastImpl()
           
 
Method Summary
 SpHashableAuthnBean lookupAuthnBean(Session s)
          Retrieve the SpHashableAuthnBean that was registered with the given session.
 java.util.List<SpHashableAuthnBean> lookupAuthnBeans(java.lang.String sessionIdentifier)
          Retrieve all the SpHashableAuthnBean associated with the PingFederate session id.
 Session lookupSessionReceived(SpHashableAuthnBean authnBean)
          Retrieve the session that was registered with the given SpHashableAuthnBean.
 java.util.List<Session> lookupSessions(java.lang.String partnerEntityId, org.sourceid.saml20.xmlbinding.assertion.NameIDType nameIDType)
          Retrieve a list of sessions that have the given parameters.
 void registerSessionReceived(SpHashableAuthnBean authnBean, Session session)
          Register a session received from an IdP with the SpHashableAuthnBean that represents the application session created by the adapter.
 Session unregisterSessionReceived(SpHashableAuthnBean authnBean)
          Same as lookupSessionReceived but the session is also removed from the registry (usually because of logout).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final org.apache.commons.logging.Log log

config

protected final org.sourceid.config.ConfigStore config

timeout

protected final int timeout

stateAccepter

protected final org.sourceid.saml20.state.StateAccepter stateAccepter

rpcDispatcher

protected final org.jgroups.blocks.RpcDispatcher rpcDispatcher

promise

protected final org.jgroups.util.Promise promise
Constructor Detail

SpSessionRegistryMulticastImpl

public SpSessionRegistryMulticastImpl()
                               throws org.jgroups.ChannelException
Throws:
org.jgroups.ChannelException
Method Detail

registerSessionReceived

public void registerSessionReceived(SpHashableAuthnBean authnBean,
                                    Session session)
Description copied from interface: SpSessionRegistry
Register a session received from an IdP with the SpHashableAuthnBean that represents the application session created by the adapter.

Specified by:
registerSessionReceived in interface SpSessionRegistry
Parameters:
authnBean - the local application session information.
session - info from the assertion that was used to establish the local security context.

lookupSessions

public java.util.List<Session> lookupSessions(java.lang.String partnerEntityId,
                                              org.sourceid.saml20.xmlbinding.assertion.NameIDType nameIDType)
Description copied from interface: SpSessionRegistry
Retrieve a list of sessions that have the given parameters.

Specified by:
lookupSessions in interface SpSessionRegistry
Parameters:
partnerEntityId - the entity id of the IdP that issued the session(s)/assertion(s).
nameIDType - the xml name id chunk from the assertion(s)/sessions(s)
Returns:
a list of Sessions that match the given criteria.

lookupAuthnBean

public SpHashableAuthnBean lookupAuthnBean(Session s)
Description copied from interface: SpSessionRegistry
Retrieve the SpHashableAuthnBean that was registered with the given session.

Specified by:
lookupAuthnBean in interface SpSessionRegistry
Parameters:
s - the session.
Returns:
the SpHashableAuthnBean that was registered with the given session.

lookupSessionReceived

public Session lookupSessionReceived(SpHashableAuthnBean authnBean)
Description copied from interface: SpSessionRegistry
Retrieve the session that was registered with the given SpHashableAuthnBean.

Specified by:
lookupSessionReceived in interface SpSessionRegistry
Parameters:
authnBean - the SpHashableAuthnBean.
Returns:
the Session.

unregisterSessionReceived

public Session unregisterSessionReceived(SpHashableAuthnBean authnBean)
Description copied from interface: SpSessionRegistry
Same as lookupSessionReceived but the session is also removed from the registry (usually because of logout).

Specified by:
unregisterSessionReceived in interface SpSessionRegistry
Parameters:
authnBean - the SpHashableAuthnBean.
Returns:
the Session.

lookupAuthnBeans

public java.util.List<SpHashableAuthnBean> lookupAuthnBeans(java.lang.String sessionIdentifier)
Description copied from interface: SpSessionRegistry
Retrieve all the SpHashableAuthnBean associated with the PingFederate session id.

Specified by:
lookupAuthnBeans in interface SpSessionRegistry
Parameters:
sessionIdentifier - PingFederate's HTTP session id.
Returns:
a list of SpHashableAuthnBeans


Copyright 2007 Ping Identity Corp. All rights reserved.