Class AmazonS3Connector
- java.lang.Object
-
- org.apache.manifoldcf.core.connector.BaseConnector
-
- org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
-
- org.apache.manifoldcf.crawler.connectors.amazons3.AmazonS3Connector
-
- All Implemented Interfaces:
org.apache.manifoldcf.core.interfaces.IConnector
,org.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
public class AmazonS3Connector extends org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Author:
- Kuhajeyan
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AmazonS3Connector.CheckThread
protected static class
AmazonS3Connector.GetSeedsThread
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ACTIVITY_READ
protected com.amazonaws.services.s3.AmazonS3
amazonS3
protected java.lang.String
amazons3AwsAccessKey
protected java.lang.String
amazons3AwsSecretKey
protected java.lang.String
amazons3ProxyDomain
protected java.lang.String
amazons3ProxyHost
protected java.lang.String
amazons3ProxyPassword
protected java.lang.String
amazons3ProxyPort
protected java.lang.String
amazons3ProxyUserName
protected boolean
connected
protected long
lastSessionFetch
protected static long
timeToRelease
-
Fields inherited from class org.apache.manifoldcf.core.connector.BaseConnector
currentContext, params
-
Fields inherited from interface org.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
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 Summary
Constructors Constructor Description AmazonS3Connector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
addSeedDocuments(org.apache.manifoldcf.crawler.interfaces.ISeedingActivity activities, org.apache.manifoldcf.core.interfaces.Specification spec, java.lang.String lastSeedVersion, long seedTime, int jobMode)
java.lang.String
check()
void
connect(org.apache.manifoldcf.core.interfaces.ConfigParams configParams)
Connect method initializes the configparamsvoid
disconnect()
Close the connection.java.lang.String[]
getActivitiesList()
java.lang.String[]
getBinNames(java.lang.String documentIdentifier)
protected com.amazonaws.services.s3.AmazonS3
getClient()
Get the Amazons3 client, relevant access keys should have been posted alreadyint
getMaxDocumentRequest()
java.lang.String[]
getRelationshipTypes()
Return the list of relationship types that this connector recognizes.boolean
isConnected()
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)
void
outputSpecificationBody(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber, int actualSequenceNumber, java.lang.String tabName)
void
outputSpecificationHeader(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber, java.util.List<java.lang.String> tabsArray)
void
poll()
java.lang.String
processConfigurationPost(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters)
void
processDocuments(java.lang.String[] documentIdentifiers, org.apache.manifoldcf.crawler.interfaces.IExistingVersions statuses, org.apache.manifoldcf.core.interfaces.Specification spec, org.apache.manifoldcf.crawler.interfaces.IProcessActivity activities, int jobMode, boolean usesDefaultAuthority)
java.lang.String
processSpecificationPost(org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber)
Process a specification post.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)
void
viewSpecification(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber)
-
Methods inherited from class org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
getConnectorModel, getFormCheckJavascriptMethodName, getFormPresaveCheckJavascriptMethodName, requestInfo
-
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
-
lastSessionFetch
protected long lastSessionFetch
-
timeToRelease
protected static final long timeToRelease
- See Also:
- Constant Field Values
-
amazonS3
protected com.amazonaws.services.s3.AmazonS3 amazonS3
-
connected
protected boolean connected
-
amazons3ProxyHost
protected java.lang.String amazons3ProxyHost
-
amazons3ProxyPort
protected java.lang.String amazons3ProxyPort
-
amazons3ProxyDomain
protected java.lang.String amazons3ProxyDomain
-
amazons3ProxyUserName
protected java.lang.String amazons3ProxyUserName
-
amazons3ProxyPassword
protected java.lang.String amazons3ProxyPassword
-
amazons3AwsAccessKey
protected java.lang.String amazons3AwsAccessKey
-
amazons3AwsSecretKey
protected java.lang.String amazons3AwsSecretKey
-
-
Method Detail
-
getActivitiesList
public java.lang.String[] getActivitiesList()
- Specified by:
getActivitiesList
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
getActivitiesList
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
-
getBinNames
public java.lang.String[] getBinNames(java.lang.String documentIdentifier)
- Specified by:
getBinNames
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
getBinNames
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
-
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)
Connect method initializes the configparams- Specified by:
connect
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
connect
in classorg.apache.manifoldcf.core.connector.BaseConnector
-
getClient
protected com.amazonaws.services.s3.AmazonS3 getClient() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
Get the Amazons3 client, relevant access keys should have been posted already- Returns:
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
check
public java.lang.String check() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
- Specified by:
check
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
check
in classorg.apache.manifoldcf.core.connector.BaseConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
isConnected
public boolean isConnected()
- Specified by:
isConnected
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
isConnected
in classorg.apache.manifoldcf.core.connector.BaseConnector
-
poll
public void poll() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
- 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
-
getMaxDocumentRequest
public int getMaxDocumentRequest()
- Specified by:
getMaxDocumentRequest
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
getMaxDocumentRequest
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
-
getRelationshipTypes
public java.lang.String[] getRelationshipTypes()
Return the list of relationship types that this connector recognizes.- Specified by:
getRelationshipTypes
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
getRelationshipTypes
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Returns:
- the list.
-
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
- Specified by:
viewConfiguration
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
viewConfiguration
in classorg.apache.manifoldcf.core.connector.BaseConnector
- 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
- Specified by:
outputConfigurationHeader
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
outputConfigurationHeader
in classorg.apache.manifoldcf.core.connector.BaseConnector
- 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, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
- Specified by:
processConfigurationPost
in interfaceorg.apache.manifoldcf.core.interfaces.IConnector
- Overrides:
processConfigurationPost
in classorg.apache.manifoldcf.core.connector.BaseConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
viewSpecification
public void viewSpecification(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOException
- Specified by:
viewSpecification
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
viewSpecification
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
java.io.IOException
-
processSpecificationPost
public java.lang.String processSpecificationPost(org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
Process a specification post. This method is called at the start of job's edit or view 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 document specification accordingly. The name of the posted form is always "editjob". The connector will be connected before this method can be called.- Specified by:
processSpecificationPost
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
processSpecificationPost
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Parameters:
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.- Returns:
- null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
outputSpecificationBody
public void outputSpecificationBody(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber, int actualSequenceNumber, java.lang.String tabName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOException
- Specified by:
outputSpecificationBody
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
outputSpecificationBody
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
java.io.IOException
-
outputSpecificationHeader
public void outputSpecificationHeader(org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.Specification ds, int connectionSequenceNumber, java.util.List<java.lang.String> tabsArray) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOException
- Specified by:
outputSpecificationHeader
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
outputSpecificationHeader
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
java.io.IOException
-
addSeedDocuments
public java.lang.String addSeedDocuments(org.apache.manifoldcf.crawler.interfaces.ISeedingActivity activities, org.apache.manifoldcf.core.interfaces.Specification spec, java.lang.String lastSeedVersion, long seedTime, int jobMode) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
- Specified by:
addSeedDocuments
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
addSeedDocuments
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
processDocuments
public void processDocuments(java.lang.String[] documentIdentifiers, org.apache.manifoldcf.crawler.interfaces.IExistingVersions statuses, org.apache.manifoldcf.core.interfaces.Specification spec, org.apache.manifoldcf.crawler.interfaces.IProcessActivity activities, int jobMode, boolean usesDefaultAuthority) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
- Specified by:
processDocuments
in interfaceorg.apache.manifoldcf.crawler.interfaces.IRepositoryConnector
- Overrides:
processDocuments
in classorg.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
-