Class StreamACP

  • All Implemented Interfaces:
    org.springframework.extensions.webscripts.WebScript

    public class StreamACP
    extends StreamContent
    Base class for Java backed webscripts that wish to generate an ACP and stream the contents back to the caller.

    The default implementation generates an ACP file containing the provided NodeRefs and all their respective children.

    Author:
    Gavin Cornwell
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.springframework.extensions.webscripts.AbstractWebScript

        org.springframework.extensions.webscripts.AbstractWebScript.ScriptDetails
    • Constructor Summary

      Constructors 
      Constructor Description
      StreamACP()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.io.File createACP​(org.alfresco.service.cmr.view.ExporterCrawlerParameters params, java.lang.String extension, boolean keepFolderStructure)
      Returns an ACP file containing the nodes represented by the given list of NodeRefs.
      void execute​(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.WebScriptResponse res)  
      protected org.alfresco.service.cmr.repository.NodeRef[] getNodeRefs​(java.lang.String nodeRefsParam)
      Converts the given comma delimited string of NodeRefs to an array of NodeRefs.
      protected org.alfresco.service.cmr.repository.NodeRef[] getNodeRefs​(org.json.JSONObject json)
      Attempts to retrieve and convert a JSON array of NodeRefs from the given JSON object.
      void setExporterService​(org.alfresco.service.cmr.view.ExporterService exporterService)
      Sets the ExporterService to use
      • Methods inherited from class org.springframework.extensions.webscripts.AbstractWebScript

        addModuleBundleToCache, checkModuleBundleCache, createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, setURLModelFactory, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • TEMP_FILE_PREFIX

        protected static final java.lang.String TEMP_FILE_PREFIX
        See Also:
        Constant Field Values
      • MULTIPART_FORMDATA

        protected static final java.lang.String MULTIPART_FORMDATA
        See Also:
        Constant Field Values
      • PARAM_NODE_REFS

        protected static final java.lang.String PARAM_NODE_REFS
        See Also:
        Constant Field Values
      • exporterService

        protected org.alfresco.service.cmr.view.ExporterService exporterService
    • Constructor Detail

      • StreamACP

        public StreamACP()
    • Method Detail

      • setExporterService

        public void setExporterService​(org.alfresco.service.cmr.view.ExporterService exporterService)
        Sets the ExporterService to use
        Parameters:
        exporterService - The ExporterService
      • execute

        public void execute​(org.springframework.extensions.webscripts.WebScriptRequest req,
                            org.springframework.extensions.webscripts.WebScriptResponse res)
                     throws java.io.IOException
        Specified by:
        execute in interface org.springframework.extensions.webscripts.WebScript
        Overrides:
        execute in class StreamContent
        Throws:
        java.io.IOException
        See Also:
        WebScript.execute(org.springframework.extensions.webscripts.WebScriptRequest, org.springframework.extensions.webscripts.WebScriptResponse)
      • getNodeRefs

        protected org.alfresco.service.cmr.repository.NodeRef[] getNodeRefs​(java.lang.String nodeRefsParam)
        Converts the given comma delimited string of NodeRefs to an array of NodeRefs. If the string is null a WebScriptException is thrown.
        Parameters:
        nodeRefsParam - Comma delimited string of NodeRefs
        Returns:
        Array of NodeRef objects
      • getNodeRefs

        protected org.alfresco.service.cmr.repository.NodeRef[] getNodeRefs​(org.json.JSONObject json)
                                                                     throws org.json.JSONException
        Attempts to retrieve and convert a JSON array of NodeRefs from the given JSON object. If the nodeRefs property is not present a WebScriptException is thrown.
        Parameters:
        json - JSONObject
        Returns:
        Array of NodeRef objects
        Throws:
        org.json.JSONException
      • createACP

        protected java.io.File createACP​(org.alfresco.service.cmr.view.ExporterCrawlerParameters params,
                                         java.lang.String extension,
                                         boolean keepFolderStructure)
        Returns an ACP file containing the nodes represented by the given list of NodeRefs.
        Parameters:
        params - The parameters for the ACP exporter
        extension - The file extenstion to use for the ACP file
        keepFolderStructure - Determines whether the folder structure is maintained for the content inside the ACP file
        Returns:
        File object representing the created ACP