Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-563

BPMN2 process designed in Eclipse tooling plug-in/jBPM Web Designer does not generate the Assignment in dataInputAssociation for Skippable property for a User Task by default

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 6.1.0
    • 6.0.3
    • jBPM Designer
    • All All

      Description of problem:

      • If we design a BPMN2 process from scratch in Eclipse Tooling plug-in, it does not generate the "Assignment" in "dataInputAssociation" for "Skippable" property for a "User Task" by default. So, when we try to write a simple code to read the "Skippable" property for a User Task designed in such a fashion it reads it to "true" , although in the designer we can see the check-box against "Skippable" property is still unchecked. The same issue is also observed if we generate a BPMN2 process in jBPM Web Designer too. Hence, I am not sure if the issue is really in the designers or the jBPM code.
      • The workaround is to first check the "Skippable" property and then again uncheck it. This generates the necessary assignments and the code returns the correct value as expected.
      • Also, the issue does not appear if I use jBPM 6.1.0.Final version of jars.
      • Note I have used BPMS 6.0.3 for the jBPM Web Designer and the installed BPMN2 Diagram Editor version in JBDS 7.1.1 which I have used is (BPMN2 Modeler - Diagram Editor / 1.0.2.201402102317 / org.eclipse.bpmn2.modeler.feature.feature.group / Eclipse.org)
      • Here is a comparison of the process definitions generated in both the designers, and how the source of the processes change after playing with the "Skippable" check-box a little.

      BPMN2 Diagram Editor
      =======================

      Before workaround:
      ~~~
      <bpmn2:ioSpecification id="_InputOutputSpecification_3">
      ...
      <bpmn2:dataInput id="_DataInput_13" itemSubjectRef="ItemDefinition_3" name="Skippable"/>
      ...
      <bpmn2:inputSet id="_InputSet_5" name="New Input Set">
      ...
      <bpmn2:dataInputRefs>_DataInput_13</bpmn2:dataInputRefs>
      ...
      </bpmn2:inputSet>
      ...
      <bpmn2:dataInputAssociation id="_DataInputAssociation_13">
      <bpmn2:targetRef>_DataInput_13</bpmn2:targetRef>
      </bpmn2:dataInputAssociation>
      ...
      ~~~

      Change after workaround:
      ~~~
      ...
      <bpmn2:dataInputAssociation id="_DataInputAssociation_13">
      <bpmn2:targetRef>_DataInput_13</bpmn2:targetRef>
      <bpmn2:assignment id="Assignment_5">
      <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_10">false</bpmn2:from>
      <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_9">_DataInput_13</bpmn2:to>
      </bpmn2:assignment>
      </bpmn2:dataInputAssociation>
      ...
      ~~~

      jBPM Web Designer
      =======================

      Before workaround:
      ~~~
      ...
      <bpmn2:ioSpecification id="_-pZVAHWkEeSUG-GZzG41KQ">
      <bpmn2:dataInput id="_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX" name="TaskName"/>
      <bpmn2:inputSet id="_-pZVAXWkEeSUG-GZzG41KQ"/>
      <bpmn2:outputSet id="_-pZVAnWkEeSUG-GZzG41KQ"/>
      </bpmn2:ioSpecification>
      <bpmn2:dataInputAssociation id="_-pZVA3WkEeSUG-GZzG41KQ">
      <bpmn2:targetRef>_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:targetRef>
      <bpmn2:assignment id="_-pZVBHWkEeSUG-GZzG41KQ">
      <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="_-pZ8EHWkEeSUG-GZzG41KQ">UserOne</bpmn2:from>
      <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="_-pZ8EXWkEeSUG-GZzG41KQ">_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:to>
      </bpmn2:assignment>
      </bpmn2:dataInputAssociation>
      ...
      ~~~

      Change after workaround:
      ~~~
      ...
      <bpmn2:ioSpecification id="_-pZVAHWkEeSUG-GZzG41KQ">
      <bpmn2:dataInput id="_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX" name="TaskName"/>
      <bpmn2:dataInput id="DataInput_10" name="Skippable"/>
      <bpmn2:inputSet id="_-pZVAXWkEeSUG-GZzG41KQ">
      <bpmn2:dataInputRefs>DataInput_10</bpmn2:dataInputRefs>
      </bpmn2:inputSet>
      <bpmn2:outputSet id="_-pZVAnWkEeSUG-GZzG41KQ"/>
      </bpmn2:ioSpecification>
      <bpmn2:dataInputAssociation id="_-pZVA3WkEeSUG-GZzG41KQ">
      <bpmn2:targetRef>_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:targetRef>
      <bpmn2:assignment id="_-pZVBHWkEeSUG-GZzG41KQ">
      <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="_-pZ8EHWkEeSUG-GZzG41KQ">UserOne</bpmn2:from>
      <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="_-pZ8EXWkEeSUG-GZzG41KQ">_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:to>
      </bpmn2:assignment>
      </bpmn2:dataInputAssociation>
      <bpmn2:dataInputAssociation id="DataInputAssociation_10">
      <bpmn2:targetRef>DataInput_10</bpmn2:targetRef>
      <bpmn2:assignment id="Assignment_10">
      <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_20">false</bpmn2:from>
      <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_19">DataInput_10</bpmn2:to>
      </bpmn2:assignment>
      </bpmn2:dataInputAssociation>
      ...
      ~~~

      Version-Release number of selected component (if applicable):

      • BPMS 6.0.3
      • JBDS 7.1.1
      • BPMN2 Modeler - Diagram Editor (Version: 1.0.2.201402102317)

      How reproducible:

      • Always

      Steps to Reproduce:
      1. Import the attached project "jBPM6TaskSkippableTest.zip" into Eclipse/JBDS
      2. Try to run the "SkippableTaskTestClass" class with commenting and uncommenting the following lines to test an Eclipse designer generated and a jBPM Web Designer generated process individually.
      ~~~
      //Testing a process created through Eclipse Designer
      //ksession.startProcess("com.sample.bpmn.NonSkippable");

      //Testing a process created through jBPM Web Designer
      ksession.startProcess("TestProject.TestDefaultSkippable");

      ~~~

      3. If required created a fresh BPMN2 process once using BPMN2 Diagram Editor in JBDS 7.1.1 and again in jBPM Web designer, where the process must have a User Task associated with it. Do not touch the "Skippable" property by any means and then try to execute the process and access the skippable property using this API
      ~~~
      TaskSummary.isSkippable()
      ~~~
      4. Please make sure to use "6.0.3-redhat-6" as jBPM version in the pom.xml so that we test it on Enterprise bits.

      Actual results:

      • The test results would print the value for "Skippable" property as "true" whereas the check-box in the designer for this property was unchecked.

      Expected results:

      • Ideally it should return "false" since the designer shows this property as unchecked.

      Additional info:

      • NA

              bbrodt_jira Robert (Bob) Brodt (Inactive)
              rhn-support-mhussain Musharraf Hussain
              Jozef Marko Jozef Marko (Inactive)
              Linda Snyder Linda Snyder (Inactive)
              Jozef Marko Jozef Marko (Inactive)
              Alessandro Lazarotti, bpms-support, Kris Verlaenen, Marek Baluch, Rajesh Rajasekaran, Robert (Bob) Brodt (Inactive), Tihomir Surdilovic (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: