Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1054504

Summary: Form fields do not handle different input and output bindings
Product: [Retired] JBoss BPMS Platform 6 Reporter: Babak Mozaffari <bmozaffa>
Component: Form ModelerAssignee: Pere Fernàndez <pere.fernandez>
Status: CLOSED CURRENTRELEASE QA Contact: Jan Hrcek <jhrcek>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0.0CC: pzapataf
Target Milestone: ER2   
Target Release: 6.0.1   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:03:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Unzip and use the .git directory in it as a repository to clone
none
simplistic repository showing the issue none

Description Babak Mozaffari 2014-01-16 23:34:54 UTC
Created attachment 851343 [details]
Unzip and use the .git directory in it as a repository to clone

Description of problem:

Task form is used with existing custom object. Data is read from the various fields of the object and updated in the object. Attempting to save one of the fields to a variable other than the same field of the object results in the input of the field not being read.

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

6.0.0 ER7

How reproducible:

Consistent

Steps to Reproduce:
1. Clone attached repository and build the project (log in with manager role)
2. Start a process. Fill out all fields in the process form.
3. Claim and work on the created task. Notice task form missing "Down Payment" value

Actual results:

The downPayment field of the application object is not properly read and populated into the form, although it does exist in the object. That's only because the field input is set to "taskInputApplication/downPayment" while its output is set to "taskDownPayment". Changing the output to "taskOutputApplication/downPayment" fixes the input problem!

Expected results:

That field would be read from object as input and written to separate variable as output (second part is happening ok).

Additional info:

Comment 2 Pere Fernàndez 2014-01-21 15:10:53 UTC
Fixed loading/writing field values from different sources.

Commit (master): https://github.com/droolsjbpm/jbpm-form-modeler/commit/64cc523379b7a54c99192659feda1f5cc3647925

Commit (6.0.x):https://github.com/droolsjbpm/jbpm-form-modeler/commit/3072096f306665f2ba12e767415bfc8ad6d78086

Comment 3 Jan Hrcek 2014-02-20 08:40:54 UTC
I checked with Babak's test process and it seems, that variable binding seems to work now (i.e. the field is read from object and displayed in the form) but there seems to be another issue: when the task is completed in task list, there is modal dialog popup with message "Unexpected error: java.lang.NullPointerException". The exception seems to be swallowed in the process as there is no exception logged in server.log.

I created minimalistic project to reproduce this issue - see attachment.
Just unzip the repo somewhere and clone the repo in business central (e.g. in /home/user/Temp and then clone in business central with URL file:///home/user/Temp/testRepo.git)

The repo contains 
1) process, that has 2 variables: in and out
2) remap-taskform:  The idea is to use form modeler field that will read value from in process (input binding expressions) variable and then write it to out process variable (different output binding expression) 

The problem is, that when I execute the task and complete it in the tasklist, I get modal dialog with NullPointerException.

Comment 4 Jan Hrcek 2014-02-20 08:41:29 UTC
Created attachment 865380 [details]
simplistic repository showing the issue

Comment 5 Jan Hrcek 2014-02-24 09:03:39 UTC
The problem with modal dialog with NullPointerException described in comment 3 might be sign of more general issue. I opened separated Bug 1069117 to track that issue. If that problem is not relevant to the current bug, this bug can be moved to modified and will be verified in the next release.

Comment 6 Pere Fernàndez 2014-02-24 11:29:04 UTC
You're right, it is related to the tasklist and the jbpm engine. It seems that it is trying to reload the again the form when the task is already completed.

Comment 7 Jan Hrcek 2014-03-14 07:54:55 UTC
Ok, I checked it in BPMS 6.0.1 ER2 and now it works correctly.