On Feb 5, 2008 2:38 PM, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:

> Venkata Krishnan wrote:
> > From the history of this mail, I suspect that you haven't got my post in
> > http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg27575.html.
>  I am
> > certainly eager to fix this.   Let me know your thoughts on what I have
> > asked there.  Thanks.
> >
>
> Sorry, it's weird, I never received your post.
>
>  > Venkata Krishnan wrote:
>  > The only issue standing in the way is of how we get hold of the SCDL
>  > over which the xpath in 'appliesTo' can be applied.  I'd like to use
>  > our assembly model writers to write back an SCA artifact (component or
>  > service ... ) as XML and then apply the xpath in appliesTo over this
>  > XML.   All this must be done in the policyset matching phase.
>
> Reading the composite file / building its model / re-writing it to
> finally apply the xpath sounds very complicated.
>

> As an application developer I'll write the appliesTo xpath to match what
> I see in a composite XML file. Why can't we simply run the xpath on that
> original XML file before doing all the other steps?
>

We will not be writing the entire composite, but only a fragment that is the
parent of the intentAttachPoint.  Here is what the spec says : -

283 ..................................................Note that the XPath
expression will always be evaluated
284 within the context of an attachment considering elements where binding
instances or
285 implementations are allowed to be present. The expression is evaluated
against the parent element
286 of any binding or implementation element.
..........................................................

But then, it seems like we may have to look beyond the immediate parent or
maybe the entire composite if your proposal is to be taken.   I'd like to
hear some perspectives from the specs folks on this.

Now, getting to your question more specifically on why this must be done
post-build phase, here it is....
-  Firstly we need the PolicySet definitions to get hold of the
'appliesTo'.
-  For PolicySets that are specified in the composite, they are resolved
during the resolution phase.
-  For those that have to be calculated based on the Intents specified,
there needs to be a complete assembly model that is wired, since we also
need to take into account the target's intents.  This wiring is being done
on the 'wireComposite' method of the CompositeWireBuilder.
-  So the calculation of PolicySets is pushed to this point i.e. its being
done as part of the 'wireComposite' method, the moment the model has all its
connections resolved.
-  Only after the PolicySets are calculated, do we have a handle on the
'appliesTo' attribute of the PolicySets.

Let me know if you like me to explain a little more.  Thanks

- Venkat




>
> --
> Jean-Sebastien
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to