Hi Raymond,
I now you posted a while back but people may have forgotten: could
you explain or point us to the shortest-path algorithm you used
(there was a picture) and describe the architectural approach you
took with this? Thanks a bunch.
Also, Ant, I see E4X listed. Are you interested in providing input
for that?
Jim
P.S. I'll post the patch tomorrow when I'm rested or if someone else
gets to it before then, go for it.
On Jul 6, 2006, at 2:49 PM, Raymond Feng wrote:
Hi,
Here's the projects for the data transformation prototype:
1) databinding-framework: It contains the base interfaces and
classes for the framework as well as transformer implementations
for different XML parsing technologies such as DOM, StAX, and SAX.
2) databinding-axiom: Apache ws-common Axiom databinding
3) databinding-castor: Castor 1.0 databinding
4) databinding-jaxb: JAXB 2.0 databinding
5) databinding-sdo: SDO 2.0.1 databinding
6) databinding-xmlbeans: Apache XMLBeans 2.1
7) databinding-test: Integration test for transformation accross
data bindings
The prototype has the following features:
1) Experimental interfaces:
DataBinding (represent metadata for a given databinding such as
<db:databinding.sdo .../>)
Transformer (performs object to object transformation, the
sourceType and resultType is now represented by java classes, I'm
thinking of using unique QNames)
TransformerRegistry (registers transformers and decide which path
to use for given source/result databinding peers),
Mediator (provides the data mediation system service)
PushStyleTransformer (pushes events into the receiver handler)
DataPipe (receives events from the push-style transformer to
populate the result object).
PushStyleTransformer connects to DataPipe to form a regular
Transformer.
2) A directed and weighted graph with the shortest path algorithm.
3) Experimental Transformer implementations for various data
bindings, including SDO, JAXB, XmlObjects, Axiom, Castor, StAX,
DOM, Stream and String.
4) Maven build will automatically generates related classes for
SDO, XmlObjects, JAXB and Castor based on ipo.xsd
5) Test cases demonstrate the usage
Here are some TODOs in my mind.
1) Define how to describe a data binding for SCA artifacts (for
example, references and services), something like
<db:databinding.xxx/> (Potentially
a proposal for the spec?) as well as annotations
2) Finalize the contract interfaces and extensibility for the
framework
3) Align the property story with the framework which may be able to
present the property value in the specified databinding type to the
component implementations
4) Add more data bindings such as E4X
Thanks,
Raymond
----- Original Message ----- From: "Jim Marino"
<[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, July 06, 2006 8:17 AM
Subject: Raymond's data transformation framework checked in for core2
Thanks to Raymond, we have the start of an extensible data
transformation framework for core2. I've checked it in for him
but have not added it to the build since I couldn't get the
plugins to download properly (it may just be the maven repo at
Sun was down). Raymond, could you take a look and since it is
checked in, we can work from patches now on?
I'll let Raymond describe what he did but it looks like it handles
a number of databinding frameworks, including SDO, JAXB, Castor,
Axiom and XMLBeans.
I think it would also be interesting to see if we could add E4X
support. Ant, are you interested in this, since you have been
active with JavaScript and have mentioned using E4X in
transformation scenarios in the past?
Thanks Raymond!
Jim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]