org.apache.manifoldcf.core.connector
Class BaseConnector

java.lang.Object
  extended by org.apache.manifoldcf.core.connector.BaseConnector
All Implemented Interfaces:
IConnector
Direct Known Subclasses:
BaseAuthorityConnector, BaseOutputConnector, BaseRepositoryConnector

public abstract class BaseConnector
extends java.lang.Object
implements IConnector

This base class underlies all connector implementations.


Field Summary
static java.lang.String _rcsid
           
protected  IThreadContext currentContext
           
protected  ConfigParams params
           
 
Constructor Summary
BaseConnector()
           
 
Method Summary
 java.lang.String check()
          Test the connection.
 void clearThreadContext()
          Clear out any state information specific to a given thread.
 void connect(ConfigParams configParams)
          Connect.
 void deinstall(IThreadContext threadContext)
          Uninstall the connector.
 void disconnect()
          Close the connection.
 ConfigParams getConfiguration()
          Get configuration information.
 void install(IThreadContext threadContext)
          Install the connector.
 void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, java.lang.String tabName)
          Output the configuration body section.
 void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, java.util.ArrayList tabsArray)
          Output the configuration header section.
 void poll()
          This method is periodically called for all connectors that are connected but not in active use.
 java.lang.String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
          Process a configuration post.
 void setThreadContext(IThreadContext threadContext)
          Attach to a new thread.
 void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
          View configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_rcsid

public static final java.lang.String _rcsid
See Also:
Constant Field Values

params

protected ConfigParams params

currentContext

protected IThreadContext currentContext
Constructor Detail

BaseConnector

public BaseConnector()
Method Detail

install

public void install(IThreadContext threadContext)
             throws ManifoldCFException
Install the connector. This method is called to initialize persistent storage for the connector, such as database tables etc. It is called when the connector is registered.

Specified by:
install in interface IConnector
Parameters:
threadContext - is the current thread context.
Throws:
ManifoldCFException

deinstall

public void deinstall(IThreadContext threadContext)
               throws ManifoldCFException
Uninstall the connector. This method is called to remove persistent storage for the connector, such as database tables etc. It is called when the connector is deregistered.

Specified by:
deinstall in interface IConnector
Parameters:
threadContext - is the current thread context.
Throws:
ManifoldCFException

connect

public void connect(ConfigParams configParams)
Connect. The configuration parameters are included.

Specified by:
connect in interface IConnector
Parameters:
configParams - are the configuration parameters for this connection.

check

public java.lang.String check()
                       throws ManifoldCFException
Test the connection. Returns a string describing the connection integrity.

Specified by:
check in interface IConnector
Returns:
the connection's status as a displayable string.
Throws:
ManifoldCFException

poll

public void poll()
          throws ManifoldCFException
This method is periodically called for all connectors that are connected but not in active use.

Specified by:
poll in interface IConnector
Throws:
ManifoldCFException

disconnect

public void disconnect()
                throws ManifoldCFException
Close the connection. Call this before discarding the repository connector.

Specified by:
disconnect in interface IConnector
Throws:
ManifoldCFException

clearThreadContext

public void clearThreadContext()
Clear out any state information specific to a given thread. This method is called when this object is returned to the connection pool.

Specified by:
clearThreadContext in interface IConnector

setThreadContext

public void setThreadContext(IThreadContext threadContext)
Attach to a new thread.

Specified by:
setThreadContext in interface IConnector
Parameters:
threadContext - is the new thread context.

getConfiguration

public ConfigParams getConfiguration()
Get configuration information.

Specified by:
getConfiguration in interface IConnector
Returns:
the configuration information for this class.

outputConfigurationHeader

public void outputConfigurationHeader(IThreadContext threadContext,
                                      IHTTPOutput out,
                                      ConfigParams parameters,
                                      java.util.ArrayList tabsArray)
                               throws ManifoldCFException,
                                      java.io.IOException
Output the configuration header section. This method is called in the head section of the connector's configuration page. Its purpose is to add the required tabs to the list, and to output any javascript methods that might be needed by the configuration editing HTML.

Specified by:
outputConfigurationHeader in interface IConnector
Parameters:
threadContext - is the local thread context.
out - is the output to which any HTML should be sent.
parameters - are the configuration parameters, as they currently exist, for this connection being configured.
tabsArray - is an array of tab names. Add to this array any tab names that are specific to the connector.
Throws:
ManifoldCFException
java.io.IOException

outputConfigurationBody

public void outputConfigurationBody(IThreadContext threadContext,
                                    IHTTPOutput out,
                                    ConfigParams parameters,
                                    java.lang.String tabName)
                             throws ManifoldCFException,
                                    java.io.IOException
Output the configuration body section. This method is called in the body section of the connector's configuration page. Its purpose is to present the required form elements for editing. The coder can presume that the HTML that is output from this configuration will be within appropriate , , and
tags. The name of the form is "editconnection".

Specified by:
outputConfigurationBody in interface IConnector
Parameters:
threadContext - is the local thread context.
out - is the output to which any HTML should be sent.
parameters - are the configuration parameters, as they currently exist, for this connection being configured.
tabName - is the current tab name.
Throws:
ManifoldCFException
java.io.IOException

processConfigurationPost

public java.lang.String processConfigurationPost(IThreadContext threadContext,
                                                 IPostParameters variableContext,
                                                 ConfigParams parameters)
                                          throws ManifoldCFException
Process a configuration post. This method is called at the start of the connector's configuration page, whenever there is a possibility that form data for a connection has been posted. Its purpose is to gather form information and modify the configuration parameters accordingly. The name of the posted form is "editconnection".

Specified by:
processConfigurationPost in interface IConnector
Parameters:
threadContext - is the local thread context.
variableContext - is the set of variables available from the post, including binary file post information.
parameters - are the configuration parameters, as they currently exist, for this connection being configured.
Returns:
null if all is well, or a string error message if there is an error that should prevent saving of the connection (and cause a redirection to an error page).
Throws:
ManifoldCFException

viewConfiguration

public void viewConfiguration(IThreadContext threadContext,
                              IHTTPOutput out,
                              ConfigParams parameters)
                       throws ManifoldCFException,
                              java.io.IOException
View configuration. This method is called in the body section of the connector's view configuration page. Its purpose is to present the connection information to the user. The coder can presume that the HTML that is output from this configuration will be within appropriate and tags.

Specified by:
viewConfiguration in interface IConnector
Parameters:
threadContext - is the local thread context.
out - is the output to which any HTML should be sent.
parameters - are the configuration parameters, as they currently exist, for this connection being configured.
Throws:
ManifoldCFException
java.io.IOException