<?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 Referring to task local variable in expression (activiti 5.16.3) in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188206#M141336</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 have a conditional transition from userTask1 to userTask2. My tasks definition:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;userTask id="userTask1" name="User Task 1" activiti&lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;wner="kermit"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;extensionElements&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activiti:formProperty id="varA" name="varA" type="string"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/extensionElements&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/userTask&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;userTask id="userTask2" name="User Task 2" activiti&lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;wner="piggy"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;extensionElements&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activiti:formProperty id="varB" name="varB" type="string"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/extensionElements&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/userTask&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used the following expression in the bpmn file: &amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;&amp;lt;![CDATA[${userTask1.varA == "uTask2"}]]&amp;gt;&amp;lt;/conditionExpression&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I mark the userTask1 as "completed", I use the following method in the Java API:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;—&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Map&amp;lt;String, Object&amp;gt; variableMap = new HashMap&amp;lt;String, Object&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;variableMap.put("varA", "1");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;activitiRule.getTaskService().complete(tasks.get(0).getId(), variableMap, true);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;—&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Notice the "true" param at the end, this is to say that those variables are local to the task.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In a separate test I could verify that the the variable is indeed stored locally to the task.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But, in this test (with the conditional transition), I'm getting this error: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;—-&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.activiti.engine.ActivitiException: Unknown property used in expression: ${userTask1.varA == "uTask2"}&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:53)&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;Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'userTask1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;—-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How to solve this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Raka&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Oct 2014 18:55:52 GMT</pubDate>
    <dc:creator>raka</dc:creator>
    <dc:date>2014-10-08T18:55:52Z</dc:date>
    <item>
      <title>Referring to task local variable in expression (activiti 5.16.3)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188206#M141336</link>
      <description>Hi,I have a conditional transition from userTask1 to userTask2. My tasks definition:&amp;lt;userTask id="userTask1" name="User Task 1" activiti&lt;IMG id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;wner="kermit"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;extensionElements&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activiti:formProperty id="varA" name="varA" type="string"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/extensionElements&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;</description>
      <pubDate>Wed, 08 Oct 2014 18:55:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188206#M141336</guid>
      <dc:creator>raka</dc:creator>
      <dc:date>2014-10-08T18:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Referring to task local variable in expression (activiti 5.16.3)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188207#M141337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry, looks like my XML snippet was automatically removed. It was for my task definition. I have 2 user tasks whose id is: userTask1 and userTask2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2014 18:57:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188207#M141337</guid>
      <dc:creator>raka</dc:creator>
      <dc:date>2014-10-08T18:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: Referring to task local variable in expression (activiti 5.16.3)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188208#M141338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Better formatted: &lt;/SPAN&gt;&lt;A href="http://stackoverflow.com/questions/26264543/referring-to-task-local-variable-in-expression-activiti-5-16-3" rel="nofollow noopener noreferrer"&gt;http://stackoverflow.com/questions/26264543/referring-to-task-local-variable-in-expression-activiti-5-16-3&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2014 19:06:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188208#M141338</guid>
      <dc:creator>raka</dc:creator>
      <dc:date>2014-10-08T19:06:28Z</dc:date>
    </item>
    <item>
      <title>Re: Referring to task local variable in expression (activiti 5.16.3)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188209#M141339</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 would add only one note to the answer in stackoverflow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Have a look on the following jUnit tests in activiti source:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; public void testCompleteWithTaskLocalParameters() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testTaskLocalVars");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fetch first task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task task = taskService.createTaskQuery().singleResult();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Complete first task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Object&amp;gt; taskParams = new HashMap&amp;lt;String, Object&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskParams.put("a", 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskParams.put("b", 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService.complete(task.getId(), taskParams, true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Verify vars are not stored process instance wide&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertNull(runtimeService.getVariable(processInstance.getId(), "a"));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertNull(runtimeService.getVariable(processInstance.getId(), "b"));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // verify script listener has done its job&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(new Integer(2), runtimeService.getVariable(processInstance.getId(), "sum"));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fetch second task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService.createTaskQuery().singleResult();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; @Deployment(resources = { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "org/activiti/engine/test/api/twoTasksProcess.bpmn20.xml" })&lt;BR /&gt;&amp;nbsp; public void testCompleteWithParametersTask() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fetch first task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task task = taskService.createTaskQuery().singleResult();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals("First task", task.getName());&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Complete first task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Object&amp;gt; taskParams = new HashMap&amp;lt;String, Object&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskParams.put("myParam", "myValue");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService.complete(task.getId(), taskParams);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fetch second task&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; task = taskService.createTaskQuery().singleResult();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals("Second task", task.getName());&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Verify task parameters set on execution&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Object&amp;gt; variables = runtimeService.getVariables(processInstance.getId());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(1, variables.size());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals("myValue", variables.get("myParam"));&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Oct 2014 05:25:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/referring-to-task-local-variable-in-expression-activiti-5-16-3/m-p/188209#M141339</guid>
      <dc:creator>martin_grofcik</dc:creator>
      <dc:date>2014-10-09T05:25:37Z</dc:date>
    </item>
  </channel>
</rss>

