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

Bug 1212797

Summary: Attaching boundary event in Internet Explorer 11 may produce unparsable BPMN2 source
Product: [Retired] JBoss BPMS Platform 6 Reporter: Jiri Locker <jlocker>
Component: jBPM DesignerAssignee: Tihomir Surdilovic <tsurdilo>
Status: CLOSED EOL QA Contact: Jiri Locker <jlocker>
Severity: medium Docs Contact:
Priority: high    
Version: 6.1.0CC: kverlaen
Target Milestone: ER3   
Target Release: 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:38:51 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
Attaching boundary event
none
Boundary event attached
none
Viewing BPMN2 source in Designer
none
Project build error after saving the process
none
Exception stack trace from server.log
none
BPMN2 source file none

Description Jiri Locker 2015-04-17 10:29:37 UTC
Description of problem:
In diagram section of BPMN2 source file, edge and shape elements are expected (by jBPM parser) to have both "x" and "y" attribute. However jBPM Designer leaves the "x" or "y" attribute out in case its value is 0.0. This results in jBPM engine failure when parsing the process source file.

This situation may occur when attaching intermediate event to a task node (i.e. boundary event). When the event is dropped exactly at the top (y="0.0") or left (x="0.0") border of the task because the event's coordinates are expressed relative to the task node's top left corner.

I only achieved this with Internet Explorer on Windows 8 in VirtualBox. Tried to reproduce with Firefox and Chrome on Fedora but the smallest x/y coordinate value I could get was 1.0, never 0.0 even if I placed mouse cursor exactly over task border when dropping the event.

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

How reproducible:
-

Steps to Reproduce:
1. Create/open a simple process with a task node.
2. Expand Catching Intermediate Events section in Object Library.
3. Drag Error event and drop it over the task to create a boundary event (task  border must be highlighted in green, mouse cursor must be exactly at task border).

Actual results:
jBPM engine fails to parse BPMN2 source files produced by jBPM Designer

Expected results:
No matter how specific and unlikely this condition is, a systematic solution should be implemented to prevent such issues. Either jBPM Designer code that produces BPMN2 source should be altered to always declare the x/y coordinate attribute even if its value is 0.0, or jBPM engine parser should be made less pedantic about process diagram section.

Additional info:

Comment 1 Jiri Locker 2015-04-17 10:31:43 UTC
Created attachment 1015517 [details]
Attaching boundary event

Comment 2 Jiri Locker 2015-04-17 10:32:34 UTC
Created attachment 1015518 [details]
Boundary event attached

Comment 3 Jiri Locker 2015-04-17 10:36:18 UTC
Created attachment 1015521 [details]
Viewing BPMN2 source in Designer

Comment 4 Jiri Locker 2015-04-17 10:37:17 UTC
Created attachment 1015522 [details]
Project build error after saving the process

Comment 5 Jiri Locker 2015-04-17 10:37:57 UTC
Created attachment 1015523 [details]
Exception stack trace from server.log

Comment 6 Jiri Locker 2015-04-17 10:38:53 UTC
Created attachment 1015524 [details]
BPMN2 source file

Comment 7 Jeremy Lindop 2015-09-11 09:49:44 UTC
This is no longer a problem because boundary events attached to activities no longer have their own <bpmndi:BPMNEdge> element, and hence no <di:waypoint> elements within the <bpmndi:BPMNEdge>. I'm not sure when this was changed, but this is true in the community build bpms-6.3.0.CR2.

Comment 8 Jiri Locker 2015-10-12 18:29:58 UTC
Comment 7 is correct.