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

        

Reply via email to