You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Brent Daniel (JIRA)" <de...@tuscany.apache.org> on 2010/08/03 21:45:17 UTC

[jira] Commented: (TUSCANY-3642) Tuscany does not evaluate mutually exclusive intents correctly where one intent is Qualifiable

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

Brent Daniel commented on TUSCANY-3642:
---------------------------------------

I think Tuscany is checking both before and after converting the unqualified form of the intent to the default qualified form, which is probably wrong. 

However, I'm wondering if this test case is correct. Shouldn't the "sca:confidentiality" on the service be ignored since it is exclusive with an intent that appears lower in the structural hierarchy? This is how Tuscany is handling this today, and why you get an error reported when confidentiality.transport is excluded instead of confidentiality. 

 In the first case, Tuscany will apply "confidentiality" to the Interface element since it doesn't conflict with "Joe". Later, when confidentiality is converted to the qualified form, Tuscany reports the mutual exclusion error. 

In the second case, Tuscany will not apply "confidentiality" to the Interface element since it conflicts with "Joe". The Interface element never acquires a set of Intents that are exclusive with each other, so Tuscany never reports an error. 

The test case also succeeds if you modify the composite so that "Joe" and its policy set are specified on the Interface element. 

> 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.