<?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 Re: Distinguish deleted and finished processes in end listener in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176763#M129893</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Dimitris,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the response!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't mind another query and the first option seems the best.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not sure how can I get the completed/cancelled execution ID having access only to the DelegateExecution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this the way to do it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;private boolean isAborted(DelegateExecution context) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (context.getParentId() == null &amp;amp;&amp;amp; getParentExecutionId(context) == null);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String getParentExecutionId(DelegateExecution context) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String currentActivitiId = context.getCurrentActivityId();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return context.getEngineServices().getRuntimeService().createExecutionQuery()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .activityId(currentActivitiId).singleResult().getParentId();&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;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks &amp;amp; best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mincho&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EDIT:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;context.getEngineServices().getRuntimeService().createExecutionQuery()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .activityId(currentActivitiId).singleResult()&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This seems to return null.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you tell how should it be done?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Jan 2015 09:41:38 GMT</pubDate>
    <dc:creator>msvelev</dc:creator>
    <dc:date>2015-01-07T09:41:38Z</dc:date>
    <item>
      <title>Distinguish deleted and finished processes in end listener</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176761#M129891</link>
      <description>Hello community,I'm currently trying to implement a logic that understands if a process has been deleted from the runtime api or it has finished on its own.I'll be using this in an ExecutionListener which is triggered when a process ends.My current solution is to check:"End".equals(context.getCurren</description>
      <pubDate>Tue, 23 Dec 2014 10:29:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176761#M129891</guid>
      <dc:creator>msvelev</dc:creator>
      <dc:date>2014-12-23T10:29:14Z</dc:date>
    </item>
    <item>
      <title>Re: Distinguish deleted and finished processes in end listener</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176762#M129892</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;I believe that the state is not yet flushed to the db at that point so you can check if the completed/cancelled execution has both its parent id and super execution id set to null. Unfortunately, this would require an extra query (by pk though) to get the super execution id as it's not mapped to DelegateExecution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An alternative approach would be to use the event handlers (&lt;/SPAN&gt;&lt;A href="http://www.activiti.org/userguide/#eventDispatcher" rel="nofollow noopener noreferrer"&gt;http://www.activiti.org/userguide/#eventDispatcher&lt;/A&gt;&lt;SPAN&gt;) and &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the ACTIVITY_COMPLETED event type but still you 'll have to write filtering code inside the listener. Another alternative would be to implement a BpmnParseHandler to handle Process elements.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope that helps&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dimitris&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Dec 2014 06:58:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176762#M129892</guid>
      <dc:creator>mandas</dc:creator>
      <dc:date>2014-12-24T06:58:00Z</dc:date>
    </item>
    <item>
      <title>Re: Distinguish deleted and finished processes in end listener</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176763#M129893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Dimitris,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the response!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't mind another query and the first option seems the best.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not sure how can I get the completed/cancelled execution ID having access only to the DelegateExecution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this the way to do it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;private boolean isAborted(DelegateExecution context) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (context.getParentId() == null &amp;amp;&amp;amp; getParentExecutionId(context) == null);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String getParentExecutionId(DelegateExecution context) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String currentActivitiId = context.getCurrentActivityId();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return context.getEngineServices().getRuntimeService().createExecutionQuery()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .activityId(currentActivitiId).singleResult().getParentId();&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;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks &amp;amp; best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mincho&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EDIT:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;context.getEngineServices().getRuntimeService().createExecutionQuery()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .activityId(currentActivitiId).singleResult()&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This seems to return null.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you tell how should it be done?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jan 2015 09:41:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176763#M129893</guid>
      <dc:creator>msvelev</dc:creator>
      <dc:date>2015-01-07T09:41:38Z</dc:date>
    </item>
    <item>
      <title>Re: Distinguish deleted and finished processes in end listener</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176764#M129894</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well, it's been almost two weeks and I don't understand why I 've mentioned about the discrimination between top-level processes and subprocesses. It has nothing to do with your question, sorry for the inconvenience &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can go through event handlers and ActivitiEventType.PROCESS_COMPLETED and ActivitiEventType.PROCESS_CANCELLED.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dimitris&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jan 2015 10:02:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/distinguish-deleted-and-finished-processes-in-end-listener/m-p/176764#M129894</guid>
      <dc:creator>mandas</dc:creator>
      <dc:date>2015-01-07T10:02:00Z</dc:date>
    </item>
  </channel>
</rss>

