Bug 980842

Summary: Data assignement to "Interface" ignored in "ServiceTask".
Product: [Retired] JBoss BPMS Platform 6 Reporter: Marek Baluch <mbaluch>
Component: jBPM CoreAssignee: Maciej Swiderski <mswiders>
Status: CLOSED CURRENTRELEASE QA Contact: Marek Baluch <mbaluch>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: rzhang
Target Milestone: DR6   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:13:14 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
process definition none

Description Marek Baluch 2013-07-03 10:38:07 UTC
An data assignment to "Interface" in ioSpecification is ignore when a interface definition is present in the process. It would be nice if the user would see a warning message that it is ignored.

{code}
<bpmn2:ioSpecification id="InputOutputSpecification_1">
        <bpmn2:dataInput id="DataInput_4" name="Interface"/>
...
</bpmn2:ioSpecification>
<bpmn2:dataInputAssociation id="DataInputAssociation_4">
        <bpmn2:targetRef>DataInput_4</bpmn2:targetRef>
        <bpmn2:assignment id="Assignment_4">
          <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_8">SimpleService</bpmn2:from>
          <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_7">DataInput_4</bpmn2:to>
        </bpmn2:assignment>
</bpmn2:dataInputAssociation>
{code}

Perhaps this ioSpecification part could be used in case the mandatory name attribute is missing in the interface element. The missing attribute is currently ignored by the validator.

Comment 1 Maciej Swiderski 2013-07-03 16:17:19 UTC
Marek, would it be possible to attach complete bpmn2 and if possible test case? But the most important is to have the bpmn2 itself. 

Thanks

Comment 2 Marek Baluch 2013-07-03 17:11:19 UTC
Created attachment 768350 [details]
process definition

Hi, sure. My apologies for not doing it right away.

Please note that the interface on line 11 is missing it's 'name' attribute. The implementation name is set on line 75 using the 'Interface' parameter. This parameter will be empty in the WebServiceWorkItemHandler.

Comment 3 Maciej Swiderski 2013-07-04 15:47:37 UTC
fixed in master, the issue was due to service task handler was overriding the assignments done by the TaskHandler and thus it appeared to be ignored as it was simply reset.

Please note that not all parameters should be possible to set via data input assignments, for example following is a list that cannot:
- implementation - it's bpmn2 regular attribute of serviceTask
- operationRef - it's bpmn2 regular attribute of serviceTask

Moreover Interface, Operation are not used by the WebService implementation as it relies directly on operationRef attribute instead to find the right operation and interface. Although they are completely valid for Java service task.

Comment 7 Marek Baluch 2013-09-18 13:17:35 UTC
Verified on ER3.