Tuscany does not handle unannotated POJOs with reference setter methods
according to the OASIS spec requirements
----------------------------------------------------------------------------------------------------------------
Key: TUSCANY-3636
URL: https://issues.apache.org/jira/browse/TUSCANY-3636
Project: Tuscany
Issue Type: Bug
Components: Java SCA Java Implementation Extension
Affects Versions: Java-SCA-2.0-M5
Reporter: Mike Edwards
Assignee: Mike Edwards
Fix For: Java-SCA-2.0
The OASIS SCA Java POJO specification defines the rules for the introspection
of an unannotated Java POJO used as an implementation of a component. The
relevant rules are defined in Section 8.1 of the specification:
http://docs.oasis-open.org/opencsa/sca-j/sca-javaci-1.1-spec-cd02.pdf
The particular problem that is the subject of this JIRA concerns the handling
of an unannotated setter method which is a referennce, but where the parameter
type of the method is not directly an interface with @Remotable, but is instead
an array or a java.util.Collection with such an interface as its base type.
In this case, the reference must have a multiplicity of 1..n - a simple
interface type parameter must have multiplicity of 1..1.
Testcases POJO_8025 and POJO_8026 check the introspected mutliplicity and the
current code of Tuscany fails both of these tests - and indeed the code fails
to create the correct <interface.java/> element in the componentType as well.
This is due to the code in HeuristicPojoProcessor.createReference, which fails
to deal with array/collection type parameters - and which gets the interface
type and the multiplicity wrong for these cases.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.