org.apache.manifoldcf.authorities.interfaces
Class AuthorityConnectorFactory

java.lang.Object
  extended by org.apache.manifoldcf.authorities.interfaces.AuthorityConnectorFactory

public class AuthorityConnectorFactory
extends java.lang.Object

This class manages a pool of authority connectors.


Nested Class Summary
static class AuthorityConnectorFactory.Pool
          This class represents a value in the pool hash, which corresponds to a given key.
static class AuthorityConnectorFactory.PoolKey
          This is an immutable pool key class, which describes a pool in terms of two independent keys.
 
Field Summary
protected static java.util.Map poolHash
           
 
Method Summary
static void closeAllConnectors(IThreadContext threadContext)
          Clean up all open authority connector handles.
static void deinstall(IThreadContext threadContext, java.lang.String className)
          Uninstall connector.
protected static IAuthorityConnector getConnector(IThreadContext threadContext, java.lang.String className)
          Get a repository connector instance.
static IAuthorityConnector getConnectorNoCheck(java.lang.String className)
          Get a repository connector instance, but do NOT check if class is installed first!
static AuthorizationResponse getDefaultAuthorizationResponse(IThreadContext threadContext, java.lang.String className, java.lang.String userName)
          Get the default response from a connector.
static IAuthorityConnector grab(IThreadContext threadContext, java.lang.String className, ConfigParams configInfo, int maxPoolSize)
          Get a repository connector.
static void install(IThreadContext threadContext, java.lang.String className)
          Install connector.
static void outputConfigurationBody(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams parameters, java.lang.String tabName)
          Output the configuration body section.
static void outputConfigurationHeader(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams parameters, java.util.ArrayList tabsArray)
          Output the configuration header section.
static void pollAllConnectors(IThreadContext threadContext)
          Idle notification for inactive authority connector handles.
static java.lang.String processConfigurationPost(IThreadContext threadContext, java.lang.String className, IPostParameters variableContext, ConfigParams configParams)
          Process configuration post data for a connector.
static void release(IAuthorityConnector connector)
          Release a repository connector.
static void viewConfiguration(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams configParams)
          View connector configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

poolHash

protected static java.util.Map poolHash
Method Detail

install

public static void install(IThreadContext threadContext,
                           java.lang.String className)
                    throws ManifoldCFException
Install connector.

Parameters:
className - is the class name.
Throws:
ManifoldCFException

deinstall

public static void deinstall(IThreadContext threadContext,
                             java.lang.String className)
                      throws ManifoldCFException
Uninstall connector.

Parameters:
className - is the class name.
Throws:
ManifoldCFException

getDefaultAuthorizationResponse

public static AuthorizationResponse getDefaultAuthorizationResponse(IThreadContext threadContext,
                                                                    java.lang.String className,
                                                                    java.lang.String userName)
                                                             throws ManifoldCFException
Get the default response from a connector. Called if the connection attempt fails.

Throws:
ManifoldCFException

outputConfigurationHeader

public static void outputConfigurationHeader(IThreadContext threadContext,
                                             java.lang.String className,
                                             IHTTPOutput out,
                                             ConfigParams parameters,
                                             java.util.ArrayList tabsArray)
                                      throws ManifoldCFException,
                                             java.io.IOException
Output the configuration header section.

Throws:
ManifoldCFException
java.io.IOException

outputConfigurationBody

public static void outputConfigurationBody(IThreadContext threadContext,
                                           java.lang.String className,
                                           IHTTPOutput out,
                                           ConfigParams parameters,
                                           java.lang.String tabName)
                                    throws ManifoldCFException,
                                           java.io.IOException
Output the configuration body section.

Throws:
ManifoldCFException
java.io.IOException

processConfigurationPost

public static java.lang.String processConfigurationPost(IThreadContext threadContext,
                                                        java.lang.String className,
                                                        IPostParameters variableContext,
                                                        ConfigParams configParams)
                                                 throws ManifoldCFException
Process configuration post data for a connector.

Throws:
ManifoldCFException

viewConfiguration

public static void viewConfiguration(IThreadContext threadContext,
                                     java.lang.String className,
                                     IHTTPOutput out,
                                     ConfigParams configParams)
                              throws ManifoldCFException,
                                     java.io.IOException
View connector configuration.

Throws:
ManifoldCFException
java.io.IOException

getConnectorNoCheck

public static IAuthorityConnector getConnectorNoCheck(java.lang.String className)
                                               throws ManifoldCFException
Get a repository connector instance, but do NOT check if class is installed first!

Parameters:
className - is the class name.
Returns:
the instance.
Throws:
ManifoldCFException

getConnector

protected static IAuthorityConnector getConnector(IThreadContext threadContext,
                                                  java.lang.String className)
                                           throws ManifoldCFException
Get a repository connector instance.

Parameters:
className - is the class name.
Returns:
the instance.
Throws:
ManifoldCFException

grab

public static IAuthorityConnector grab(IThreadContext threadContext,
                                       java.lang.String className,
                                       ConfigParams configInfo,
                                       int maxPoolSize)
                                throws ManifoldCFException
Get a repository connector. The connector is specified by its class and its parameters.

Parameters:
threadContext - is the current thread context.
className - is the name of the class to get a connector for.
configInfo - are the name/value pairs constituting configuration info for this class.
Throws:
ManifoldCFException

release

public static void release(IAuthorityConnector connector)
                    throws ManifoldCFException
Release a repository connector.

Parameters:
connector - is the connector to release.
Throws:
ManifoldCFException

pollAllConnectors

public static void pollAllConnectors(IThreadContext threadContext)
                              throws ManifoldCFException
Idle notification for inactive authority connector handles. This method polls all inactive handles.

Throws:
ManifoldCFException

closeAllConnectors

public static void closeAllConnectors(IThreadContext threadContext)
                               throws ManifoldCFException
Clean up all open authority connector handles. This method is called when the connector pool needs to be flushed, to free resources.

Parameters:
threadContext - is the local thread context.
Throws:
ManifoldCFException