public class ContainerRecursiveProcessor<SKey extends Key> extends java.lang.Object implements ConnectorContainerHelper.ContainerConnectorTarget
Modifier and Type | Class and Description |
---|---|
protected class |
ContainerRecursiveProcessor.ContainerHelper
Our ConnectorContainerHelper version, allowing to handle filtering and
interactions between parent and child.
|
protected class |
ContainerRecursiveProcessor.ContainerPath
Overridden ConnectorContainerPath class for root stream.
|
Modifier and Type | Field and Description |
---|---|
protected GenericContainerMultiThreadedConnector<SKey> |
connector |
protected MIMEFilter |
containerFilter |
protected int |
containerTimeoutFetch |
protected int |
containerTimeoutProcess |
protected MIMEFilter |
cPathStopFilter |
long |
fetchSizeLimit |
protected ConnectorContainerHelper |
helper |
protected FileNameFilter |
itemFilenameFilter |
protected MIMEFilter |
itemFilter |
protected com.exalead.papi.framework.operations.container.ContainerMainPartFilters |
mainPartFilters |
protected long |
maxInputSize |
Constructor and Description |
---|
ContainerRecursiveProcessor(GenericContainerMultiThreadedConnector<SKey> connector)
Build a new ContainerRecursiveProcessor class.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addDocument(Document document) |
Document |
buildDocument(java.lang.String uri,
java.lang.String stamp,
PartContainer partContainer,
MetaContainer metaContainer)
Build a Document.
|
void |
checkAbortingOperation()
Check the current connector status and, if an aborting command was
sent, throws an ConnectorAbortingException exception.
|
Document |
fetch(SKey rootKey,
java.lang.String uri)
Fetch a container item.
|
Document |
fetch(java.lang.String uri,
java.lang.String[] securityTokens,
boolean shouldCheckSecurityTokens)
Fetch a document.
|
Document |
fetchInternal(java.lang.String uri,
java.lang.String[] securityTokens,
boolean shouldCheckSecurityTokens)
Fetch a document.
|
static java.util.Map<java.lang.String,java.lang.String> |
getConnectorMetas()
Get connector-specific metadata
|
MetaContainer |
getDocumentSecurityTokens(java.lang.String uri)
Get security tokens.
|
MetaContainer |
getDocumentSecurityTokensInternal(java.lang.String uri)
Get security tokens.
|
org.apache.log4j.Logger |
getLogger()
Get logger.
|
protected ConnectorRootStream |
getRootItem(SKey key) |
protected ConnectorRootStream |
getRootItem(SKey key,
boolean checkSize) |
protected ConnectorRootStream |
getRootItem(SKey key,
java.lang.String uri) |
protected void |
log(org.apache.log4j.Level level,
java.lang.String msg) |
protected void |
log(org.apache.log4j.Level level,
java.lang.String msg,
java.lang.Throwable thrown) |
void |
onScanAborted()
Called by the framework when scan abort is requested.
|
void |
onScanResumed()
Called by the framework when scan resume is requested.
|
void |
onScanSuspended()
Called by the framework when scan suspend is requested.
|
protected void |
process(PushAPI papi,
ConnectorRootStream co) |
void |
process(PushAPI papi,
SKey key)
Scan recursively a container (mono-threaded) by its key.
|
protected static void |
safeClose(java.io.Closeable obj)
Close a Closeable object, ignoring any IOException.
|
void |
scan(PushAPI papi,
java.lang.String scanMode,
java.lang.Object scanModeConfig)
Scan a connector.
|
void |
scanInternal(ConnectorContainerHelper.ContainerPushAPI papi,
java.lang.String scanMode,
java.lang.Object scanModeConfig)
Scan a connector.
|
void |
selfAbortScan(java.lang.String reason)
Stop current Synchronization
|
protected final ConnectorContainerHelper helper
protected GenericContainerMultiThreadedConnector<SKey extends Key> connector
protected MIMEFilter containerFilter
protected MIMEFilter cPathStopFilter
protected com.exalead.papi.framework.operations.container.ContainerMainPartFilters mainPartFilters
protected MIMEFilter itemFilter
protected FileNameFilter itemFilenameFilter
protected long maxInputSize
protected int containerTimeoutProcess
protected int containerTimeoutFetch
public long fetchSizeLimit
public ContainerRecursiveProcessor(GenericContainerMultiThreadedConnector<SKey> connector)
connector
- the upstream MultiThreadedConnector classpublic Document fetchInternal(java.lang.String uri, java.lang.String[] securityTokens, boolean shouldCheckSecurityTokens) throws java.lang.Exception
ConnectorContainerHelper.ContainerConnectorTarget
fetchInternal
in interface ConnectorContainerHelper.ContainerConnectorTarget
uri
- The document URI.securityTokens
- User security tokens.shouldCheckSecurityTokens
- Should secutiry tokens be checked ?java.lang.Exception
- upon error.public MetaContainer getDocumentSecurityTokensInternal(java.lang.String uri) throws java.io.IOException
ConnectorContainerHelper.ContainerConnectorTarget
getDocumentSecurityTokensInternal
in interface ConnectorContainerHelper.ContainerConnectorTarget
uri
- The document URI.java.io.IOException
public org.apache.log4j.Logger getLogger()
ConnectorContainerHelper.ContainerConnectorTarget
getLogger
in interface ConnectorContainerHelper.ContainerConnectorTarget
public void scanInternal(ConnectorContainerHelper.ContainerPushAPI papi, java.lang.String scanMode, java.lang.Object scanModeConfig) throws java.lang.Exception
ConnectorContainerHelper.ContainerConnectorTarget
scanInternal
in interface ConnectorContainerHelper.ContainerConnectorTarget
papi
- The PushAPI to be used to interact with the Push Server.scanMode
- The scan modescanModeConfig
- Scan mode configurationjava.lang.Exception
- Upon errorpublic void checkAbortingOperation() throws ConnectorAbortingException
ConnectorInterface
checkAbortingOperation
in interface ConnectorInterface
ConnectorAbortingException
public Document fetch(java.lang.String uri, java.lang.String[] securityTokens, boolean shouldCheckSecurityTokens) throws java.lang.Exception
ConnectorInterface
fetch
in interface ConnectorInterface
uri
- The document URI.securityTokens
- User security tokens.shouldCheckSecurityTokens
- Should security tokens be checked ?java.lang.Exception
- upon error.public MetaContainer getDocumentSecurityTokens(java.lang.String uri) throws java.io.IOException
ConnectorInterface
getDocumentSecurityTokens
in interface ConnectorInterface
uri
- The document URI.java.io.IOException
public void scan(PushAPI papi, java.lang.String scanMode, java.lang.Object scanModeConfig) throws java.lang.Exception
ConnectorInterface
scan
in interface ConnectorInterface
papi
- The PushAPI to be used to interact with the Push Server.scanMode
- The scan modescanModeConfig
- Scan mode configurationjava.lang.Exception
- Upon errorpublic void selfAbortScan(java.lang.String reason)
ConnectorInterface
selfAbortScan
in interface ConnectorInterface
reason
- the reason why the abort was issued ; may be nullprotected static void safeClose(java.io.Closeable obj)
public void process(PushAPI papi, SKey key)
key
- The connector's key to processpublic Document fetch(SKey rootKey, java.lang.String uri) throws java.lang.Exception
rootKey
- the root key of the top level physical containeruri
- the uri of the container item to be fetchedjava.lang.Exception
protected void process(PushAPI papi, ConnectorRootStream co) throws java.lang.Exception
java.lang.Exception
protected void addDocument(Document document) throws PushAPIException
PushAPIException
protected ConnectorRootStream getRootItem(SKey key, boolean checkSize) throws java.lang.Exception
java.lang.Exception
protected ConnectorRootStream getRootItem(SKey key) throws java.lang.Exception
java.lang.Exception
protected ConnectorRootStream getRootItem(SKey key, java.lang.String uri) throws java.lang.Exception
java.lang.Exception
public static java.util.Map<java.lang.String,java.lang.String> getConnectorMetas()
public Document buildDocument(java.lang.String uri, java.lang.String stamp, PartContainer partContainer, MetaContainer metaContainer) throws PushAPIException
ConnectorContainerHelper.ContainerConnectorTarget
buildDocument
in interface ConnectorContainerHelper.ContainerConnectorTarget
uri
- Document URIstamp
- Document stamppartContainer
- Document parts containermetaContainer
- Document meta containerPushAPIException
- Upon errorprotected void log(org.apache.log4j.Level level, java.lang.String msg)
protected void log(org.apache.log4j.Level level, java.lang.String msg, java.lang.Throwable thrown)
public void onScanAborted()
ConnectorInterface
onScanAborted
in interface ConnectorInterface
public void onScanSuspended() throws java.lang.Exception
ConnectorInterface
onScanSuspended
in interface ConnectorInterface
java.lang.Exception
public void onScanResumed() throws java.lang.Exception
ConnectorInterface
onScanResumed
in interface ConnectorInterface
java.lang.Exception
Copyright © 2013 Dassault Systèmes, All Rights Reserved.