[
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