Tuscany does not evaluate mutually exclusive intents correctly where one intent
is Qualifiable
----------------------------------------------------------------------------------------------
Key: TUSCANY-3642
URL: https://issues.apache.org/jira/browse/TUSCANY-3642
Project: Tuscany
Issue Type: Bug
Components: Java SCA Policy
Affects Versions: Java-SCA-2.0-M5
Reporter: Mike Edwards
Priority: Minor
Fix For: Java-SCA-2.0
Where one intent is declared as being mutually exclusive with a second intent,
but the second intent is a qualifiable intent and the exclusion statement names
the root qualifiable intent rather than one of the qualified forms, then
Tuscany does not flag the intents as "mutually exclusive" when the unqualified
form of the intent appears on an element with the first intent.
This was discovered with the recently updated form of OASIS testcase ASM_8014.
This testcase defines an intent "Joe":
<intent name="Joe" constrains="sca:binding" intentType="interaction"
excludes="sca:confidentiality"/>
note that this is exclusive of sca:confidentiality intent, which is qualifiable
with confidentiality.transport and confidentiality.message the qualified forms.
When a service is declared where the interface has sca:confidentiality applied
and has test:Joe applied to the service element itself, Tuscany does not treat
these two intents as mutually exclusive and operates incorrectly.
Note that changing the exclude statement above to read
"sca:confidentiality.transport" causes Tuscany to spot the mutual exclusion and
to raise an exception. So it appears as if Tuscany is converting the
unqualified form of the intent to the default qualified form before checking
for mutual exclusion. This is incorrect - mutual exclusion when it uses the
unqualified form of an intent means "excludes all forms of this intent -
unqualified and all qualified versions".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.