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.BaseOutputConnector
This is the "output connector" for a CMIS-compliant repository.- Author:
- Piergiorgio Lucidi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
CmisOutputConnector.CheckConnectionThread
protected class
CmisOutputConnector.DestroySessionThread
protected class
CmisOutputConnector.GetSessionThread
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ACTIVITY_DELETE
Delete activityprotected static java.lang.String
ACTIVITY_INJECTION
Save activityprotected static java.lang.String
ACTIVITY_READ
protected java.lang.String
binding
protected java.lang.String
cmisQuery
Target folder for the drop zoneprotected java.lang.String
createTimestampTree
Flag for creating the new tree structure using timestampprotected org.apache.chemistry.opencmis.client.api.SessionFactory
factory
protected long
lastSessionFetch
protected java.util.Map<java.lang.String,java.lang.String>
parameters
protected org.apache.chemistry.opencmis.client.api.Folder
parentDropZoneFolder
protected java.lang.String
password
protected java.lang.String
path
Endpoint context path of the Alfresco webappprotected java.lang.String
port
Endpoint portprotected java.lang.String
protocol
Endpoint protocolprotected static java.lang.String
RELATIONSHIP_CHILD
protected java.lang.String
repositoryId
protected java.lang.String
server
Endpoint server nameprotected static long
timeToRelease
protected java.lang.String
username
protected org.apache.chemistry.opencmis.commons.enums.VersioningState
versioningState
Flag 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 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)
java.lang.String
check()
Test the connection.protected void
checkConnection()
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.void
disconnect()
Close the connection.java.lang.String[]
getActivitiesList()
Return the list of activities that this connector supports (i.e.protected void
getSession()
Set up a sessionprotected static void
handleIOException(java.io.IOException e, java.lang.String context)
boolean
isConnected()
This method is called to assess whether to count this connector instance should actually be counted as being connected.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)
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)
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(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 void
releaseCheck()
Release the session, if it's time.void
removeDocument(java.lang.String documentURI, java.lang.String outputDescription, org.apache.manifoldcf.agents.interfaces.IOutputRemoveActivity activities)
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)
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:
getActivitiesList
in interfaceorg.apache.manifoldcf.agents.interfaces.IOutputConnector
- Overrides:
getActivitiesList
in classorg.apache.manifoldcf.agents.output.BaseOutputConnector
- Returns:
- the list.
-
disconnect
public void disconnect() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
Close the connection. Call this before discarding the connection.- Specified by:
disconnect
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
disconnect
in 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:
connect
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
connect
in 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.ManifoldCFException
Test the connection. Returns a string describing the connection integrity.- Specified by:
check
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
check
in 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.ServiceInterruption
Set up a session- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
releaseCheck
protected void releaseCheck() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
Release 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.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
poll
public void poll() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
This method is periodically called for all connectors that are connected but not in active use.- Specified by:
poll
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
poll
in 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:
isConnected
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
isConnected
in 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.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 <html> and <body>tags.- Specified by:
viewConfiguration
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
viewConfiguration
in 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.ManifoldCFException
java.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.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 interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
outputConfigurationHeader
in 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.ManifoldCFException
java.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:
outputConfigurationBody
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
outputConfigurationBody
in classorg.apache.manifoldcf.core.connector.BaseConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
java.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.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".- Overrides:
processConfigurationPost
in 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.ManifoldCFException
org.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:
addOrReplaceDocumentWithException
in interfaceorg.apache.manifoldcf.agents.interfaces.IPipelineConnector
- Overrides:
addOrReplaceDocumentWithException
in classorg.apache.manifoldcf.agents.output.BaseOutputConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
java.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:
removeDocument
in interfaceorg.apache.manifoldcf.agents.interfaces.IOutputConnector
- Overrides:
removeDocument
in classorg.apache.manifoldcf.agents.output.BaseOutputConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
-