org.apache.manifoldcf.agents.outputconnection
Class OutputConnectionManager

java.lang.Object
  extended by org.apache.manifoldcf.core.database.BaseTable
      extended by org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager
All Implemented Interfaces:
IOutputConnectionManager

public class OutputConnectionManager
extends BaseTable
implements IOutputConnectionManager

This class is the manager of the outputconnection description. Inside, a database table is managed, with appropriate caching. Note well: The database handle is instantiated here using the DBInterfaceFactory. This is acceptable because the actual database that this table is located in is fixed.


Nested Class Summary
protected static class OutputConnectionManager.OutputConnectionDescription
          This is the object description for an output connection object.
protected static class OutputConnectionManager.OutputConnectionExecutor
          This is the executor object for locating output connection objects.
 
Field Summary
static java.lang.String _rcsid
           
protected static java.lang.String classNameField
           
protected static java.lang.String configField
           
protected static java.lang.String descriptionField
           
protected static java.lang.String maxCountField
           
protected static java.lang.String nameField
           
protected static java.util.Random random
           
 
Fields inherited from class org.apache.manifoldcf.core.database.BaseTable
dbInterface, tableName
 
Constructor Summary
OutputConnectionManager(IThreadContext threadContext, IDBInterface database)
          Constructor.
 
Method Summary
 boolean checkConnectorExists(java.lang.String name)
          Check if underlying connector exists.
 IOutputConnection create()
          Create a new output connection object.
 void deinstall()
          Uninstall the manager.
 void delete(java.lang.String name)
          Delete an output connection.
 void exportConfiguration(java.io.OutputStream os)
          Export configuration
 java.lang.String[] findConnectionsForConnector(java.lang.String className)
          Get a list of output connections that share the same connector.
 IOutputConnection[] getAllConnections()
          Obtain a list of the output connections, ordered by name.
 java.lang.String getConnectionNameColumn()
          Return the name column.
protected static java.lang.String getOutputConnectionKey(java.lang.String connectionName)
          Construct a key which represents an individual output connection.
protected  void getOutputConnectionsChunk(OutputConnection[] rval, java.util.Map returnIndex, java.lang.String idList, java.util.ArrayList params)
          Read a chunk of output connections.
protected static java.lang.String getOutputConnectionsKey()
          Construct a key which represents the general list of output connectors.
protected  OutputConnection[] getOutputConnectionsMultiple(java.lang.String[] connectionNames)
          Fetch multiple output connections at a single time.
 void importConfiguration(java.io.InputStream is)
          Import configuration
 void install()
          Install the manager.
 IOutputConnection load(java.lang.String name)
          Load an output connection by name.
 IOutputConnection[] loadMultiple(java.lang.String[] names)
          Load multiple output connections by name.
 boolean save(IOutputConnection object)
          Save an output connection object.
 
Methods inherited from class org.apache.manifoldcf.core.database.BaseTable
addTableIndex, analyzeTable, beginTransaction, constructDistinctOnClause, constructOffsetLimitClause, constructRegexpClause, constructSubstringClause, endTransaction, getDatabaseCacheKey, getDBInterface, getMaxInClause, getMaxOrClause, getTableIndexes, getTableName, getTableSchema, getTransactionID, makeTableKey, noteModifications, performAddIndex, performAlter, performCreate, performDelete, performDrop, performInsert, performLock, performModification, performQuery, performQuery, performRemoveIndex, performUpdate, prepareRowForSave, readRow, reindexTable, signalRollback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.manifoldcf.agents.interfaces.IOutputConnectionManager
getTableName
 

Field Detail

_rcsid

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

nameField

protected static final java.lang.String nameField
See Also:
Constant Field Values

descriptionField

protected static final java.lang.String descriptionField
See Also:
Constant Field Values

classNameField

protected static final java.lang.String classNameField
See Also:
Constant Field Values

maxCountField

protected static final java.lang.String maxCountField
See Also:
Constant Field Values

configField

protected static final java.lang.String configField
See Also:
Constant Field Values

random

protected static java.util.Random random
Constructor Detail

OutputConnectionManager

public OutputConnectionManager(IThreadContext threadContext,
                               IDBInterface database)
                        throws ManifoldCFException
Constructor.

Parameters:
threadContext - is the thread context.
Throws:
ManifoldCFException
Method Detail

install

public void install()
             throws ManifoldCFException
Install the manager.

Specified by:
install in interface IOutputConnectionManager
Throws:
ManifoldCFException

deinstall

public void deinstall()
               throws ManifoldCFException
Uninstall the manager.

Specified by:
deinstall in interface IOutputConnectionManager
Throws:
ManifoldCFException

exportConfiguration

public void exportConfiguration(java.io.OutputStream os)
                         throws java.io.IOException,
                                ManifoldCFException
Export configuration

Specified by:
exportConfiguration in interface IOutputConnectionManager
Throws:
java.io.IOException
ManifoldCFException

importConfiguration

public void importConfiguration(java.io.InputStream is)
                         throws java.io.IOException,
                                ManifoldCFException
Import configuration

Specified by:
importConfiguration in interface IOutputConnectionManager
Throws:
java.io.IOException
ManifoldCFException

getAllConnections

public IOutputConnection[] getAllConnections()
                                      throws ManifoldCFException
Obtain a list of the output connections, ordered by name.

Specified by:
getAllConnections in interface IOutputConnectionManager
Returns:
an array of connection objects.
Throws:
ManifoldCFException

load

public IOutputConnection load(java.lang.String name)
                       throws ManifoldCFException
Load an output connection by name.

Specified by:
load in interface IOutputConnectionManager
Parameters:
name - is the name of the output connection.
Returns:
the loaded connection object, or null if not found.
Throws:
ManifoldCFException

loadMultiple

public IOutputConnection[] loadMultiple(java.lang.String[] names)
                                 throws ManifoldCFException
Load multiple output connections by name.

Specified by:
loadMultiple in interface IOutputConnectionManager
Parameters:
names - are the names to load.
Returns:
the loaded connection objects.
Throws:
ManifoldCFException

create

public IOutputConnection create()
                         throws ManifoldCFException
Create a new output connection object.

Specified by:
create in interface IOutputConnectionManager
Returns:
the new object.
Throws:
ManifoldCFException

save

public boolean save(IOutputConnection object)
             throws ManifoldCFException
Save an output connection object.

Specified by:
save in interface IOutputConnectionManager
Parameters:
object - is the object to save.
Returns:
true if the object is being created, false otherwise.
Throws:
ManifoldCFException

delete

public void delete(java.lang.String name)
            throws ManifoldCFException
Delete an output connection.

Specified by:
delete in interface IOutputConnectionManager
Parameters:
name - is the name of the connection to delete. If the name does not exist, no error is returned.
Throws:
ManifoldCFException

findConnectionsForConnector

public java.lang.String[] findConnectionsForConnector(java.lang.String className)
                                               throws ManifoldCFException
Get a list of output connections that share the same connector.

Specified by:
findConnectionsForConnector in interface IOutputConnectionManager
Parameters:
className - is the class name of the connector.
Returns:
the repository connections that use that connector.
Throws:
ManifoldCFException

checkConnectorExists

public boolean checkConnectorExists(java.lang.String name)
                             throws ManifoldCFException
Check if underlying connector exists.

Specified by:
checkConnectorExists in interface IOutputConnectionManager
Parameters:
name - is the name of the connection to check.
Returns:
true if the underlying connector is registered.
Throws:
ManifoldCFException

getConnectionNameColumn

public java.lang.String getConnectionNameColumn()
Return the name column.

Specified by:
getConnectionNameColumn in interface IOutputConnectionManager
Returns:
the name column.

getOutputConnectionsKey

protected static java.lang.String getOutputConnectionsKey()
Construct a key which represents the general list of output connectors.

Returns:
the cache key.

getOutputConnectionKey

protected static java.lang.String getOutputConnectionKey(java.lang.String connectionName)
Construct a key which represents an individual output connection.

Parameters:
connectionName - is the name of the connector.
Returns:
the cache key.

getOutputConnectionsMultiple

protected OutputConnection[] getOutputConnectionsMultiple(java.lang.String[] connectionNames)
                                                   throws ManifoldCFException
Fetch multiple output connections at a single time.

Parameters:
connectionNames - are a list of connection names.
Returns:
the corresponding output connection objects.
Throws:
ManifoldCFException

getOutputConnectionsChunk

protected void getOutputConnectionsChunk(OutputConnection[] rval,
                                         java.util.Map returnIndex,
                                         java.lang.String idList,
                                         java.util.ArrayList params)
                                  throws ManifoldCFException
Read a chunk of output connections.

Parameters:
rval - is the place to put the read policies.
returnIndex - is a map from the object id (resource id) and the rval index.
idList - is the list of id's.
params - is the set of parameters.
Throws:
ManifoldCFException