Package fr.becpg.repo.download
Class BeCPGZipDownloadExporter
java.lang.Object
fr.becpg.repo.download.BaseExporter
fr.becpg.repo.download.BeCPGZipDownloadExporter
- All Implemented Interfaces:
org.alfresco.service.cmr.view.Exporter
Handler for exporting node content to a ZIP file
- Version:
- $Id: $Id
- Author:
- Alex Miller
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate org.alfresco.service.cmr.dictionary.DictionaryServiceprivate longprivate org.alfresco.service.cmr.repository.NodeRefprivate org.alfresco.repo.download.DownloadStorageprivate EntityServiceprivate longprivate static org.slf4j.Loggerprivate OutputStreamprivate static final Stringprivate org.alfresco.service.cmr.security.PermissionServiceprivate intprivate Set<org.alfresco.service.cmr.repository.NodeRef>private longprivate longprivate org.alfresco.repo.transaction.RetryingTransactionHelperprivate org.alfresco.repo.download.DownloadStatusUpdateServiceprotected org.apache.commons.compress.archivers.zip.ZipArchiveOutputStreamFields inherited from class fr.becpg.repo.download.BaseExporter
nodeService -
Constructor Summary
ConstructorsConstructorDescriptionBeCPGZipDownloadExporter(org.alfresco.service.cmr.security.PermissionService permissionService, EntityService entityService, File zipFile, org.alfresco.service.cmr.coci.CheckOutCheckInService checkOutCheckInService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.repo.transaction.RetryingTransactionHelper transactionHelper, org.alfresco.repo.download.DownloadStatusUpdateService updateService, org.alfresco.repo.download.DownloadStorage downloadStorage, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeRef downloadNodeRef, long total, long totalFileCount) Construct -
Method Summary
Modifier and TypeMethodDescriptionprivate voidvoidcontentImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName property, InputStream content, org.alfresco.service.cmr.repository.ContentData contentData, int index) Template method for actually dealing with the content.protected org.alfresco.service.cmr.repository.NodeRefconvertVersionNodeRefToVersionedNodeRef(org.alfresco.service.cmr.repository.NodeRef versionNodeRef) convertVersionNodeRefToVersionedNodeRef.private voidcopyStream(OutputStream output, InputStream in) Copy input stream to output streamvoidend()voidendNode(org.alfresco.service.cmr.repository.NodeRef nodeRef) private org.alfresco.service.cmr.repository.NodeReffindMatchingChild(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.Path subPathToMatch) private org.alfresco.service.cmr.repository.NodeReffindMatchingSubPath(org.alfresco.service.cmr.repository.NodeRef searchParentRef, org.alfresco.service.cmr.repository.NodeRef originalRef, org.alfresco.service.cmr.repository.NodeRef originalParentRef) longgetDone()Getter for the fielddone.longgetFilesAdded.intgetNextSequenceNumber.private StringgetPath()longgetTotal()Getter for the fieldtotal.longgetTotalFiles.private booleanhasReadPermissionOnReference(org.alfresco.service.cmr.repository.NodeRef nodeRef) private booleanisVersionNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef) voidstart(org.alfresco.service.cmr.view.ExporterContext context) voidstartNode(org.alfresco.service.cmr.repository.NodeRef nodeRef) private voidMethods inherited from class fr.becpg.repo.download.BaseExporter
content, endACL, endAspect, endAspects, endAssoc, endAssocs, endNamespace, endProperties, endProperty, endReference, endValueCollection, endValueMLText, permission, startACL, startAspect, startAspects, startAssoc, startAssocs, startNamespace, startProperties, startProperty, startReference, startValueCollection, startValueMLText, value, warning
-
Field Details
-
log
private static org.slf4j.Logger log -
PATH_SEPARATOR
- See Also:
-
zipStream
protected org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream zipStream -
downloadNodeRef
private org.alfresco.service.cmr.repository.NodeRef downloadNodeRef -
sequenceNumber
private int sequenceNumber -
total
private long total -
done
private long done -
totalFileCount
private long totalFileCount -
filesAddedCount
private long filesAddedCount -
transactionHelper
private org.alfresco.repo.transaction.RetryingTransactionHelper transactionHelper -
downloadStorage
private org.alfresco.repo.download.DownloadStorage downloadStorage -
dictionaryService
private org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService -
updateService
private org.alfresco.repo.download.DownloadStatusUpdateService updateService -
entityService
-
permissionService
private org.alfresco.service.cmr.security.PermissionService permissionService -
path
-
currentName
-
outputStream
-
skippedNodeRefs
-
-
Constructor Details
-
BeCPGZipDownloadExporter
public BeCPGZipDownloadExporter(org.alfresco.service.cmr.security.PermissionService permissionService, EntityService entityService, File zipFile, org.alfresco.service.cmr.coci.CheckOutCheckInService checkOutCheckInService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.repo.transaction.RetryingTransactionHelper transactionHelper, org.alfresco.repo.download.DownloadStatusUpdateService updateService, org.alfresco.repo.download.DownloadStorage downloadStorage, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeRef downloadNodeRef, long total, long totalFileCount) Construct- Parameters:
zipFile- FilecheckOutCheckInService- CheckOutCheckInServicenodeService- NodeServicetransactionHelper- RetryingTransactionHelperupdateService- DownloadStatusUpdateServicedownloadStorage- DownloadStoragedictionaryService- DictionaryServicedownloadNodeRef- NodeReftotal- longtotalFileCount- longpermissionService- aPermissionServiceobjectentityService- aEntityServiceobject
-
-
Method Details
-
start
public void start(org.alfresco.service.cmr.view.ExporterContext context) - Specified by:
startin interfaceorg.alfresco.service.cmr.view.Exporter- Overrides:
startin classBaseExporter
-
startNode
public void startNode(org.alfresco.service.cmr.repository.NodeRef nodeRef) - Specified by:
startNodein interfaceorg.alfresco.service.cmr.view.Exporter- Overrides:
startNodein classBaseExporter
-
hasReadPermissionOnReference
private boolean hasReadPermissionOnReference(org.alfresco.service.cmr.repository.NodeRef nodeRef) -
findMatchingSubPath
private org.alfresco.service.cmr.repository.NodeRef findMatchingSubPath(org.alfresco.service.cmr.repository.NodeRef searchParentRef, org.alfresco.service.cmr.repository.NodeRef originalRef, org.alfresco.service.cmr.repository.NodeRef originalParentRef) -
findMatchingChild
private org.alfresco.service.cmr.repository.NodeRef findMatchingChild(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.Path subPathToMatch) -
isVersionNodeRef
private boolean isVersionNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef) -
convertVersionNodeRefToVersionedNodeRef
protected org.alfresco.service.cmr.repository.NodeRef convertVersionNodeRefToVersionedNodeRef(org.alfresco.service.cmr.repository.NodeRef versionNodeRef) convertVersionNodeRefToVersionedNodeRef.
- Parameters:
versionNodeRef- aNodeRefobject- Returns:
- a
NodeRefobject
-
contentImpl
public void contentImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName property, InputStream content, org.alfresco.service.cmr.repository.ContentData contentData, int index) Template method for actually dealing with the content. Called by the content method, after filtering for working copies.- Specified by:
contentImplin classBaseExporter- Parameters:
nodeRef- aNodeRefobjectproperty- aQNameobjectcontent- aInputStreamobjectcontentData- aContentDataobjectindex- a int
-
endNode
public void endNode(org.alfresco.service.cmr.repository.NodeRef nodeRef) - Specified by:
endNodein interfaceorg.alfresco.service.cmr.view.Exporter- Overrides:
endNodein classBaseExporter
-
end
public void end()- Specified by:
endin interfaceorg.alfresco.service.cmr.view.Exporter- Overrides:
endin classBaseExporter
-
getPath
-
copyStream
Copy input stream to output stream- Parameters:
output- output streamin- input stream- Throws:
IOException
-
checkCancelled
private void checkCancelled() -
updateStatus
private void updateStatus() -
getNextSequenceNumber
public int getNextSequenceNumber()getNextSequenceNumber.
- Returns:
- a int
-
getDone
public long getDone()Getter for the field
done.- Returns:
- a long
-
getTotal
public long getTotal()Getter for the field
total.- Returns:
- a long
-
getFilesAdded
public long getFilesAdded()getFilesAdded.
- Returns:
- a long
-
getTotalFiles
public long getTotalFiles()getTotalFiles.
- Returns:
- a long
-