Class MappingConnectionManager
- java.lang.Object
-
- org.apache.manifoldcf.core.database.BaseTable
-
- org.apache.manifoldcf.authorities.mapping.MappingConnectionManager
-
- All Implemented Interfaces:
IMappingConnectionManager
public class MappingConnectionManager extends BaseTable implements IMappingConnectionManager
Implementation of the authority connection manager functionality.
mapconnectionsField Type Description mappingname VARCHAR(32) Primary Key description VARCHAR(255) classname VARCHAR(255) maxcount BIGINT configxml LONGTEXT
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
MappingConnectionManager.MappingConnectionDescription
This is the object description for a mapping connection object.protected static class
MappingConnectionManager.MappingConnectionExecutor
This is the executor object for locating mapping connection objects.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
_rcsid
protected ICacheManager
cacheManager
protected static java.lang.String
classNameField
protected static java.lang.String
configField
protected static java.lang.String
descriptionField
protected static int
FETCH_MAX
protected ILockManager
lockManager
protected static java.lang.String
mappingField
protected static java.lang.String
mappingsLock
protected static java.lang.String
maxCountField
protected static java.lang.String
nameField
protected IThreadContext
threadContext
-
Fields inherited from class org.apache.manifoldcf.core.database.BaseTable
dbInterface, tableName
-
-
Constructor Summary
Constructors Constructor Description MappingConnectionManager(IThreadContext threadContext, IDBInterface database)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IMappingConnection
create()
Create a new repository connection object.void
deinstall()
Uninstall the manager.void
delete(java.lang.String name)
Delete an authority connection.void
exportConfiguration(java.io.OutputStream os)
Export configurationIMappingConnection[]
getAllConnections()
Obtain a list of the repository connections, ordered by name.IMappingConnection[]
getAllNonLoopingConnections(java.lang.String startingConnectionName)
Obtain a list of the mapping connections, ordered by name, excluding those that would form a prerequisite loop if chosen.protected static java.lang.String
getMappingConnectionKey(java.lang.String connectionName)
Construct a key which represents an individual mapping connection.protected void
getMappingConnectionsChunk(MappingConnection[] rval, java.util.Map returnIndex, java.util.ArrayList params)
Read a chunk of mapping connections.protected static java.lang.String
getMappingConnectionsKey()
Construct a key which represents the general list of mapping connectors.protected MappingConnection[]
getMappingConnectionsMultiple(java.lang.String[] connectionNames)
Fetch multiple mapping connections at a single time.java.lang.String
getMappingNameColumn()
Get the mapping connection name column.void
importConfiguration(java.io.InputStream is)
Import configurationvoid
install()
Install the manager.protected boolean
isReferenced(java.lang.String mappingName)
Return true if the specified mapping name is referenced.IMappingConnection
load(java.lang.String name)
Load a mapping connection by name.IMappingConnection[]
loadMultiple(java.lang.String[] names)
Load multiple mapping connections by name.protected int
loadMultipleInternal(IMappingConnection[] rval, int outputIndex, java.lang.String[] fetchNames, int inputIndex, int length)
protected int
maxClauseGetMappingConnectionsChunk()
Find the maximum number of clauses for getMappingConnectionsChunk.boolean
save(IMappingConnection object)
Save a mapping connection object.-
Methods inherited from class org.apache.manifoldcf.core.database.BaseTable
addTableIndex, analyzeTable, beginTransaction, buildConjunctionClause, constructCountClause, constructDistinctOnClause, constructDoubleCastClause, constructOffsetLimitClause, constructRegexpClause, constructSubstringClause, endTransaction, findConjunctionClauseMax, getDatabaseCacheKey, getDBInterface, getMaxInClause, getMaxOrClause, getSleepAmt, getTableIndexes, getTableName, getTableSchema, getTransactionID, getWindowedReportMaxRows, makeTableKey, noteModifications, performAddIndex, performAlter, performCommit, performCreate, performDelete, performDrop, performInsert, performModification, performQuery, performQuery, performRemoveIndex, performUpdate, prepareRowForSave, readRow, reindexTable, signalRollback, sleepFor
-
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.authorities.interfaces.IMappingConnectionManager
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
-
mappingField
protected static final java.lang.String mappingField
- See Also:
- Constant Field Values
-
cacheManager
protected final ICacheManager cacheManager
-
threadContext
protected final IThreadContext threadContext
-
lockManager
protected final ILockManager lockManager
-
mappingsLock
protected static final java.lang.String mappingsLock
- See Also:
- Constant Field Values
-
FETCH_MAX
protected static final int FETCH_MAX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MappingConnectionManager
public MappingConnectionManager(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 interfaceIMappingConnectionManager
- Throws:
ManifoldCFException
-
deinstall
public void deinstall() throws ManifoldCFException
Uninstall the manager.- Specified by:
deinstall
in interfaceIMappingConnectionManager
- Throws:
ManifoldCFException
-
exportConfiguration
public void exportConfiguration(java.io.OutputStream os) throws java.io.IOException, ManifoldCFException
Export configuration- Specified by:
exportConfiguration
in interfaceIMappingConnectionManager
- Throws:
java.io.IOException
ManifoldCFException
-
importConfiguration
public void importConfiguration(java.io.InputStream is) throws java.io.IOException, ManifoldCFException
Import configuration- Specified by:
importConfiguration
in interfaceIMappingConnectionManager
- Throws:
java.io.IOException
ManifoldCFException
-
getAllNonLoopingConnections
public IMappingConnection[] getAllNonLoopingConnections(java.lang.String startingConnectionName) throws ManifoldCFException
Obtain a list of the mapping connections, ordered by name, excluding those that would form a prerequisite loop if chosen.- Specified by:
getAllNonLoopingConnections
in interfaceIMappingConnectionManager
- Parameters:
startingConnectionName
- is the name of the connection we would be starting with. Pass null for all connections.- Returns:
- an array of connection objects.
- Throws:
ManifoldCFException
-
getAllConnections
public IMappingConnection[] getAllConnections() throws ManifoldCFException
Obtain a list of the repository connections, ordered by name.- Specified by:
getAllConnections
in interfaceIMappingConnectionManager
- Returns:
- an array of connection objects.
- Throws:
ManifoldCFException
-
load
public IMappingConnection load(java.lang.String name) throws ManifoldCFException
Load a mapping connection by name.- Specified by:
load
in interfaceIMappingConnectionManager
- Parameters:
name
- is the name of the mapping connection.- Returns:
- the loaded connection object, or null if not found.
- Throws:
ManifoldCFException
-
loadMultiple
public IMappingConnection[] loadMultiple(java.lang.String[] names) throws ManifoldCFException
Load multiple mapping connections by name.- Specified by:
loadMultiple
in interfaceIMappingConnectionManager
- Parameters:
names
- are the names to load.- Returns:
- the loaded connection objects.
- Throws:
ManifoldCFException
-
loadMultipleInternal
protected int loadMultipleInternal(IMappingConnection[] rval, int outputIndex, java.lang.String[] fetchNames, int inputIndex, int length) throws ManifoldCFException
- Throws:
ManifoldCFException
-
create
public IMappingConnection create() throws ManifoldCFException
Create a new repository connection object.- Specified by:
create
in interfaceIMappingConnectionManager
- Returns:
- the new object.
- Throws:
ManifoldCFException
-
save
public boolean save(IMappingConnection object) throws ManifoldCFException
Save a mapping connection object.- Specified by:
save
in interfaceIMappingConnectionManager
- Parameters:
object
- is the object to save.- Returns:
- true if the object is created, false otherwise.
- Throws:
ManifoldCFException
-
delete
public void delete(java.lang.String name) throws ManifoldCFException
Delete an authority connection.- Specified by:
delete
in interfaceIMappingConnectionManager
- Parameters:
name
- is the name of the connection to delete. If the name does not exist, no error is returned.- Throws:
ManifoldCFException
-
getMappingNameColumn
public java.lang.String getMappingNameColumn()
Get the mapping connection name column.- Specified by:
getMappingNameColumn
in interfaceIMappingConnectionManager
- Returns:
- the name column.
-
isReferenced
protected boolean isReferenced(java.lang.String mappingName) throws ManifoldCFException
Return true if the specified mapping name is referenced.- Parameters:
mappingName
- is the mapping name.- Returns:
- true if referenced, false otherwise.
- Throws:
ManifoldCFException
-
getMappingConnectionsKey
protected static java.lang.String getMappingConnectionsKey()
Construct a key which represents the general list of mapping connectors.- Returns:
- the cache key.
-
getMappingConnectionKey
protected static java.lang.String getMappingConnectionKey(java.lang.String connectionName)
Construct a key which represents an individual mapping connection.- Parameters:
connectionName
- is the name of the connector.- Returns:
- the cache key.
-
getMappingConnectionsMultiple
protected MappingConnection[] getMappingConnectionsMultiple(java.lang.String[] connectionNames) throws ManifoldCFException
Fetch multiple mapping connections at a single time.- Parameters:
connectionNames
- are a list of connection names.- Returns:
- the corresponding mapping connection objects.
- Throws:
ManifoldCFException
-
maxClauseGetMappingConnectionsChunk
protected int maxClauseGetMappingConnectionsChunk()
Find the maximum number of clauses for getMappingConnectionsChunk.
-
getMappingConnectionsChunk
protected void getMappingConnectionsChunk(MappingConnection[] rval, java.util.Map returnIndex, java.util.ArrayList params) throws ManifoldCFException
Read a chunk of mapping 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.params
- is the set of parameters.- Throws:
ManifoldCFException
-
-