AnsweredAssumed Answered

Call Activity - Expression - How to

Question asked by ginxo on Apr 14, 2016
Latest reply on Apr 20, 2016 by martin.grofcik
Hello people,

I have a question about how to solve this situation I have in my hands. The thing is, I´m trying to define a custom process in order to repeat an specific functionality but with a dynamic expression specified by the "father" process. Let's call the custom process as "B" and the process that calls the B activity as "A", then… In my A process I call the B process specifying a target expression "customExpression" that lately is used in a Service Task of the B process. The thing is that I don't know how to use this "customExpression" in the Service Task.


In the A process

  <process id="A" name="A" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <callActivity id="callactivity1" name="Custom Service Task" calledElement="B">
      <extensionElements>
        <activiti:in sourceExpression="${customSpringService.execute(execution)}"></activiti:in>
      </extensionElements>
    </callActivity>
    <sequenceFlow id="flow10" sourceRef="startevent1" targetRef="callactivity1"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow11" sourceRef="callactivity1" targetRef="endevent1"></sequenceFlow>
  </process>

In the B process

  <process id="B" name="B" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <serviceTask id="serviceTask1" name="Service Task 1" activiti:expression="${customExpression}"></serviceTask>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow7" sourceRef="startevent1" targetRef="serviceTask1"></sequenceFlow>
    <sequenceFlow id="flow8" sourceRef="serviceTask1" targetRef="endevent1"></sequenceFlow>
  </process>


I hope to explain myself well…
Thanks a lot for your support.

Outcomes