<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Retrieve Attachments from Java Class in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235409#M188539</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are using Enterprise Activiti 1.5, in the final step of our review process we have to call external system REST service to send them all the approved documents that are attached to our process. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to implement this in service task, can anyone please give me details how I can get the list of documents that are attached to the process and get their content.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Ramesh&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 Sep 2016 18:47:38 GMT</pubDate>
    <dc:creator>eramesh</dc:creator>
    <dc:date>2016-09-20T18:47:38Z</dc:date>
    <item>
      <title>Retrieve Attachments from Java Class</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235409#M188539</link>
      <description>Hi,We are using Enterprise Activiti 1.5, in the final step of our review process we have to call external system REST service to send them all the approved documents that are attached to our process. I'm trying to implement this in service task, can anyone please give me details how I can get the li</description>
      <pubDate>Tue, 20 Sep 2016 18:47:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235409#M188539</guid>
      <dc:creator>eramesh</dc:creator>
      <dc:date>2016-09-20T18:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieve Attachments from Java Class</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235410#M188540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Ramesh,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had the exact same requirement in one of my projects and I ended up doing this in a service task at the very of my process flow. Please find below the Java Delegate which I used to solve this requirement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.io.InputStream;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.util.ArrayList;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.util.List;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.BpmnError;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.DelegateExecution;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.JavaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.apache.commons.io.IOUtils;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.apache.http.HttpEntity;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.apache.http.entity.ContentType;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.apache.http.entity.mime.MultipartEntityBuilder;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.slf4j.Logger;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.slf4j.LoggerFactory;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.springframework.beans.factory.annotation.Autowired;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.springframework.data.domain.Page;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.springframework.stereotype.Component;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.activiti.domain.runtime.RelatedContent;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.activiti.service.runtime.RelatedContentService;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.activiti.service.runtime.RelatedContentStreamProvider;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@Component("backupAllDocumentsJavaDelegate")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class BackupAllDocumentsJavaDelegate implements JavaDelegate {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static final Logger log = LoggerFactory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .getLogger(BackupAllDocumentsJavaDelegate.class);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Autowired&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private RelatedContentService relatedContentService;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Autowired&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private RelatedContentStreamProvider relatedContentStreamProvider;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; //back up all documents in the process&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public void execute(DelegateExecution execution) throws BpmnError {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; List&amp;lt;RelatedContent&amp;gt; relatedContent = new ArrayList&amp;lt;RelatedContent&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Page&amp;lt;RelatedContent&amp;gt; page = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; int pageNumber = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; try {&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; while ((page == null) || (page.hasNext())) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; page = relatedContentService&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .getAllFieldContentForProcessInstance(&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; execution.getProcessInstanceId(), 50,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageNumber);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; relatedContent.addAll(page.getContent());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageNumber++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; for (RelatedContent rc : relatedContent) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream inputStream = relatedContentStreamProvider&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .getContentStream(rc);&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] streamByteArray = IOUtils.toByteArray(inputStream);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MultipartEntityBuilder builder = MultipartEntityBuilder.create();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.addBinaryBody("file", streamByteArray,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContentType.APPLICATION_OCTET_STREAM, rc.getName());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String fileName = rc.getName();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.addTextBody("filename", fileName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpEntity multipart = builder.build();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Logic to invoke your external REST API can be added here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; } catch (Exception e) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; log.error(e.getMessage(), e);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; } &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 23 Oct 2016 07:37:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235410#M188540</guid>
      <dc:creator>cjose</dc:creator>
      <dc:date>2016-10-23T07:37:55Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieve Attachments from Java Class</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235411#M188541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you very much Ciju!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It worked great! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for posting the code!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 23 Oct 2016 23:23:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235411#M188541</guid>
      <dc:creator>eramesh</dc:creator>
      <dc:date>2016-10-23T23:23:47Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieve Attachments from Java Class</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235412#M188542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Oct 2016 05:19:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235412#M188542</guid>
      <dc:creator>cjose</dc:creator>
      <dc:date>2016-10-24T05:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieve Attachments from Java Class</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235413#M188543</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ciju,&lt;/P&gt;&lt;P&gt;i am using the same code in custom task listener in delegate task. but not able to get the content, throwing null pointer when invoking the relatedcontentservice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Oct 2018 07:26:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/retrieve-attachments-from-java-class/m-p/235413#M188543</guid>
      <dc:creator>bharathisathya</dc:creator>
      <dc:date>2018-10-09T07:26:56Z</dc:date>
    </item>
  </channel>
</rss>

