You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "wangfeng (JIRA)" <tu...@ws.apache.org> on 2008/04/08 13:41:28 UTC

[jira] Updated: (TUSCANY-2109) Conflicts between component reference interface and promoted composite reference interface are not detected

     [ https://issues.apache.org/jira/browse/TUSCANY-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

wangfeng updated TUSCANY-2109:
------------------------------

    Attachment: jira2109.patch

The patch can detect the reference and service InterfaceContract.

If the reference or the service InterfaceContract of composite is not compatible with the promoted component refercnce or service,the runtime may throw an IncompatibleInterfaceContractException.

> 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
>
>         Attachments: jira2109.patch, jira2109.zip
>
>
> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org