Class ConnectorService

java.lang.Object
org.springframework.extensions.webscripts.connector.ConnectorService
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public class ConnectorService extends Object implements 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, Kevin Roast
  • Constructor Details

    • ConnectorService

      public ConnectorService()
  • Method Details

    • setConfigService

      public void setConfigService(org.springframework.extensions.config.ConfigService configService)
      Sets the config service.
      Parameters:
      configService - the new config service
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      Sets the Spring application context
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Parameters:
      applicationContext - the Spring application context
    • getConfigService

      public org.springframework.extensions.config.ConfigService getConfigService()
      Gets the config service.
      Returns:
      the config service
    • getRemoteConfig

      public RemoteConfigElement getRemoteConfig()
      Return the RemoteConfigElement instance
      Returns:
      RemoteConfigElement
    • 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, jakarta.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, jakarta.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, jakarta.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 (optional, if present will persist connector 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(jakarta.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(jakarta.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(jakarta.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:
      session - HttpSession
      userId - the user id
      Returns:
      the credential vault
      Throws:
      CredentialVaultProviderException - the credential vault provider exception
    • getCredentialVault

      public CredentialVault getCredentialVault(jakarta.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:
      session - HttpSession
      userId - the user id
      vaultProviderId - the vault provider id
      Returns:
      the credential vault
      Throws:
      CredentialVaultProviderException - the credential vault provider exception