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

Bug 1150060

Summary: Process definition gets corrupted by moving an element in the canvas.
Product: [Retired] JBoss BPMS Platform 6 Reporter: Marek Baluch <mbaluch>
Component: Eclipse ToolingAssignee: Marek Baluch <mbaluch>
Status: CLOSED EOL QA Contact: Marek Baluch <mbaluch>
Severity: high Docs Contact:
Priority: high    
Version: 6.1.0CC: jomarko, kverlaen
Target Milestone: ---   
Target Release: ---   
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:40:05 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
reproducer none

Description Marek Baluch 2014-10-07 11:21:55 UTC
Description of problem:

Please note that this issue is directly related to BZ #1068075. The issue is basically the same just now must actually change the process definition by moving an activity.

When the "ThrowExceptionProcess" is moved and the process definition saved then you can see the same exception when attempting to execute the process.

Exception: 

java.lang.IllegalArgumentException: Could not find node to attach to: bpmn20:_14EFEB73-339B-4668-8D44-95D956BF4180
	at org.jbpm.bpmn2.xml.ProcessHandler.findNodeByIdOrUniqueIdInMetadata(ProcessHandler.java:282)
	at org.jbpm.bpmn2.xml.ProcessHandler.linkBoundaryEvents(ProcessHandler.java:347)
	at org.jbpm.bpmn2.xml.ProcessHandler.end(ProcessHandler.java:179)
	at org.drools.core.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:422)
...

Comment 1 Marek Baluch 2014-10-07 11:22:25 UTC
Created attachment 944541 [details]
reproducer

Comment 2 Robert (Bob) Brodt 2014-10-07 21:46:15 UTC
OK, I had another closer look at the Exception.bpmn2 file and it looks like all of the <incoming> and <outgoing> references have the "bpmn20" namespace prefix before the Sequence Flow IDs, for example:

    <bpmn2:callActivity id="_14EFEB73-339B-4668-8D44-95D956BF4180" drools:waitForCompletion="true" drools:independent="true" drools:selectable="true" name="ThrowException SubProcess" calledElement="Evaluation.Exceptionsubprocess">
      <bpmn2:incoming>bpmn20:_C221F514-A53A-4285-B19D-E91F6DEB5770</bpmn2:incoming>
      <bpmn2:outgoing>bpmn20:_709A3D46-FA1C-41CD-9859-7D746D026D65</bpmn2:outgoing>

Although this is strictly correct XML, apparently the jBPM  engine parser does not like to see these prefixes.

This is a blocking bug that affects both the latest 1.0.3 and 1.1.1 versions of the editor.

Comment 3 Robert (Bob) Brodt 2014-10-09 19:14:21 UTC
This is now fixed in 1.0.3 and 1.1.1

Comment 4 Jozef Marko 2014-11-07 07:38:39 UTC
Verified on jbdsis-8.0.0.Beta1.