Bug 1213445 - User can't specify Interface for Service Task
Summary: User can't specify Interface for Service Task
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Eclipse Tooling
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Robert (Bob) Brodt
QA Contact: Jozef Marko
Depends On:
TreeView+ depends on / blocked
Reported: 2015-04-20 15:08 UTC by Jozef Marko
Modified: 2015-12-07 18:21 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-12-07 18:21:58 UTC
Type: Bug

Attachments (Terms of Use)
request/response mapping details (60.66 KB, application/zip)
2015-07-01 06:40 UTC, Jozef Marko
no flags Details

Description Jozef Marko 2015-04-20 15:08:15 UTC
Description of problem:
User can model process, which contains 'Service Task' element. But user can not specify interface , from which will be called operation.

Version-Release number of selected component (if applicable):
jbds-8.1.0.CR1_jbdsis-8.0.1.CR1 BPMN2 Modeler 1.1.2.Final

How reproducible:
1. Create process containing Service Task
2. See properties - 'Service Task' tab
3. There should be Interface combo

Comment 1 Robert (Bob) Brodt 2015-06-20 00:30:41 UTC
In BPMN2 Service Tasks only have references to an Operation; Operations are owned by an Interface, so it is not necessary to specify an Interface in the Service Task.

Interfaces are managed from the Process "Interfaces" property tab.

Comment 2 Jozef Marko 2015-06-26 10:42:30 UTC
Bob, you are completely right with your claim. Error is on my site. I should have been a little bit more specific.

Follow these steps to see, where I found the problem.
(1) Create process with 3 nodes: Start -> ServiceTask -> End
(2) Do NOT import any interface via process properties
(3) Double click on ServiceTask
(4) Select tab 'Service Task'
(5) Click on plus button next to Operation combo

*Here is the problem*

(6) In shown pop-up, user can fill only data specific for operation-method. User can't specify what interface is method from. 
(7) If user save process, there is error like: "The implementation for Interface Interface 1 must be a valid Java Type"

Comment 3 Robert (Bob) Brodt 2015-06-29 13:19:04 UTC
Interfaces can only be be created and edited in the Process -> Interfaces property tab. I think to make this less confusing we should remove the "+" button from the Service Task Operation combo box.


Comment 4 Robert (Bob) Brodt 2015-06-29 16:46:02 UTC
I have decided to enhance the Operation editing dialog so that the Interface name and implementation can also be edited. So, when the user creates a new Operation for the first time (no Interface definitions exist yet) he is given the chance to also edit the Interface name and implementation.

Please retest with build

Comment 5 Jozef Marko 2015-07-01 06:40:41 UTC
Created attachment 1044919 [details]
request/response mapping details

Comment 6 Jozef Marko 2015-07-01 06:42:15 UTC
Bob, fix looks good. But one last detail.

Properties of 'Service Task' has 3 tabs (General, Service Task and I/O Parameters). On Service Task tab is user able to set mapping of Request/Response Message to process variables. When user saves process, this mapping is shown in detail on tab I/O Parameters.

Here is the issue.

If user select operation of previously imported interface, then Request/Response Message mapping results to good.png from the attachment 1044919 [details].

If user specify operation details manually, then Request/Response Message mapping results to wrong.png from the attachment 1044919 [details].

Names 'Parameter' and 'Result' are critical for process execution by engine. Is there some special reason, why in the second case are names 'input1' and 'output2'?

Comment 7 Robert (Bob) Brodt 2015-12-07 18:21:58 UTC
Yes, "input1" and "output2" are arbitrary names generated by the editor - is there some special reason why these names need to be "Parameter" and "Result"?

Never mind - I already know the answer ;) This has already been reported here:


Note You need to log in before you can comment on or make changes to this bug.