Bug 1130061

Summary: Validating a process in Web Designer containing a Service Task inside Swim Lane complains "java.lang.IllegalArgumentException: No interfaces found"
Product: [Retired] JBoss BPMS Platform 6 Reporter: Musharraf Hussain <mhussain>
Component: jBPM DesignerAssignee: Tihomir Surdilovic <tsurdilo>
Status: CLOSED EOL QA Contact: Karel Suta <ksuta>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.2CC: kverlaen, mbaluch, rzhang
Target Milestone: ER4   
Target Release: 6.1.0   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 20:09:30 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
swimlaneProcess.bpmn2 none

Description Musharraf Hussain 2014-08-14 09:05:38 UTC
Description of problem:
- Validating a process (containing a Service Task inside Swim Lane) in Web Designer complains with ERROR "java.lang.IllegalArgumentException: No interfaces found" , as quoted below.
~~~
14:20:53,669 ERROR [stderr] (pool-119-thread-2) java.lang.IllegalArgumentException: No interfaces found
14:20:53,669 ERROR [stderr] (pool-119-thread-2)         at org.jbpm.bpmn2.xml.ServiceTaskHandler.handleNode(ServiceTaskHandler.java:52)
14:20:53,669 ERROR [stderr] (pool-119-thread-2)         at org.jbpm.bpmn2.xml.TaskHandler.end(TaskHandler.java:168)
14:20:53,669 ERROR [stderr] (pool-119-thread-2)         at org.drools.core.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:422)
14:20:53,669 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.impl.xs.XMLSchemaValidator.endElement(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
14:20:53,670 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.drools.core.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:301)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.drools.core.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:180)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.jbpm.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:46)
14:20:53,671 ERROR [stderr] (pool-119-thread-2)         at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:276)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.drools.compiler.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:699)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.buildResources(CompositeKnowledgeBuilderImpl.java:149)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:86)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:121)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:76)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.guvnor.common.services.builder.Builder.addResource(Builder.java:290)
14:20:53,672 ERROR [stderr] (pool-119-thread-2)         at org.guvnor.common.services.builder.Builder.updateResource(Builder.java:394)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at org.guvnor.common.services.builder.BuildServiceImpl.updatePackageResource(BuildServiceImpl.java:216)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at org.guvnor.common.services.builder.BuildServiceImpl$Proxy$_$$_WeldClientProxy.updatePackageResource(BuildServiceImpl$Proxy$_$$_WeldClientProxy.java)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder$4.run(ResourceChangeIncrementalBuilder.java:243)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
14:20:53,673 ERROR [stderr] (pool-119-thread-2)         at java.lang.Thread.run(Thread.java:662)
...
~~~
It seems that this issue specifically happens when using Service Tasks inside Swim Lane.

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

How reproducible:
- Always using the attached "swimlaneProcess.bpmn2" process definition in Web Designer of BPMS 6.0.2

Steps to Reproduce:
1. Import the attached "swimlaneProcess.bpmn2" process definition in Web Designer
2. The Service Task contains the values specified for Interface and Operation properties
3. Save and validate it and it should throw the "java.lang.IllegalArgumentException: No interfaces found" ERROR as shown above.


Actual results:
- The server.log shows the "java.lang.IllegalArgumentException: No interfaces found" ERROR  during validation although Interface name was specified.

Expected results:
- There should be no validation error.

Additional info:
- NA

Comment 1 Musharraf Hussain 2014-08-14 09:08:29 UTC
Created attachment 926718 [details]
swimlaneProcess.bpmn2

swimlaneProcess.bpmn2

Comment 3 Kris Verlaenen 2014-11-05 14:21:19 UTC
It seems that for service tasks outside swimlanes the BPMN2 XML correctly contains the <message> and <interface> elements above the <process>, when it is placed inside a swimlane, those elements are no longer available.  I assume that the script that transforms the drools:serviceinterface and drools:serviceoperation attributes on service task into <message> and <interface> elements is not taking composite nodes into account (as the same seems to happen with embedded sub-process).

Comment 4 Tihomir Surdilovic 2014-11-27 22:31:05 UTC
fixed in designer master for both lanes and subprocesses

Comment 5 Tihomir Surdilovic 2014-12-15 18:19:59 UTC
fix in designer 6.2.x branch

Comment 6 Sona Mala 2014-12-16 10:13:38 UTC
The commit was not on branch 6.2.x when ER3 was build.

Comment 7 Sona Mala 2014-12-16 10:14:59 UTC
The commit with the number of this issue is present on 6.2.x branch, now.

Comment 8 Karel Suta 2015-01-26 11:21:59 UTC
Verified on 6.1.0ER4.