<?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 Property in JUEL Expression in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25176#M12415</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm creating a subprocess that accepts some parameters. One of the first steps in my subprocess is to check the presense of the paremeters.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If they are not present I'm ending the subprocess (the parent process will take over).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the xml:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;process id="resubmitOrder"&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exclusiveGateway id="checkParameters" name="checkParameters"/&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="resubmitFlow_1" sourceRef="startResubmitOrder" targetRef="checkParameters"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="resubmitFlow_2" sourceRef="checkParameters" targetRef="endResubmitOrder"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${orderId==null or subOrderId==null}&amp;lt;/conditionExpression&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="resubmitFlow_3" sourceRef="checkParameters" targetRef="correctOrder"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${orderId != null and subOrderId != null}&amp;lt;/conditionExpression&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="resubmitFlow_4" sourceRef="correctOrder" targetRef="endResubmitOrder"/&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endEvent id="endResubmitOrder" name="endResubmitOrder" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/process&amp;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;/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;SPAN&gt;When running this code in a unit test, I get the exception &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;org.activiti.engine.ActivitiException: Unknown property used in expression&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:46)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.el.UelExpressionCondition.evaluate(UelExpressionCondition.java:36)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.ExclusiveGatewayActivityBehavior.leave(ExclusiveGatewayActivityBehavior.java:62)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'orderId'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could also use a servicetask to check on the parameters … But then I have to put the code in a Java class. Just wanted to configure it in xml.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is that possible ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could do this justing JSTL (which is nullpointer friendly).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tom.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Mar 2011 10:30:13 GMT</pubDate>
    <dc:creator>stroobat</dc:creator>
    <dc:date>2011-03-02T10:30:13Z</dc:date>
    <item>
      <title>Property in JUEL Expression</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25176#M12415</link>
      <description>I'm creating a subprocess that accepts some parameters. One of the first steps in my subprocess is to check the presense of the paremeters.If they are not present I'm ending the subprocess (the parent process will take over).Here is the xml:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;process id="resubmitOrder"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exclusi</description>
      <pubDate>Wed, 02 Mar 2011 10:30:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25176#M12415</guid>
      <dc:creator>stroobat</dc:creator>
      <dc:date>2011-03-02T10:30:13Z</dc:date>
    </item>
    <item>
      <title>Re: Property in JUEL Expression</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25177#M12416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is it a embedded subprocess or a call activity?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For call activities special care is needed to pass variables: see section 'passing variables' in userguide &lt;/SPAN&gt;&lt;A href="http://activiti.org/userguide/index.html#bpmnCallActivity" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#bpmnCallActivity&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Mar 2011 13:45:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25177#M12416</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-03-02T13:45:45Z</dc:date>
    </item>
    <item>
      <title>Re: Property in JUEL Expression</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25178#M12417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes, I understand, and I am able to pass variables.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But as a subprocess, I don't know who is calling me, and I expect certain parameters to be passed to me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That's why I wanted to check if the calling process has passed all the parameter I'm expecting.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If for instance I'm expecting an orderId (in the subprocess) and I want to check for it like this: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="resubmitFlow_2" sourceRef="checkParameters" targetRef="endResubmitOrder"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${orderId==null or subOrderId==null}&amp;lt;/conditionExpression&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;So suppose that the orderId was not passed by the calling process I want to take some action … &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But if the orderId is not passed the above XML will throw an exception saying orderId was not found.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tom.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Mar 2011 07:26:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25178#M12417</guid>
      <dc:creator>stroobat</dc:creator>
      <dc:date>2011-03-03T07:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: Property in JUEL Expression</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25179#M12418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;But if the orderId is not passed the above XML will throw an exception saying orderId was not found.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;It is hard to return anything else since 'null' can be a valid value as can ''. So throwing an error in EL is the only option. What you can do e.g. in this case isnot use it directly, but implement a java service task that checks them, catches the error and sets another property that can be used in the condition.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Mar 2011 08:14:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/property-in-juel-expression/m-p/25179#M12418</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2011-03-03T08:14:14Z</dc:date>
    </item>
  </channel>
</rss>

