Description of problem: 1. Select tab Definitions 2. Add new data type java.lang.String So many data types and messages are created. And the following error occurs "Operation has missing or incomplete In Message"
The editor creates Operations for all public methods discovered for the imported Java type; the BPMN2 spec states that an Operation has exactly one input message, zero or one output message and zero or one fault definition. In terms of Java methods, this translates to one method parameter, a void or non-void return type, and an optional, single "throws" declaration. Should the importer be changed to only look for Java methods that match those criteria? If so, the java.lang.String Interface would still have 35 Operations. What is the desired behavior here?
Bob, IMHO adding/defining a new data type is different then importing it's interface. There are already predefined basic types like Boolean, Integer (and yes also String) without all the types which are referenced in their API. I think that the scanning process should only be applied when importing an Interface - not when defining a new data type. What do you think?
Hi Marek, That seems like a reasonable thing to do. I'd also like to add a selection widget to the Interface Import dialog that allows the user to select the methods (the ones that meet the BPMN2 spec criteria for Operations) for which Operations will be created. Does that sound like a plan?
Yes it does - actually that sounds great! :)
Done
Verified on JBDSIS 7.0.1.CR1