You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (Commented) (JIRA)" <de...@tuscany.apache.org> on 2011/10/17 12:02:11 UTC

[jira] [Commented] (TUSCANY-3959) Intent matching is not performed for intents that may be provided by the binding

    [ https://issues.apache.org/jira/browse/TUSCANY-3959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128757#comment-13128757 ] 

Simon Laws commented on TUSCANY-3959:
-------------------------------------

I do think that this highlights an issue but not with the piece of code referenced. The code referenced is trying to determine whether there are any intents that have no policy sets and I believe it's operation is correct. The policy match code as it stands does just that. Matches policy. It doesn't attempt to match intents but turns them into policy sets and matches those. The problem, as described, highlights that "mayProvide" intents don't give rise to policy sets as the policy it natively provided by the binding so it's possible to have intents at the reference that don't match the service and not detect it. 

We could the test described but separately from the test looking for unsatisfied intents. I'll look into it. 
                
> Intent matching is not performed for intents that may be provided by the binding
> --------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3959
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3959
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-SCA-2.0
>            Reporter: Greg Dritschler
>
> EndpointReferenceBinderImpl.haveMatchingPolicy() matches the intents specified on a reference bindiing to those specified on a potential target service binding.  For some reason, it skips over intents that may be provided by the binding.
>             } else if (bindingType != null &&
>                        bindingType.getMayProvidedIntents().contains(intent)){
>                 eprIntents.remove(intent);
> Even though the binding provides the intent when requested to do so, it still should be matched.  It doesn't make sense to allow the client to tell the reference binding to do something if the service binding isn't doing the same thing.  Note that this applies only to interaction intents.  Implementation intents (such as transactedOneWay) SHOULD NOT be matched.  So the above logic should be changed such that:
> a) if the intent is an interaction intent, remove it if the endpoint also has the endpoint
> b) if the intent is an implementation intent, remove it
> ** NOTE  **  TUSCANY-3958 must be addressed before this JIRA.  TUSCANY-3958 reports that intents are not present in a remote endpoint.  Obviously we have to fix getting the intents in remote endpoints before we fix matching them.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira