Class ZipDownloadExporter

  • All Implemented Interfaces:
    Exporter

    public class ZipDownloadExporter
    extends Object
    Handler for exporting node content to a ZIP file
    Author:
    Alex Miller
    • Field Detail

      • zipStream

        protected org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream zipStream
    • Constructor Detail

      • ZipDownloadExporter

        public ZipDownloadExporter​(File zipFile,
                                   CheckOutCheckInService checkOutCheckInService,
                                   NodeService nodeService,
                                   RetryingTransactionHelper transactionHelper,
                                   DownloadStatusUpdateService updateService,
                                   DownloadStorage downloadStorage,
                                   DictionaryService dictionaryService,
                                   NodeRef downloadNodeRef,
                                   long total,
                                   long totalFileCount)
        Construct
        Parameters:
        zipFile - File
        checkOutCheckInService - CheckOutCheckInService
        nodeService - NodeService
        transactionHelper - RetryingTransactionHelper
        updateService - DownloadStatusUpdateService
        downloadStorage - DownloadStorage
        dictionaryService - DictionaryService
        downloadNodeRef - NodeRef
        total - long
        totalFileCount - long
    • Method Detail

      • startNode

        public void startNode​(NodeRef nodeRef)
        Description copied from interface: Exporter
        Start export of node
        Specified by:
        startNode in interface Exporter
        Parameters:
        nodeRef - the node reference
      • contentImpl

        public void contentImpl​(NodeRef nodeRef,
                                QName property,
                                InputStream content,
                                ContentData contentData,
                                int index)
        Template method for actually dealing with the content. Called by the content method, after filtering for working copies.
      • endNode

        public void endNode​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of node
        Specified by:
        endNode in interface Exporter
        Parameters:
        nodeRef - the node reference
      • end

        public void end()
        Description copied from interface: Exporter
        End export
        Specified by:
        end in interface Exporter
      • getNextSequenceNumber

        public int getNextSequenceNumber()
      • getDone

        public long getDone()
      • getTotal

        public long getTotal()
      • getFilesAdded

        public long getFilesAdded()
      • getTotalFiles

        public long getTotalFiles()
      • startNamespace

        public void startNamespace​(String prefix,
                                   String uri)
        Description copied from interface: Exporter
        Start export of namespace
        Specified by:
        startNamespace in interface Exporter
        Parameters:
        prefix - namespace prefix
        uri - namespace uri
      • endNamespace

        public void endNamespace​(String prefix)
        Description copied from interface: Exporter
        End export of namespace
        Specified by:
        endNamespace in interface Exporter
        Parameters:
        prefix - namespace prefix
      • startReference

        public void startReference​(NodeRef nodeRef,
                                   QName childName)
        Description copied from interface: Exporter
        Start export of node reference
        Specified by:
        startReference in interface Exporter
        Parameters:
        nodeRef - the node reference
      • endReference

        public void endReference​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of node reference
        Specified by:
        endReference in interface Exporter
        Parameters:
        nodeRef - the node reference
      • startAspects

        public void startAspects​(NodeRef nodeRef)
        Description copied from interface: Exporter
        Start export of aspects
        Specified by:
        startAspects in interface Exporter
        Parameters:
        nodeRef - NodeRef
      • startAspect

        public void startAspect​(NodeRef nodeRef,
                                QName aspect)
        Description copied from interface: Exporter
        Start export of aspect
        Specified by:
        startAspect in interface Exporter
        Parameters:
        nodeRef - the node reference
        aspect - the aspect
      • endAspect

        public void endAspect​(NodeRef nodeRef,
                              QName aspect)
        Description copied from interface: Exporter
        End export of aspect
        Specified by:
        endAspect in interface Exporter
        Parameters:
        nodeRef - the node reference
        aspect - the aspect
      • endAspects

        public void endAspects​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of aspects
        Specified by:
        endAspects in interface Exporter
        Parameters:
        nodeRef - NodeRef
      • startACL

        public void startACL​(NodeRef nodeRef)
        Description copied from interface: Exporter
        Start export of ACL
        Specified by:
        startACL in interface Exporter
        Parameters:
        nodeRef - for node reference
      • permission

        public void permission​(NodeRef nodeRef,
                               AccessPermission permission)
        Description copied from interface: Exporter
        Export permission
        Specified by:
        permission in interface Exporter
        Parameters:
        nodeRef - for node reference
        permission - the permission
      • endACL

        public void endACL​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of ACL
        Specified by:
        endACL in interface Exporter
        Parameters:
        nodeRef - for node reference
      • startProperties

        public void startProperties​(NodeRef nodeRef)
        Description copied from interface: Exporter
        Start export of properties
        Specified by:
        startProperties in interface Exporter
        Parameters:
        nodeRef - the node reference
      • startProperty

        public void startProperty​(NodeRef nodeRef,
                                  QName property)
        Description copied from interface: Exporter
        Start export of property
        Specified by:
        startProperty in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
      • endProperty

        public void endProperty​(NodeRef nodeRef,
                                QName property)
        Description copied from interface: Exporter
        End export of property
        Specified by:
        endProperty in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
      • endProperties

        public void endProperties​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of properties
        Specified by:
        endProperties in interface Exporter
        Parameters:
        nodeRef - the node reference
      • startValueCollection

        public void startValueCollection​(NodeRef nodeRef,
                                         QName property)
        Description copied from interface: Exporter
        Export start of value collection
        Specified by:
        startValueCollection in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
      • startValueMLText

        public void startValueMLText​(NodeRef nodeRef,
                                     Locale locale,
                                     boolean isNull)
        Description copied from interface: Exporter
        Start export MLText
        Specified by:
        startValueMLText in interface Exporter
        Parameters:
        nodeRef - the node reference
        locale - Locale
        isNull - boolean
      • endValueMLText

        public void endValueMLText​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export MLText
        Specified by:
        endValueMLText in interface Exporter
        Parameters:
        nodeRef - NodeRef
      • value

        public void value​(NodeRef nodeRef,
                          QName property,
                          Object value,
                          int index)
        Description copied from interface: Exporter
        Export property value
        Specified by:
        value in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
        value - the value
        index - value index (or -1, if not part of multi-valued collection)
      • content

        public void content​(NodeRef nodeRef,
                            QName property,
                            InputStream content,
                            ContentData contentData,
                            int index)
        Description copied from interface: Exporter
        Export content stream property value
        Specified by:
        content in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
        content - the content stream
        contentData - content descriptor
        index - value index (or -1, if not part of multi-valued collection)
      • endValueCollection

        public void endValueCollection​(NodeRef nodeRef,
                                       QName property)
        Description copied from interface: Exporter
        Export end of value collection
        Specified by:
        endValueCollection in interface Exporter
        Parameters:
        nodeRef - the node reference
        property - the property name
      • startAssocs

        public void startAssocs​(NodeRef nodeRef)
        Description copied from interface: Exporter
        Start export of associations
        Specified by:
        startAssocs in interface Exporter
        Parameters:
        nodeRef - NodeRef
      • startAssoc

        public void startAssoc​(NodeRef nodeRef,
                               QName assoc)
        Description copied from interface: Exporter
        Start export of association
        Specified by:
        startAssoc in interface Exporter
        Parameters:
        nodeRef - the node reference
        assoc - the association name
      • endAssoc

        public void endAssoc​(NodeRef nodeRef,
                             QName assoc)
        Description copied from interface: Exporter
        End export of association
        Specified by:
        endAssoc in interface Exporter
        Parameters:
        nodeRef - the node reference
        assoc - the association name
      • endAssocs

        public void endAssocs​(NodeRef nodeRef)
        Description copied from interface: Exporter
        End export of associations
        Specified by:
        endAssocs in interface Exporter
        Parameters:
        nodeRef - NodeRef
      • warning

        public void warning​(String warning)
        Description copied from interface: Exporter
        Export warning
        Specified by:
        warning in interface Exporter
        Parameters:
        warning - the warning message