public class DCTM extends BaseRepositoryConnector
Modifier and Type | Class and Description |
---|---|
protected class |
DCTM.BuildDateStringThread |
protected class |
DCTM.CheckConnectionThread |
protected class |
DCTM.DestroySessionThread |
protected class |
DCTM.GetChildFolderNamesThread |
protected class |
DCTM.GetDocumentsFromQueryThread |
protected class |
DCTM.GetListOfValuesThread |
protected class |
DCTM.GetSessionThread |
protected class |
DCTM.ProcessDocumentThread |
protected class |
DCTM.SpecInfo
This class digests specifications and allows easy access to the data within.
|
protected static class |
DCTM.StringQueue |
Modifier and Type | Field and Description |
---|---|
static String |
_rcsid |
static String |
ACTIVITY_FETCH |
static String |
CONFIG_PARAM_ATTRIBUTENAME |
static String |
CONFIG_PARAM_DOCBASE |
static String |
CONFIG_PARAM_DOMAIN |
static String |
CONFIG_PARAM_FILTER |
static String |
CONFIG_PARAM_FORMAT |
static String |
CONFIG_PARAM_LOCATION |
static String |
CONFIG_PARAM_MAXLENGTH |
static String |
CONFIG_PARAM_OBJECTTYPE |
static String |
CONFIG_PARAM_PASSWORD |
static String |
CONFIG_PARAM_PATHMAP |
static String |
CONFIG_PARAM_PATHNAMEATTRIBUTE |
static String |
CONFIG_PARAM_USERNAME |
static String |
CONFIG_PARAM_WEBTOPBASEURL |
protected String |
docbaseName |
protected String |
domain |
protected boolean |
hasSessionParameters |
protected long |
lastSessionFetch |
protected String |
password |
protected IDocumentum |
session |
protected static long |
timeToRelease |
protected String |
userName |
protected String |
webtopBaseURL |
currentContext, params
GLOBAL_DENY_TOKEN, JOBMODE_CONTINUOUS, JOBMODE_ONCEONLY, MODEL_ADD, MODEL_ADD_CHANGE, MODEL_ADD_CHANGE_DELETE, MODEL_ALL, MODEL_CHAINED_ADD, MODEL_CHAINED_ADD_CHANGE, MODEL_CHAINED_ADD_CHANGE_DELETE, MODEL_PARTIAL
Constructor and Description |
---|
DCTM()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
String |
addSeedDocuments(ISeedingActivity activities,
Specification spec,
String lastSeedVersion,
long seedTime,
int jobMode)
Queue "seed" documents.
|
protected String |
buildDateString(long timevalue)
Build date string with appropriate reset
|
String |
check()
Test the connection.
|
protected void |
checkConnection()
Check connection, with appropriate retries
|
void |
connect(ConfigParams configParams)
Connect.
|
protected static String[] |
convertToDCTMTypes(List<String> contentList)
Do a query and read back the name column
|
protected String |
convertToURI(String strObjectId,
String objectType)
Protected method for calculating the URI
|
void |
disconnect()
Disconnect from Documentum.
|
String[] |
getActivitiesList()
Return the list of activities that this connector supports (i.e.
|
protected List<String> |
getAttributesForType(String typeName) |
String[] |
getBinNames(String documentIdentifier)
Get the bin (so throttling makes sense).
|
String[] |
getChildFolderNames(String strTheParentFolderPath)
This method returns an ordered set of the "next things" given a folder path, for the UI to
use in constructing the starting folder for a job's document specification.
|
int |
getConnectorModel()
Let the crawler know the completeness of the information we are giving it.
|
String[] |
getContentTypes()
Documentum-specific method, for UI support.
|
String |
getFormCheckJavascriptMethodName(int connectionSequenceNumber)
Obtain the name of the form check javascript method to call.
|
String |
getFormPresaveCheckJavascriptMethodName(int connectionSequenceNumber)
Obtain the name of the form presave check javascript method to call.
|
String[] |
getIngestableAttributes(String docType)
Get the list of attributes for a given data type.
|
int |
getMaxDocumentRequest() |
String[] |
getObjectTypes()
Documentum-specific method, for UI support.
|
protected void |
getSession()
Get a DFC session.
|
protected void |
getSessionParameters()
Establish session parameters.
|
protected static void |
handleIOException(IOException e) |
boolean |
isConnected()
This method is called to assess whether to count this connector instance should
actually be counted as being connected.
|
void |
outputConfigurationBody(IThreadContext threadContext,
IHTTPOutput out,
Locale locale,
ConfigParams parameters,
String tabName)
Output the configuration body section.
|
void |
outputConfigurationHeader(IThreadContext threadContext,
IHTTPOutput out,
Locale locale,
ConfigParams parameters,
List<String> tabsArray)
Output the configuration header section.
|
void |
outputSpecificationBody(IHTTPOutput out,
Locale locale,
Specification ds,
int connectionSequenceNumber,
int actualSequenceNumber,
String tabName)
Output the specification body section.
|
void |
outputSpecificationHeader(IHTTPOutput out,
Locale locale,
Specification ds,
int connectionSequenceNumber,
List<String> tabsArray)
Output the specification header section.
|
void |
poll()
This method is periodically called for all connectors that are connected but not
in active use.
|
String |
processConfigurationPost(IThreadContext threadContext,
IPostParameters variableContext,
Locale locale,
ConfigParams parameters)
Process a configuration post.
|
void |
processDocuments(String[] documentIdentifiers,
IExistingVersions statuses,
Specification spec,
IProcessActivity activities,
int jobMode,
boolean usesDefaultAuthority)
Process a set of documents.
|
String |
processSpecificationPost(IPostParameters variableContext,
Locale locale,
Specification ds,
int connectionSequenceNumber)
Process a specification post.
|
protected static String |
quoteDQLString(String value) |
protected void |
releaseCheck()
Release the session, if it's time.
|
boolean |
requestInfo(Configuration output,
String command)
Request arbitrary connector information.
|
void |
viewConfiguration(IThreadContext threadContext,
IHTTPOutput out,
Locale locale,
ConfigParams parameters)
View configuration.
|
void |
viewSpecification(IHTTPOutput out,
Locale locale,
Specification ds,
int connectionSequenceNumber)
View specification.
|
addSeedDocuments, addSeedDocuments, addSeedDocuments, getDocumentIdentifiers, getDocumentIdentifiers, getDocumentVersions, getDocumentVersions, getDocumentVersions, getDocumentVersions, getDocumentVersions, getDocumentVersions, getDocumentVersions, getRelationshipTypes, getRemainingDocumentIdentifiers, outputSpecificationBody, outputSpecificationBody, outputSpecificationHeader, outputSpecificationHeader, outputSpecificationHeader, processDocuments, processDocuments, processDocuments, processDocuments, processSpecificationPost, processSpecificationPost, releaseDocumentVersions, releaseDocumentVersions, viewSpecification, viewSpecification
clearThreadContext, deinstall, getConfiguration, install, outputConfigurationBody, outputConfigurationHeader, outputConfigurationHeader, pack, packFixedList, packList, packList, processConfigurationPost, setThreadContext, unpack, unpackFixedList, unpackList, viewConfiguration
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearThreadContext, deinstall, getConfiguration, install, setThreadContext
public static final String _rcsid
public static String CONFIG_PARAM_DOCBASE
public static String CONFIG_PARAM_USERNAME
public static String CONFIG_PARAM_PASSWORD
public static String CONFIG_PARAM_WEBTOPBASEURL
public static String CONFIG_PARAM_DOMAIN
public static String CONFIG_PARAM_LOCATION
public static String CONFIG_PARAM_OBJECTTYPE
public static String CONFIG_PARAM_ATTRIBUTENAME
public static String CONFIG_PARAM_MAXLENGTH
public static String CONFIG_PARAM_FORMAT
public static String CONFIG_PARAM_PATHNAMEATTRIBUTE
public static String CONFIG_PARAM_PATHMAP
public static String CONFIG_PARAM_FILTER
public static final String ACTIVITY_FETCH
protected String docbaseName
protected String userName
protected String password
protected String domain
protected String webtopBaseURL
protected boolean hasSessionParameters
protected IDocumentum session
protected long lastSessionFetch
protected static final long timeToRelease
protected void getSessionParameters() throws ManifoldCFException
ManifoldCFException
protected void getSession() throws ManifoldCFException, ServiceInterruption
protected List<String> getAttributesForType(String typeName) throws DocumentumException, ManifoldCFException, ServiceInterruption
protected void checkConnection() throws DocumentumException, ManifoldCFException, ServiceInterruption
protected String buildDateString(long timevalue) throws DocumentumException, ManifoldCFException, ServiceInterruption
protected void releaseCheck() throws ManifoldCFException
ManifoldCFException
public int getConnectorModel()
getConnectorModel
in interface IRepositoryConnector
getConnectorModel
in class BaseRepositoryConnector
public String[] getActivitiesList()
getActivitiesList
in interface IRepositoryConnector
getActivitiesList
in class BaseRepositoryConnector
public String check() throws ManifoldCFException
check
in interface IConnector
check
in class BaseConnector
ManifoldCFException
public void connect(ConfigParams configParams)
connect
in interface IConnector
connect
in class BaseConnector
configParams
- are the configuration parameters for this connection.
Note well: There are no exceptions allowed from this call, since it is expected to mainly establish connection parameters.public void poll() throws ManifoldCFException
poll
in interface IConnector
poll
in class BaseConnector
ManifoldCFException
public boolean isConnected()
isConnected
in interface IConnector
isConnected
in class BaseConnector
public void disconnect() throws ManifoldCFException
disconnect
in interface IConnector
disconnect
in class BaseConnector
ManifoldCFException
protected String convertToURI(String strObjectId, String objectType) throws ManifoldCFException
ManifoldCFException
public String[] getBinNames(String documentIdentifier)
getBinNames
in interface IRepositoryConnector
getBinNames
in class BaseRepositoryConnector
public boolean requestInfo(Configuration output, String command) throws ManifoldCFException
requestInfo
in interface IRepositoryConnector
requestInfo
in class BaseRepositoryConnector
output
- is the response object, to be filled in by this method.command
- is the command, which is taken directly from the API request.ManifoldCFException
public String addSeedDocuments(ISeedingActivity activities, Specification spec, String lastSeedVersion, long seedTime, int jobMode) throws ManifoldCFException, ServiceInterruption
addSeedDocuments
in interface IRepositoryConnector
addSeedDocuments
in class BaseRepositoryConnector
activities
- is the interface this method should use to perform whatever framework actions are desired.spec
- is a document specification (that comes from the job).seedTime
- is the end of the time range of documents to consider, exclusive.lastSeedVersionString
- is the last seeding version string for this job, or null if the job has no previous seeding version string.jobMode
- is an integer describing how the job is being run, whether continuous or once-only.ManifoldCFException
ServiceInterruption
protected static String[] convertToDCTMTypes(List<String> contentList) throws ManifoldCFException, ServiceInterruption
public void processDocuments(String[] documentIdentifiers, IExistingVersions statuses, Specification spec, IProcessActivity activities, int jobMode, boolean usesDefaultAuthority) throws ManifoldCFException, ServiceInterruption
processDocuments
in interface IRepositoryConnector
processDocuments
in class BaseRepositoryConnector
documentIdentifiers
- is the set of document identifiers to process.statuses
- are the currently-stored document versions for each document in the set of document identifiers
passed in above.activities
- is the interface this method should use to queue up new document references
and ingest documents.jobMode
- is an integer describing how the job is being run, whether continuous or once-only.usesDefaultAuthority
- will be true only if the authority in use for these documents is the default one.ManifoldCFException
ServiceInterruption
protected static void handleIOException(IOException e) throws ManifoldCFException, ServiceInterruption
public int getMaxDocumentRequest()
getMaxDocumentRequest
in interface IRepositoryConnector
getMaxDocumentRequest
in class BaseRepositoryConnector
public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters, List<String> tabsArray) throws ManifoldCFException, IOException
outputConfigurationHeader
in interface IConnector
outputConfigurationHeader
in class BaseConnector
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.ManifoldCFException
IOException
public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters, String tabName) throws ManifoldCFException, IOException
outputConfigurationBody
in interface IConnector
outputConfigurationBody
in class BaseConnector
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.ManifoldCFException
IOException
public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, Locale locale, ConfigParams parameters) throws ManifoldCFException
processConfigurationPost
in interface IConnector
processConfigurationPost
in class BaseConnector
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.ManifoldCFException
public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, Locale locale, ConfigParams parameters) throws ManifoldCFException, IOException
viewConfiguration
in interface IConnector
viewConfiguration
in class BaseConnector
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.ManifoldCFException
IOException
public String getFormCheckJavascriptMethodName(int connectionSequenceNumber)
getFormCheckJavascriptMethodName
in interface IRepositoryConnector
getFormCheckJavascriptMethodName
in class BaseRepositoryConnector
connectionSequenceNumber
- is the unique number of this connection within the job.public String getFormPresaveCheckJavascriptMethodName(int connectionSequenceNumber)
getFormPresaveCheckJavascriptMethodName
in interface IRepositoryConnector
getFormPresaveCheckJavascriptMethodName
in class BaseRepositoryConnector
connectionSequenceNumber
- is the unique number of this connection within the job.public void outputSpecificationHeader(IHTTPOutput out, Locale locale, Specification ds, int connectionSequenceNumber, List<String> tabsArray) throws ManifoldCFException, IOException
outputSpecificationHeader
in interface IRepositoryConnector
outputSpecificationHeader
in class BaseRepositoryConnector
out
- is the output to which any HTML should be sent.locale
- is the locale the output is preferred to be in.ds
- is the current document specification for this job.connectionSequenceNumber
- is the unique number of this connection within the job.tabsArray
- is an array of tab names. Add to this array any tab names that are specific to the connector.ManifoldCFException
IOException
public void outputSpecificationBody(IHTTPOutput out, Locale locale, Specification ds, int connectionSequenceNumber, int actualSequenceNumber, String tabName) throws ManifoldCFException, IOException
outputSpecificationBody
in interface IRepositoryConnector
outputSpecificationBody
in class BaseRepositoryConnector
out
- is the output to which any HTML should be sent.locale
- is the locale the output is preferred to be in.ds
- is the current document specification for this job.connectionSequenceNumber
- is the unique number of this connection within the job.actualSequenceNumber
- is the connection within the job that has currently been selected.tabName
- is the current tab name. (actualSequenceNumber, tabName) form a unique tuple within
the job.ManifoldCFException
IOException
public String processSpecificationPost(IPostParameters variableContext, Locale locale, Specification ds, int connectionSequenceNumber) throws ManifoldCFException
processSpecificationPost
in interface IRepositoryConnector
processSpecificationPost
in class BaseRepositoryConnector
variableContext
- contains the post data, including binary file-upload information.locale
- is the locale the output is preferred to be in.ds
- is the current document specification for this job.connectionSequenceNumber
- is the unique number of this connection within the job.ManifoldCFException
public void viewSpecification(IHTTPOutput out, Locale locale, Specification ds, int connectionSequenceNumber) throws ManifoldCFException, IOException
viewSpecification
in interface IRepositoryConnector
viewSpecification
in class BaseRepositoryConnector
out
- is the output to which any HTML should be sent.locale
- is the locale the output is preferred to be in.ds
- is the current document specification for this job.connectionSequenceNumber
- is the unique number of this connection within the job.ManifoldCFException
IOException
public String[] getContentTypes() throws ManifoldCFException, ServiceInterruption
public String[] getObjectTypes() throws ManifoldCFException, ServiceInterruption
public String[] getChildFolderNames(String strTheParentFolderPath) throws ManifoldCFException, ServiceInterruption
public String[] getIngestableAttributes(String docType) throws ManifoldCFException, ServiceInterruption
docType
- is the document type (e.g. "dm_document") for which the attributes are requested.ManifoldCFException
ServiceInterruption