----- Original Message -----
From: "Jim Marino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, August 11, 2006 4:59 PM
Subject: Re: [jira] Updated: (TUSCANY-585) Initial support for callbacks
On Aug 11, 2006, at 11:58 AM, Jeremy Boynes wrote:
I have a feeling there may be some confusion here with terminology -
heck, I know I'm confused :-)
Yes, I think it is a terminology thing. I was thinking of the three
scenarios below and local only being a case of #1.
I think there are several scenarios here and would like to make sure
they are all being covered.
1) Component->Component - this must lie within a Composite and may have
local or remote semantics
2) Component->Reference with remote Binding - the wire lies within a
Composite and disappears into the remote binding
3) Component->Reference wired by the Composite - there is a local wire
between the Component and the Reference and an external wire from the
CompositeComponent to a sibling Component or Reference (aka the "uncle")
I believe cases 1) and 2) are well covered. A target SCAObject is
created with an inbound wire which is then connected to an outbound wire
from the source. The resulting connection may be optimized away, or may
have policy or other interceptors applied.
Yes but #2 still need to be done.
I am confused about how case 3) is being handled, specifically how the
connection is being made between the Reference and the
CompositeComponent.
I think there is a good case to me made for having an SCAObject to
represent the Reference - for example, you may want to manage the
reference in some way. Having it there does not mean that it needs to be
part of the invocation path. For example, during connection the wire
could be optimized in a way that allowed the "uncle" to be directly
injected into the source.
Perhaps "JavaReference" is confusing here - how about we call it a
"CompositeReference", as in "a Reference whose wiring is handled by the
composite component that contains it." This would work in conjunction
with a CompositeComponent to pass wires around - for example,
CompositeComponent.addOutboundWire could just delegate down to the
appropriate CompositeReference (selected by name).
Yes having the special type of reference makes sense because this is a
type of binding. The target invoker in this case could actually be an
interceptor which flowed the invocation to the head interceptor of the
uncle. If this is the case, we may need to have the Connector handle this
case of finding the target in the outer "grandparent" composite (if that
makes sense).
So, if a CompositeReference is a type of binding then it needs to define a
Binding subclass, a BindingBuilder and a BindingLoader, for which an XMLType
needs to be defined. What would this be, binding.sca, would it be implicit.
If it is implicit, how does the corresponding BindingBuilder know that a
CompositeReference is being built?
The interceptor realization of the target invoker seems a bit mysterious to
me, can you elaborate a bit?
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]