Bug 1314510 - process model image shows the node in waiting status grey instead of red after sending a signal event
process model image shows the node in waiting status grey instead of red afte...
Status: VERIFIED
Product: JBoss BPMS Platform 6
Classification: JBoss
Component: jBPM Designer (Show other bugs)
6.2.0
Unspecified Unspecified
high Severity high
: ER1
: 6.3.0
Assigned To: Tihomir Surdilovic
Kirill Gaevskii
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-03 14:27 EST by Gary Hu
Modified: 2016-04-04 08:44 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
screen shots for the issue (96.66 KB, application/zip)
2016-03-03 14:55 EST, Gary Hu
no flags Details
reproducer including the source code (84.50 KB, application/zip)
2016-03-03 14:56 EST, Gary Hu
no flags Details

  None (edit)
Description Gary Hu 2016-03-03 14:27:40 EST
The Business Central GUI provides a process diagram for running processes. The expected behavior is that active nodes are marked with a red border and completed nodes with a gray background.

This works as expected the first time the process is started. After sending a signal event to the process the node that is supposed to be in waiting status turned from red to grey. 

This is just a display issue. The process is executing fine. It does make it harder for an operator to know which step a process is executing though.
Comment 2 Gary Hu 2016-03-03 14:55 EST
Created attachment 1132904 [details]
screen shots for the issue
Comment 3 Gary Hu 2016-03-03 14:56 EST
Created attachment 1132905 [details]
reproducer including the source code
Comment 4 Gary Hu 2016-03-03 15:25:54 EST
I've attached the screen shots that could visually show the issue.

I've also attached a reproducer that demonstrate the issue.

The steps to reproduce the issue:

1. unzip the attached reproducer project and built it. Please edit the file
bpms-app/bpms-workitemhandlers/src/main/resources/config/DEV/bpms-rest-api.properties  to match your bpm server
   adminName=your_admin
   adminPassword=your_password.
Please make sure this business central admin is also granted the role "rest-all" so that the user could run the rest api to deploy/start/signal the remote process.

2. upload the generated kjar bpms-bpmn2-1.0.0.2.jar under bpms-bpmn2 to bpms 6.2 instance via the business central GUI. 

3. drop the generated bpms-workitemhandlers-1.0.0.2.jar under bpms-workitemhandlers to business-central.war/WEB-INF/lib

4. Try registering the work item handler in business-central.war/WEB-INF/classes/META-INF/kie-wb-deployment-descriptor.xml

    <work-item-handler>
      <resolver>mvel</resolver>
      <identifier>new com.digitalglobe.workitemhandlers.CommandWorkItemHandler(ksession)</identifier>
      <parameters/>
      <name>Command</name>
    </work-item-handler>

5. make sure the bpms 6.2 instance is up and running and run the java program 
   bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/DeployPost.java
  this will deploy the kjar uploaded to the bpms server in step #2.
  
6. after the deployment in step #5 is successful, run the java program 
   bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/HttpStartPost.java
   this will start the process defined in the kjar. 
   open the process model image from business central workbench designer, you should see the "ErrorHandler" node in the process diagram shows red border as showed the first image in the attached screen shot doc.

7. run the java program 
   /bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/SignalPost.java

This program hard coded the process instance id "1":
    String url ="http://localhost:8080/business-central/rest/runtime/com.digitalglobe:bpms-bpmn2:1.0.0.2/process/instance/1/signal"
    	    		   +"?signal=ErrorHandlerEvent&event=" + event;
please make the change if needed.
  You could run this step manually without executing the java program. Just click the "signal" button and fill signal as "ErrorHandlerEvent" and event as "retry". You should see the same behavior.
  After sending the signal event and check the process model image again you would see the "ErrorHandlers" turns into grey. This is not the expected behavior. The grep indicates the status is "complete" but the the node is supposed to be in "waiting" status.
Comment 5 Tihomir Surdilovic 2016-03-03 15:33:41 EST
The workbench sends the completed and active nodes info to designer and it blindly follows by coloring them as its stated. 

do we need to add a new state like waiting with it's own color? If so this has to come from the workbench so assigning to that now and when it's done please feel free to assign back to designer so that work can be completed as well. 

thanks.
Comment 6 Tihomir Surdilovic 2016-03-07 07:42:32 EST
we were able to correct this inside designer

master PR: https://github.com/droolsjbpm/jbpm-designer/pull/175

6.4.x PR: https://github.com/droolsjbpm/jbpm-designer/pull/176
Comment 8 Kirill Gaevskii 2016-04-04 08:44:32 EDT
Looks good. 6.3.0.ER2

Note You need to log in before you can comment on or make changes to this bug.