Class CmisOutputConnector
- java.lang.Object
-
- org.apache.manifoldcf.core.connector.BaseConnector
-
- org.apache.manifoldcf.agents.output.BaseOutputConnector
-
- org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector
-
- All Implemented Interfaces:
org.apache.manifoldcf.agents.interfaces.IOutputConnector,org.apache.manifoldcf.agents.interfaces.IPipelineConnector,org.apache.manifoldcf.core.interfaces.IConnector
public class CmisOutputConnector extends org.apache.manifoldcf.agents.output.BaseOutputConnectorThis is the "output connector" for a CMIS-compliant repository.- Author:
- Piergiorgio Lucidi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classCmisOutputConnector.CheckConnectionThreadprotected classCmisOutputConnector.DestroySessionThreadprotected classCmisOutputConnector.GetSessionThread
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringACTIVITY_DELETEDelete activityprotected static java.lang.StringACTIVITY_INJECTIONSave activityprotected static java.lang.StringACTIVITY_READprotected java.lang.Stringbindingprotected java.lang.StringcmisQueryTarget folder for the drop zoneprotected java.lang.StringcreateTimestampTreeFlag for creating the new tree structure using timestampprotected org.apache.chemistry.opencmis.client.api.SessionFactoryfactoryprotected longlastSessionFetchprotected java.util.Map<java.lang.String,java.lang.String>parametersprotected org.apache.chemistry.opencmis.client.api.FolderparentDropZoneFolderprotected java.lang.Stringpasswordprotected java.lang.StringpathEndpoint context path of the Alfresco webappprotected java.lang.StringportEndpoint portprotected java.lang.StringprotocolEndpoint protocolprotected static java.lang.StringRELATIONSHIP_CHILDprotected java.lang.StringrepositoryIdprotected java.lang.StringserverEndpoint server nameprotected static longtimeToReleaseprotected java.lang.Stringusernameprotected org.apache.chemistry.opencmis.commons.enums.VersioningStateversioningStateFlag for creating the new tree structure using timestamp
-
Constructor Summary
Constructors Constructor Description CmisOutputConnector()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intaddOrReplaceDocumentWithException(java.lang.String documentURI, org.apache.manifoldcf.core.interfaces.VersionContext pipelineDescription, org.apache.manifoldcf.agents.interfaces.RepositoryDocument document, java.lang.String authorityNameString, org.apache.manifoldcf.agents.interfaces.IOutputAddActivity activities)java.lang.Stringcheck()Test the connection.protected voidcheckConnection()voidconnect(org.apache.manifoldcf.core.interfaces.ConfigParams configParams)This method create a new CMIS session for a CMIS repository, if the repositoryId is not provided in the configuration, the connector will retrieve all the repositories exposed for this endpoint the it will start to use the first one.voiddisconnect()Close the connection.java.lang.String[]getActivitiesList()Return the list of activities that this connector supports (i.e.protected voidgetSession()Set up a sessionprotected static voidhandleIOException(java.io.IOException e, java.lang.String context)booleanisConnected()This method is called to assess whether to count this connector instance should actually be counted as being connected.voidoutputConfigurationBody(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.lang.String tabName)voidoutputConfigurationHeader(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.util.List<java.lang.String> tabsArray)Output the configuration header section.voidpoll()This method is periodically called for all connectors that are connected but not in active use.java.lang.StringprocessConfigurationPost(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, org.apache.manifoldcf.core.interfaces.ConfigParams parameters)Process a configuration post.protected voidreleaseCheck()Release the session, if it's time.voidremoveDocument(java.lang.String documentURI, java.lang.String outputDescription, org.apache.manifoldcf.agents.interfaces.IOutputRemoveActivity activities)voidviewConfiguration(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters)View configuration.-
Methods inherited from class org.apache.manifoldcf.agents.output.BaseOutputConnector
checkDateIndexable, checkDocumentIndexable, checkLengthIndexable, checkMimeTypeIndexable, checkURLIndexable, getFormCheckJavascriptMethodName, getFormPresaveCheckJavascriptMethodName, getPipelineDescription, noteAllRecordsRemoved, noteJobComplete, outputSpecificationBody, outputSpecificationHeader, processSpecificationPost, requestInfo, viewSpecification
-
Methods inherited from class org.apache.manifoldcf.core.connector.BaseConnector
clearThreadContext, deinstall, getConfiguration, install, outputConfigurationBody, outputConfigurationHeader, outputConfigurationHeader, pack, packFixedList, packList, packList, processConfigurationPost, setThreadContext, unpack, unpackFixedList, unpackList, viewConfiguration
-
-
-
-
Field Detail
-
ACTIVITY_READ
protected static final java.lang.String ACTIVITY_READ
- See Also:
- Constant Field Values
-
RELATIONSHIP_CHILD
protected static final java.lang.String RELATIONSHIP_CHILD
- See Also:
- Constant Field Values
-
username
protected java.lang.String username
-
password
protected java.lang.String password
-
protocol
protected java.lang.String protocol
Endpoint protocol
-
server
protected java.lang.String server
Endpoint server name
-
port
protected java.lang.String port
Endpoint port
-
path
protected java.lang.String path
Endpoint context path of the Alfresco webapp
-
repositoryId
protected java.lang.String repositoryId
-
binding
protected java.lang.String binding
-
cmisQuery
protected java.lang.String cmisQuery
Target folder for the drop zone
-
createTimestampTree
protected java.lang.String createTimestampTree
Flag for creating the new tree structure using timestamp
-
versioningState
protected org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState
Flag for creating the new tree structure using timestamp
-
factory
protected org.apache.chemistry.opencmis.client.api.SessionFactory factory
-
parameters
protected java.util.Map<java.lang.String,java.lang.String> parameters
-
timeToRelease
protected static final long timeToRelease
- See Also:
- Constant Field Values
-
lastSessionFetch
protected long lastSessionFetch
-
parentDropZoneFolder
protected org.apache.chemistry.opencmis.client.api.Folder parentDropZoneFolder
-
ACTIVITY_INJECTION
protected static final java.lang.String ACTIVITY_INJECTION
Save activity- See Also:
- Constant Field Values
-
ACTIVITY_DELETE
protected static final java.lang.String ACTIVITY_DELETE
Delete activity- See Also:
- Constant Field Values
-
-
Method Detail
-
getActivitiesList
public java.lang.String[] getActivitiesList()
Return the list of activities that this connector supports (i.e. writes into the log).- Specified by:
getActivitiesListin interfaceorg.apache.manifoldcf.agents.interfaces.IOutputConnector- Overrides:
getActivitiesListin classorg.apache.manifoldcf.agents.output.BaseOutputConnector- Returns:
- the list.
-
disconnect
public void disconnect() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionClose the connection. Call this before discarding the connection.- Specified by:
disconnectin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
disconnectin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
connect
public void connect(org.apache.manifoldcf.core.interfaces.ConfigParams configParams)
This method create a new CMIS session for a CMIS repository, if the repositoryId is not provided in the configuration, the connector will retrieve all the repositories exposed for this endpoint the it will start to use the first one.- Specified by:
connectin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
connectin classorg.apache.manifoldcf.core.connector.BaseConnector- Parameters:
configParams- is the set of configuration parameters, which in this case describe the target appliance, basic auth configuration, etc. (This formerly came out of the ini file.)
-
check
public java.lang.String check() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionTest the connection. Returns a string describing the connection integrity.- Specified by:
checkin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
checkin classorg.apache.manifoldcf.core.connector.BaseConnector- Returns:
- the connection's status as a displayable string.
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getSession
protected void getSession() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruptionSet up a session- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
releaseCheck
protected void releaseCheck() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionRelease the session, if it's time.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
checkConnection
protected void checkConnection() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
poll
public void poll() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionThis method is periodically called for all connectors that are connected but not in active use.- Specified by:
pollin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
pollin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
isConnected
public boolean isConnected()
This method is called to assess whether to count this connector instance should actually be counted as being connected.- Specified by:
isConnectedin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
isConnectedin classorg.apache.manifoldcf.core.connector.BaseConnector- Returns:
- true if the connector instance is actually connected.
-
viewConfiguration
public void viewConfiguration(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOExceptionView 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 <html> and <body>tags.- Specified by:
viewConfigurationin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
viewConfigurationin classorg.apache.manifoldcf.core.connector.BaseConnector- 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:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
outputConfigurationHeader
public void outputConfigurationHeader(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.util.List<java.lang.String> tabsArray) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOExceptionOutput 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:
outputConfigurationHeaderin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
outputConfigurationHeaderin classorg.apache.manifoldcf.core.connector.BaseConnector- 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:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
outputConfigurationBody
public void outputConfigurationBody(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.lang.String tabName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOException- Specified by:
outputConfigurationBodyin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
outputConfigurationBodyin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
processConfigurationPost
public java.lang.String processConfigurationPost(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, org.apache.manifoldcf.core.interfaces.ConfigParams parameters) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionProcess 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".- Overrides:
processConfigurationPostin classorg.apache.manifoldcf.core.connector.BaseConnector- 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:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
handleIOException
protected static void handleIOException(java.io.IOException e, java.lang.String context) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
addOrReplaceDocumentWithException
public int addOrReplaceDocumentWithException(java.lang.String documentURI, org.apache.manifoldcf.core.interfaces.VersionContext pipelineDescription, org.apache.manifoldcf.agents.interfaces.RepositoryDocument document, java.lang.String authorityNameString, org.apache.manifoldcf.agents.interfaces.IOutputAddActivity activities) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption, java.io.IOException- Specified by:
addOrReplaceDocumentWithExceptionin interfaceorg.apache.manifoldcf.agents.interfaces.IPipelineConnector- Overrides:
addOrReplaceDocumentWithExceptionin classorg.apache.manifoldcf.agents.output.BaseOutputConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruptionjava.io.IOException
-
removeDocument
public void removeDocument(java.lang.String documentURI, java.lang.String outputDescription, org.apache.manifoldcf.agents.interfaces.IOutputRemoveActivity activities) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Specified by:
removeDocumentin interfaceorg.apache.manifoldcf.agents.interfaces.IOutputConnector- Overrides:
removeDocumentin classorg.apache.manifoldcf.agents.output.BaseOutputConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
-