Package org.alfresco.repo.transfer
Class AbstractManifestProcessorBase
- java.lang.Object
-
- org.alfresco.repo.transfer.AbstractManifestProcessorBase
-
- All Implemented Interfaces:
TransferManifestProcessor,TransferSummaryAware
- Direct Known Subclasses:
RepoPrimaryManifestProcessorImpl,RepoRequisiteManifestProcessorImpl,RepoSecondaryManifestProcessorImpl,RepoTertiaryManifestProcessorImpl
public abstract class AbstractManifestProcessorBase extends java.lang.Object implements TransferManifestProcessor, TransferSummaryAware
This abstract class handles the progress monitoring functionality as well as providing some utility methods for sub-classes.- Author:
- Brian
-
-
Constructor Summary
Constructors Constructor Description AbstractManifestProcessorBase(TransferReceiver receiver, java.lang.String transferId)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidendManifest()voidendTransferManifest()Signals the end of a transfer manifestprotected TransferReceivergetReceiver()protected java.io.FilegetStagingFolder()protected org.alfresco.service.cmr.repository.ChildAssociationRefgetTemporaryLocation(org.alfresco.service.cmr.repository.NodeRef nodeRef)Given the node ref, this method constructs the appropriate ChildAssociationRef that would place this node in the transfer's temporary folder.protected java.lang.StringgetTransferId()TransferSummaryReportgetTransferSummaryReport()protected voidlocalHandleException(TransferManifestNode node, java.lang.Throwable ex)This method is invoked if an exception or error occurs while processing the manifest.protected voidlogComment(java.lang.String message)protected voidlogCreated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, org.alfresco.service.cmr.repository.NodeRef newParentNode, java.lang.String parentPath, boolean orphan)protected voidlogDeleted(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String parentPath)protected voidlogInvasionHierarchy(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.cmr.repository.NodeService nodeService, org.apache.commons.logging.Log log)Puts information about currentchildRefand itsparentRefinto log in TRACE level.protected voidlogMoved(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String oldPath, org.alfresco.service.cmr.repository.NodeRef newParent, java.lang.String newPath)protected voidlogSummaryComment(java.lang.String message)protected voidlogSummaryCreated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, org.alfresco.service.cmr.repository.NodeRef newParentNode, java.lang.String parentPath, boolean orphan)protected voidlogSummaryDeleted(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String parentPath)protected voidlogSummaryMoved(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String oldPath, org.alfresco.service.cmr.repository.NodeRef newParent, java.lang.String newPath)protected voidlogSummaryUpdated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String newPath)protected voidlogUpdated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String newPath)protected abstract voidprocessHeader(TransferManifestHeader header)protected abstract voidprocessNode(TransferManifestDeletedNode node)protected abstract voidprocessNode(TransferManifestNormalNode node)voidprocessTransferManifestNode(TransferManifestDeletedNode node)Gives a deleted manifest node to be processedvoidprocessTransferManifestNode(TransferManifestNormalNode node)Gives a manifest node to be processedvoidprocessTransferManifiestHeader(TransferManifestHeader header)Gives the header to be proceessedvoidsetTransferSummaryReport(TransferSummaryReport transferSummaryReport)protected abstract voidstartManifest()voidstartTransferManifest()Signals the start of a transfer manifest
-
-
-
Constructor Detail
-
AbstractManifestProcessorBase
public AbstractManifestProcessorBase(TransferReceiver receiver, java.lang.String transferId)
-
-
Method Detail
-
endTransferManifest
public final void endTransferManifest()
Description copied from interface:TransferManifestProcessorSignals the end of a transfer manifest- Specified by:
endTransferManifestin interfaceTransferManifestProcessor
-
endManifest
protected abstract void endManifest()
-
processTransferManifestNode
public final void processTransferManifestNode(TransferManifestNormalNode node)
Description copied from interface:TransferManifestProcessorGives a manifest node to be processed- Specified by:
processTransferManifestNodein interfaceTransferManifestProcessor- Parameters:
node- the node
-
processNode
protected abstract void processNode(TransferManifestNormalNode node) throws TransferProcessingException
- Throws:
TransferProcessingException
-
processTransferManifestNode
public final void processTransferManifestNode(TransferManifestDeletedNode node)
Description copied from interface:TransferManifestProcessorGives a deleted manifest node to be processed- Specified by:
processTransferManifestNodein interfaceTransferManifestProcessor- Parameters:
node- the node
-
processNode
protected abstract void processNode(TransferManifestDeletedNode node) throws TransferProcessingException
- Throws:
TransferProcessingException
-
processTransferManifiestHeader
public final void processTransferManifiestHeader(TransferManifestHeader header)
Description copied from interface:TransferManifestProcessorGives the header to be proceessed- Specified by:
processTransferManifiestHeaderin interfaceTransferManifestProcessor- Parameters:
header- the header
-
processHeader
protected abstract void processHeader(TransferManifestHeader header)
-
startTransferManifest
public final void startTransferManifest()
Description copied from interface:TransferManifestProcessorSignals the start of a transfer manifest- Specified by:
startTransferManifestin interfaceTransferManifestProcessor
-
startManifest
protected abstract void startManifest()
-
getTemporaryLocation
protected org.alfresco.service.cmr.repository.ChildAssociationRef getTemporaryLocation(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Given the node ref, this method constructs the appropriate ChildAssociationRef that would place this node in the transfer's temporary folder. Useful when handling orphans.- Parameters:
nodeRef- NodeRef- Returns:
- ChildAssociationRef
-
getStagingFolder
protected java.io.File getStagingFolder()
-
getReceiver
protected TransferReceiver getReceiver()
-
getTransferId
protected java.lang.String getTransferId()
-
localHandleException
protected void localHandleException(TransferManifestNode node, java.lang.Throwable ex)
This method is invoked if an exception or error occurs while processing the manifest. By default it does nothing, but classes that extend this class can override this to provide custom clean-up.- Parameters:
node- TransferManifestNodeex- Throwable
-
logComment
protected void logComment(java.lang.String message)
-
logCreated
protected void logCreated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, org.alfresco.service.cmr.repository.NodeRef newParentNode, java.lang.String parentPath, boolean orphan)
-
logDeleted
protected void logDeleted(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String parentPath)
-
logUpdated
protected void logUpdated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String newPath)
-
logMoved
protected void logMoved(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String oldPath, org.alfresco.service.cmr.repository.NodeRef newParent, java.lang.String newPath)
-
logInvasionHierarchy
protected void logInvasionHierarchy(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.cmr.repository.NodeService nodeService, org.apache.commons.logging.Log log)Puts information about currentchildRefand itsparentRefinto log in TRACE level. Information includes 'name', 'fromRepositoryId', 'aliened' and 'invadedBy' properties. Additionally, collects the same information for children ofchildRef- Parameters:
parentRef- -NodeRefinstance of child nodechildRef- -NodeRefinstance of parent of thechildRefnodeService- -NodeServiceinstance to get properties and checking other stateslog- -Loginstance to put log for appropriate class
-
setTransferSummaryReport
public void setTransferSummaryReport(TransferSummaryReport transferSummaryReport)
-
getTransferSummaryReport
public TransferSummaryReport getTransferSummaryReport()
- Specified by:
getTransferSummaryReportin interfaceTransferSummaryAware
-
logSummaryComment
protected void logSummaryComment(java.lang.String message)
-
logSummaryCreated
protected void logSummaryCreated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, org.alfresco.service.cmr.repository.NodeRef newParentNode, java.lang.String parentPath, boolean orphan)
-
logSummaryDeleted
protected void logSummaryDeleted(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String parentPath)
-
logSummaryUpdated
protected void logSummaryUpdated(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String newPath)
-
logSummaryMoved
protected void logSummaryMoved(org.alfresco.service.cmr.repository.NodeRef sourceNode, org.alfresco.service.cmr.repository.NodeRef destNode, java.lang.String oldPath, org.alfresco.service.cmr.repository.NodeRef newParent, java.lang.String newPath)
-
-