On Mon, Jun 13, 2011 at 9:50 AM, Nirmal Fernando <nirmal070...@gmail.com> wrote: > Hi Mike, > > On Mon, Jun 13, 2011 at 10:15 PM, Mike Edwards > <mike.edwards.inglen...@gmail.com> wrote: >> >> On 13/06/2011 08:42, Nirmal Fernando wrote: >>> >>> Hi All, >>> >>> As you know, I'm in the process of creating composite diagram >>> automatically for a given composite XML. >>> I have a question, where I need your input. >>> >>> According to the spec there are many ways that one could specify a target >>> service for a reference [1]. >>> I am wondering whether I've to consider all of those options? >>> >>> Thanks. >>> >>> PS: Herewith I've attached a sample image generated by the tool which is >>> still not fully complete! I am >>> using Apache Batiks to create SVG document, and I am implementing my own >>> layout algorithm. If you >>> have any comments please do fire them. Source code is available at [2]. >>> >>> [1] >>> http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-spec-cd03.html#_Toc225073583 >>> [2] >>> https://svn.apache.org/repos/asf/tuscany/collaboration/GSoC-2011-Nirmal/ >>> -- >>> Best Regards, >>> Nirmal >>> >> Nirmal, >> >> Can you help us a bit please? Which forms of reference specification are >> you dealing with at the moment? >> >> The basic ones are: >> >> o @target parameter >> o @autowire >> o promotion (and thus targeting at a higher level) >> o <wire/> element(s) >> o binding with a specified target URI > > Currently only @target attribute is supported. I wanted to know what other > forms are exactly needed! > > In the spec there are 7. > > 1. Through a value specified in the @target attribute of the reference > element > > 2. Through a target URI specified in the @uri attribute of a binding > element which is a child of the reference element > > 3. Through the setting of one or more values for binding-specific > attributes and/or child elements of a binding element that is a child of the > reference element > > 4. Through the specification of @autowire="true" for the reference (or > through inheritance of that value from the component or composite > containing the reference) > > 5. Through the specification of @wiredByImpl="true" for the reference > > 6. Through the promotion of a component reference by a composite > reference of the composite containing the component (the target service is > then identified by the configuration of the composite reference) > > 7. Through the presence of a <wire/> element which has the reference > specified in its @source attribute. >> >> - I leave out @wiredByImpl since there is no implementation type that does >> this at the moment >> >> >> Yours, Mike. > > > > -- > Best Regards, > Nirmal >
I would list, in decreasing priority order: - @target - <wire> - promotion - autowire, which you could leave out for now, as (1) I've not seen it used a lot and (2) if you didn't want to explicitly declare the wires explicitly, but on the other hand you really want to see them in a diagram... I could argue that you don't really know what you want :) - binding URIs, I'd leave that one out as configuring binding endpoint addresses is not really wiring. Thoughts? -- Jean-Sebastien