On Tue, Jul 13, 2010 at 10:00 AM, Simon Laws <simonsl...@googlemail.com> wrote:
> On Tue, Jul 13, 2010 at 5:38 PM, Brent Daniel <brenthdan...@gmail.com> wrote:
>> On Tue, Jul 13, 2010 at 4:58 AM, Simon Laws <simonsl...@googlemail.com> 
>> wrote:
>>
>>>> 1) Should we be raising an error at build time when intents aren't
>>>> satisfied by some policy set?
>>>
>>> Yes
>>>
>>
>> OK. I've been working with these changes locally and will commit them soon.
>>
>>>> 2) If yes, how do we make sure extensions are considered?
>>>
>>> Not sure what this means. Do you mean when an extension provides an
>>> intent by default. If so this should be taken account of when the
>>> unsatisfied intents are calculated. There is some code for this but I
>>> can't say if it's actually working properly.
>>>
>>
>> Yes.. basically we need to check if the intent is in the
>> alwaysProvides or mayProvide attribute for the implementation type or
>> binding type. My confusion here is that there's a comment in the code
>> that says we need to walk through all extensions, but it seems like
>> all we would need to check is the extensionType on the PolicySubject.
>
> Can you point me at where the comment is in the code?
>

It's in ComponentPolicyBuilderImpl around line 522:

            if (!intentMatched){
                // Raise a warning as we have an intent that doesn't
have a matching
                // policy set at this start.
                // TODO - this could be because the intent is provided
by and extension
                //        and hence there is no explicit policy set.
Need and extra piece
                //        of processing to walk through the extension models.

            //    warning(context.getMonitor(),
"IntentNotSatisfiedAtBuild", subject, intent.getName(),
subject.toString());
                   error(context.getMonitor(),
"IntentNotSatisfiedAtBuild", subject, intent.getName(),
subject.toString());
            }

>>
>> At the moment this is only affecting POL_3019 which uses the SOAP intent.
>>
>>>> 3) If no, should we be checking for this later (when we wire the 
>>>> endpoints?)
>>>
>>> We need to check here also as the service binding might "provide" a
>>> reference intent.
>>>
>>
>> We're handling the reference side checking there already, so we should be ok.
>>
>>>> 4) Should we be providing additional policy sets for intents required
>>>> by the spec that allow for external attachment?
>>>
>>> No. Not for the purposed of passing the otests at least. We will of
>>> course want to provide policy sets for the spec defined intents for
>>> normal operation.
>>>
>>
>> We don't necessarily need to do this for the otests, as currently all
>> test cases that use spec defined intents either expect an exception
>> (9015,9016,9017,9018) or define a policy set that satisfies it
>> (9022,9023.) If we don't implement an externalAttachment version of
>> propagatesTransaction, then we will be checking for a failure to
>> resolve the intent rather than testing the intended function. That's
>> probably OK from an otest perspective, but not ideal.
>>
>> I was thinking more generally, though, that this is something we
>> should be providing. It doesn't seem right to mandate that users have
>> to use one flavor of attachment when our runtime supports both.
>
> Y, I agree. I think the spec allows you to provided one or the other
> but we happen to provide both. We should show examples of both in our
> samples and tests. When it comes to actual applications it's going to
> be up to the users themselves which approach they choose to take in
> each situation.
>
>>
>> Brent
>>
>
> Simon
>
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>

Reply via email to