<?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 Custom BpmnParseHandler to modify expressions in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/custom-bpmnparsehandler-to-modify-expressions/m-p/214155#M167285</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'm trying to find a way of modifying certain task expressions at deploy time. I figured I could define expressions with a custom syntax in my BPMN and then modify them at deploy time to "wrap" them in a proper expression. I guess it would be a kind of poor-man's way of making custom remote service calls.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example, I'd like to be able to transform this (representative syntax only):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;serviceTask expression="&lt;A href="http://endpoint" rel="nofollow noopener noreferrer"&gt;http://endpoint&lt;/A&gt;" /&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;into this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;serviceTask expression="${delegator.invoke('endpoint')}" /&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;where &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;delegator&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt; is a regular Spring bean.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to modify expressions with a custom &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;BpmnParseHandler&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;, but it didn't work. Here's the code I tried:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public static class CustomServiceTaskHandler extends AbstractBpmnParseHandler&amp;lt;ServiceTask&amp;gt; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected Class&amp;lt;? extends BaseElement&amp;gt; getHandledType() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ServiceTask.class;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void executeParse(BpmnParse bpmnParse, ServiceTask element) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; element.setImplementation("${nonexistentBeanName}");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect this to trigger an error at runtime, but the task expression doesn't actually seem to be really modified. The original, unmodified expression is still there in the deployed process. I suppose I'm either too late or too early in the parse process, or I completely got the wrong idea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a way I can get this to work? Or do you think there's an entirely different/better way I can implement this kind of thing? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A bit of background on my setup: I run an Activiti engine as a service, and my clients deploy their processes remotely from their own applications, implemented as microservices. I would like my clients to be able to specify REST URLs directly inside their expressions, as they cannot import Spring beans directly into my JVM.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 29 Nov 2015 00:44:50 GMT</pubDate>
    <dc:creator>jsalmon</dc:creator>
    <dc:date>2015-11-29T00:44:50Z</dc:date>
    <item>
      <title>Custom BpmnParseHandler to modify expressions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-bpmnparsehandler-to-modify-expressions/m-p/214155#M167285</link>
      <description>Hi,I'm trying to find a way of modifying certain task expressions at deploy time. I figured I could define expressions with a custom syntax in my BPMN and then modify them at deploy time to "wrap" them in a proper expression. I guess it would be a kind of poor-man's way of making custom remote servi</description>
      <pubDate>Sun, 29 Nov 2015 00:44:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-bpmnparsehandler-to-modify-expressions/m-p/214155#M167285</guid>
      <dc:creator>jsalmon</dc:creator>
      <dc:date>2015-11-29T00:44:50Z</dc:date>
    </item>
    <item>
      <title>Re: Custom BpmnParseHandler to modify expressions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-bpmnparsehandler-to-modify-expressions/m-p/214156#M167286</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;Did you configure the parse handler with a preBpmnParseHandlers or postBpmnParseHandlers property?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://activiti.org/userguide/index.html#_hooking_into_process_parsing" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#_hooking_into_process_parsing&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Nov 2015 07:33:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-bpmnparsehandler-to-modify-expressions/m-p/214156#M167286</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2015-11-30T07:33:33Z</dc:date>
    </item>
  </channel>
</rss>

