Bug 801290

Summary: Designer can't import BPMN process
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Tomas Schlosser <tschloss>
Component: jBPM 5Assignee: Kris Verlaenen <kverlaen>
Status: MODIFIED --- QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GA   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
The Process Designer does not import BPMN processes if the BPMNDI information is missing from the process. An error message informs the user the import failed and refers the user to the server logs for more information.
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: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Sample process
none
Sample process
none
Screenshot of the error in Guvnor
none
updated error message none

Description Tomas Schlosser 2012-03-08 08:08:32 UTC
Created attachment 568530 [details]
Sample process

Description of problem:
If BPMN process is missing BPMNDI information (e.g. handwritten process), the import of such process fails.

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

How reproducible:
Every time

Steps to Reproduce:
1. import attached process to BPMN designer
  
Actual results:
empty error box and exception in server log

Expected results:
imported process

Additional info:
java.lang.IllegalArgumentException: Could not find BPMNDI information
	at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshallProcess(Bpmn2JsonMarshaller.java:410)
	at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshallDefinitions(Bpmn2JsonMarshaller.java:317)
	at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshall(Bpmn2JsonMarshaller.java:156)
	at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$2.parseModel(JbpmProfileImpl.java:268)
	at org.jbpm.designer.web.server.TransformerServlet.doPost(TransformerServlet.java:219)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
	at java.lang.Thread.run(Thread.java:679)

Comment 1 Tomas Schlosser 2012-03-08 08:13:13 UTC
Created attachment 568532 [details]
Sample process

Fixed the process to successfully run.

Comment 2 Tomas Schlosser 2012-03-08 08:15:05 UTC
Created attachment 568534 [details]
Screenshot of the error in Guvnor

Comment 3 Tihomir Surdilovic 2012-03-14 16:05:45 UTC
I have fixed the error message to be more specific (see attachment). As far as uploading BPMN2 processes that are missing the DI info for some nodes - Designer does not have the ability to guess where to position the elements without the DI info yet. This is something that will take time to add and will not be part of the Designer 2.1 release which will be BRMS 5.3 :( Sorry.

Comment 4 Tihomir Surdilovic 2012-03-14 16:06:19 UTC
Created attachment 570022 [details]
updated error message

Comment 5 Tomas Schlosser 2012-03-16 08:41:34 UTC
How about putting all the nodes to one location (perhaps [0,0]) just like eclipse editor does?

Comment 6 Ryan Zhang 2012-04-23 07:40:27 UTC
Update status to ON_QA. Please verify them against ER6.

Comment 8 Lukáš Petrovický 2012-05-02 10:54:09 UTC
This wasn't been fixed for 5.3.

Comment 9 Tihomir Surdilovic 2012-05-09 15:37:00 UTC
I cannot put all nodes at 0/0 because Designer does not have the ability currently to reformat the process elements like what is already built-in into eclipse. This is not easy to fix and not sure can be done for BRMS 5.3. Does it have to be labeled "urgent" issue because all of our jBPM tooling already creates the BPMNDi info..am I wrong to say that this would be an issue in the case some other non-jBOSS tooling was used to create the initial BPPMN2?

Comment 10 lcarlon 2012-06-08 02:38:05 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
The Process Designer does not import BPMN processes if the BPMNDI information is missing from the process. An error message informs the user the import failed and refers the user to the server logs for more information.