Conflicts between component reference interface and promoted composite
reference interface are not detected
------------------------------------------------------------------------------------------------------------
Key: TUSCANY-2109
URL: https://issues.apache.org/jira/browse/TUSCANY-2109
Project: Tuscany
Issue Type: Bug
Components: Java SCA Core Runtime
Affects Versions: Java-SCA-1.1
Environment: All
Reporter: Simon Nash
Fix For: Java-SCA-Next
See TUSCANY-2033 for the background to this problem.
When a component reference defined with <interface.java> (either explicitly or
implicitly by introspection) is promoted to a composite reference defined with
<interface.wsdl>, and there is a namespace conflict between the component
reference's <interface.java> and the composite reference's <interface.wsdl>.
this conflict should be diagnosed as an error because it violates the spec rule
that an interface specified on a composite reference must be a compatible
superset of the interface of the promoted component reference. In this case,
the composite interface is incompatible with the component reference because it
has a different namespace.
There is code in CompositeWireBuilderImpl.connectCompositeReferences() to
handle connections between composite references and promoted compoennt
references. The only interface processing performed in this method is to copy
the component reference's interface contract to the composite reference's
interface contract if the composite reference does not have an interface
contract. Code should be added here to check for conflicts between the
composite reference's interface and the component reference's interface if both
interfaces are specified.
Similar code should be added to
CompositeWireBuilderImpl.connectCompositeServices() to check that the composite
service interface is a compatible subset of the component service interface as
required by the spec.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]