org.springframework.extensions.webscripts.connector
Class ConnectorService

java.lang.Object
  extended by org.springframework.extensions.webscripts.connector.ConnectorService
All Implemented Interfaces:
EventListener, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener

public class ConnectorService
extends Object
implements org.springframework.context.ApplicationListener, org.springframework.context.ApplicationContextAware

The ConnectorService acts as a singleton that can be used to build any of the objects utilized by the Connector layer.

This class is mounted as a Spring Bean within the Web Script Framework so that developers can access it from the application context.

Author:
muzquiano, kevinr

Constructor Summary
ConnectorService()
           
 
Method Summary
 Authenticator getAuthenticator(String id)
          Returns the implementation of an Authenticator with a given id
 ConfigService getConfigService()
          Gets the config service.
 Connector getConnector(String endpointId)
          Retrieves a Connector to a given endpoint.
 Connector getConnector(String endpointId, javax.servlet.http.HttpSession session)
          Retrieves a Connector to a given endpoint.
 Connector getConnector(String endpointId, String userId, javax.servlet.http.HttpSession session)
          Retrieves a Connector for the given endpoint that is scoped to the given user.
 Connector getConnector(String endpointId, UserContext userContext, javax.servlet.http.HttpSession session)
          Retrieves a Connector for the given endpoint that is scoped to the given user context.
 ConnectorSession getConnectorSession(javax.servlet.http.HttpSession session, String endpointId)
          Returns the ConnectorSession bound to the current HttpSession for the given endpoint
 CredentialVault getCredentialVault(javax.servlet.http.HttpSession session, String userId)
          Retrieves the user-scoped CredentialVault for the given user If a vault doesn't yet exist, a vault of the default type will be instantiated
 CredentialVault getCredentialVault(javax.servlet.http.HttpSession session, String userId, String vaultProviderId)
          Retrieves the user-scoped CredentialVault for the given user id and given vault id
 void onApplicationEvent(org.springframework.context.ApplicationEvent event)
           
 void removeConnectorSession(javax.servlet.http.HttpSession session, String endpointId)
          Removes the ConnectorSession from the HttpSession for the given endpoint
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
          Sets the application config
 void setConfigService(ConfigService configService)
          Sets the config service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConnectorService

public ConnectorService()
Method Detail

setConfigService

public void setConfigService(ConfigService configService)
Sets the config service.

Parameters:
configService - the new config service

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
Sets the application config

Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Parameters:
applicationContxt - the application context

getConfigService

public ConfigService getConfigService()
Gets the config service.

Returns:
the config service

onApplicationEvent

public void onApplicationEvent(org.springframework.context.ApplicationEvent event)
Specified by:
onApplicationEvent in interface org.springframework.context.ApplicationListener

getConnector

public Connector getConnector(String endpointId)
                       throws ConnectorServiceException
Retrieves a Connector to a given endpoint.

This Connector has no given user context and will not pass any authentication credentials. Therefore only endpoints that do not require authentication or have "declared" authentication as part of the endpoint config should be used. This Connector also will not manage connector session state. Thus, it is generally less preferred to use these connectors over those provided by getConnector(endpointId, session)

Parameters:
endpointId - the endpoint id
Returns:
the connector
Throws:
ConnectorServiceException

getConnector

public Connector getConnector(String endpointId,
                              javax.servlet.http.HttpSession session)
                       throws ConnectorServiceException
Retrieves a Connector to a given endpoint.

This Connector has no given user context and will not pass any authentication credentials. Therefore only endpoints that do not require authentication or have "declared" authentication as part of the endpoint config should be used. Cookie and token state will be session bound and reusable on subsequent invocations.

Parameters:
endpointId - the endpoint id
session - the HTTP session
Returns:
the connector
Throws:
ConnectorServiceException

getConnector

public Connector getConnector(String endpointId,
                              String userId,
                              javax.servlet.http.HttpSession session)
                       throws ConnectorServiceException
Retrieves a Connector for the given endpoint that is scoped to the given user.

If the provided endpoint is configured to use an Authenticator, then the Connector instance returned will be wrapped as an AuthenticatingConnector.

Cookie and token state will be session bound and reusable on subsequent invocations.

Parameters:
endpointId - the endpoint id
userId - the user id (optional)
session - the session
Returns:
the connector
Throws:
ConnectorServiceException

getConnector

public Connector getConnector(String endpointId,
                              UserContext userContext,
                              javax.servlet.http.HttpSession session)
                       throws ConnectorServiceException
Retrieves a Connector for the given endpoint that is scoped to the given user context.

A user context is a means of wrapping the Credentials and ConnectorSession objects for a given user. If they are provided, then context will be drawn from them and stored back.

Parameters:
endpointId - the endpoint id
userContext - the user context
session - the http session
Returns:
the connector
Throws:
ConnectorServiceException

getAuthenticator

public Authenticator getAuthenticator(String id)
                               throws ConnectorServiceException
Returns the implementation of an Authenticator with a given id

Parameters:
id - the id
Returns:
the authenticator
Throws:
ConnectorServiceException

getConnectorSession

public ConnectorSession getConnectorSession(javax.servlet.http.HttpSession session,
                                            String endpointId)
Returns the ConnectorSession bound to the current HttpSession for the given endpoint

Parameters:
session - the session
endpointId - the endpoint id
Returns:
the connector session

removeConnectorSession

public void removeConnectorSession(javax.servlet.http.HttpSession session,
                                   String endpointId)
Removes the ConnectorSession from the HttpSession for the given endpoint

Parameters:
session - the session
endpointId - the endpoint id

getCredentialVault

public CredentialVault getCredentialVault(javax.servlet.http.HttpSession session,
                                          String userId)
                                   throws CredentialVaultProviderException
Retrieves the user-scoped CredentialVault for the given user If a vault doesn't yet exist, a vault of the default type will be instantiated

Parameters:
userId - the user id
Returns:
the credential vault
Throws:
CredentialVaultProviderException - the credential vault provider exception

getCredentialVault

public CredentialVault getCredentialVault(javax.servlet.http.HttpSession session,
                                          String userId,
                                          String vaultProviderId)
                                   throws CredentialVaultProviderException
Retrieves the user-scoped CredentialVault for the given user id and given vault id

Parameters:
userId - the user id
vaultProviderId - the vault provider id
Returns:
the credential vault
Throws:
CredentialVaultProviderException - the credential vault provider exception


Copyright © 2009 SpringSource, Inc. All Rights Reserved.