Hi Raymond,
I have (finally) added support for the data binding framework to be
plugged into the wiring infrastructure. To do this, you can follow
these steps:
1. Extend JavaInterfaceProcessorExtension with an implementation that
understands service contract annotations and updates ServiceContract
or Operation. Right now, each implementation processor must
introspect the class associated with the ServiceContract as opposed
to using a more granular visitor as was done for the implementation
processors. I think this is the right way to go about it but if we
find a more granular approach is easier, it will be a trivial change.
I also added metadata maps on ServiceContract and Operation for
additional data binding (or other) information.
2. Extend WirePostProcessorExtension with an implementation that will
introspect the ServiceContract on a wire and operation, updating
invocation chains based on metadata. Wire post processors are called
by the connector after all policies have been added and the target
wire resolved but before the source and target wires are connected.
These post processors must be careful not to "over-optimize" target
chains as multiple source wires may be attached to them (e.g. when
two components wire to the same reference). In the databinding case,
the transformation interceptor must be placed on the source side. As
policy comes in, I'm sure we are going to have interesting scenarios
to resolve (e.g. where do we add the intereceptor, what about
handlers, etc.).
Let me know how this goes.
Jim
BTW, I'm going to start to add in support for XStream (http://
xstream.codehaus.org/) since it will give us a POJO-based data
binding framework, support for complex Java types, and alternative
serializations (including JSON) so I may be asking you questions
about the databinding API soon.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]