>
> A) I disagree that we only have to check the binding. The appliesTo
> XPath expression could potentially point to any element in the
> composite. Also, consider the case where an intent is specified on a
> higher level element:
> <service requires="myIntent">
>   <binding.ws>
> </service>
>
> "myIntent" could potentially not apply here, but we wouldn't be
> checking it if we only check the binding.

While I agree that you can attach to anywhere I doesn't seem to make
sense to applyTo anywhere but bindings and implementations. The spec
says....

388 PolicySet authors need to be aware of the evaluation of the
@appliesTo attribute in order to designate
389 meaningful values for this attribute. Although policySets can be
attached to any element in an SCA
390 composite, the applicability of a policySet is not scoped by where
it is attached in the SCA framework.
391 Rather, policySets always apply to either binding instances or
implementation elements regardless of where they are attached.

So while technically you can describe and XPath statement that points
to anywhere in the composite I don't know what it means if the
appliesTo field doesn't point to an implementation or a binding.

>
> B) The binding policy sets will not encompass the full set of policy
> sets inherited by the endpoint, but the idea is that we will check
> every element that the endpoint has inherited from (I don't think this
> is correct today, as the component is missing.)

The endpoint should contain all of the policy sets that are applicable
to the binding up to this stage. The "inheritance" processing uses the
endpoint as the point of aggregation.
>
> C) It's called from within the loop because "policySetsToRemove" is
> the set of policy sets on the service which do not apply to the
> endpoint, and it needs to be removed from each endpoint underneath the
> service.

Ah OK, I get it. I still don't think we need it though.

> The code you listed I think would be correct if we assume that
> appliesTo can only reference a binding element (and implementations,
> though we don't care about that here.) Maybe we should be doing this
> (it would make sense), but without that limit in the spec I don't
> think we can assume it.

I think that is what the spec says.

>
> I'll take a look at the CTS failures.. I wouldn't expect them to be
> related to the changes to the appliesTo builder because those should
> only affect services with multiple endpoints, but there have certainly
> been some other changes that could break them.

Right, am looking too.

>
> Brent
>



-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Reply via email to