Inherently-provided intents do not work at operation level
----------------------------------------------------------
Key: TUSCANY-3195
URL: https://issues.apache.org/jira/browse/TUSCANY-3195
Project: Tuscany
Issue Type: Bug
Components: Java SCA Policy
Reporter: Greg Dritschler
PolicyConfigurationUtil.computeIntentsForOperations() contains this code:
//exclude intents that are inherently supported by the parent
//attachpoint-type (binding-type / implementation-type)
if ( attachPointType != null ) {
List<Intent> requiredIntents = new
ArrayList<Intent>(confOp.getRequiredIntents());
for ( Intent intent : requiredIntents ) {
if ( isProvidedInherently(attachPointType, intent) ) {
confOp.getRequiredIntents().remove(intent);
}
}
}
"isProvidedInherently" includes intents that *may* be provided *if requested*.
It's hard for the binding or implementation to provide the intent if it's been
removed from the model.
The way this was supposed to work is that the code temporarily removes the
inherently-provided intents for the purposes of policy set computation, then
puts them back so that bindings and implementations can find them. In fact the
operations determineApplicableBindingPolicySets() and
determineApplicableImplementationPolicySets() do exactly that. Unfortunately
computeIntentsForOperations() is called first in all the various code paths
that compute policy sets.
I suspect the code to remove the inherently-provided intents can simply be
removed from computeIntentsForOperations().
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.