You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Nick Airey <ni...@ihavemoved.com> on 2002/04/12 11:08:56 UTC

Bean generator

Hello everyone, 

I think it would be useful to have a "BeanGenerator", which basically
generates SAX events based on a java bean.

I already have written several of these, customized according to various
java bean structures, but I see I am going to need more of them, so it
would be cool to replace all of these generators with a single generator
which uses bean introspection to generate SAX events.


In my case, the beans in question are value objects returned from EJB
middleware, and cocoon is doing all the presentation layer processing.



My question is: does something like this exist already? I suspect not.

If not, my second question is: does anyone know a good (open) framework 
for converting beans to SAX events. I have been doing some research, and
have come across several projects:

Betwixt
(http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/betwixt/)
Looks promising, but doesn't (yet) have a SAX writer. 

Domify:
(http://domify.sourceforge.net/)

Hammer:
(http://www.csse.monash.edu.au/~bren/Hammer/)
Stars in the WROX "Java XML" book, published 2001, chapter 6.


Can anyone comment on which would be a good way to go. Of course, if
this is considered to be generally useful, I would be happy to donate
the code for the resulting generator to the cocoon project.


Nick.



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Bean generator

Posted by Jeremy Quinn <je...@media.demon.co.uk>.
At 10:08 am +0100 12/4/02, Nick Airey wrote:
>Hello everyone,
>
>I think it would be useful to have a "BeanGenerator", which basically
>generates SAX events based on a java bean.


It would be even more useful implemented as a Source (psuedo protocol),
ideally a WriteableSource (!)

Ask Sylvain, he'll explain ;)

'read' and 'write', marshal and unmarshal ..... (or is it the other way
around? I never remember)

regards Jeremy
-- 
   ___________________________________________________________________

   Jeremy Quinn                                           Karma Divers
                                                       webSpace Design
                                            HyperMedia Research Centre

   <ma...@mac.com>     		 <http://www.media.demon.co.uk>
   <phone:+44.[0].20.7737.6831>             <pa...@vizzavi.net>

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Bean generator

Posted by Ivelin Ivanov <iv...@apache.org>.
Nick, to answer your question,
I'll just forward a discussion I just had with James Strachan.

See below:

----- Original Message -----
From: "Nick Airey" <ni...@ihavemoved.com>
To: <co...@xml.apache.org>
Sent: Friday, April 12, 2002 4:08 AM
Subject: Bean generator


>
> Hello everyone,
>
> I think it would be useful to have a "BeanGenerator", which basically
> generates SAX events based on a java bean.
>
> I already have written several of these, customized according to various
> java bean structures, but I see I am going to need more of them, so it
> would be cool to replace all of these generators with a single generator
> which uses bean introspection to generate SAX events.
>
>
> In my case, the beans in question are value objects returned from EJB
> middleware, and cocoon is doing all the presentation layer processing.
>
>
>
> My question is: does something like this exist already? I suspect not.
>
> If not, my second question is: does anyone know a good (open) framework
> for converting beans to SAX events. I have been doing some research, and
> have come across several projects:
>
> Betwixt
> (http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/betwixt/)
> Looks promising, but doesn't (yet) have a SAX writer.
>
> Domify:
> (http://domify.sourceforge.net/)
>
> Hammer:
> (http://www.csse.monash.edu.au/~bren/Hammer/)
> Stars in the WROX "Java XML" book, published 2001, chapter 6.
>
>
> Can anyone comment on which would be a good way to go. Of course, if
> this is considered to be generally useful, I would be happy to donate
> the code for the resulting generator to the cocoon project.
>
>
> Nick.






----- Original Message -----
From: "James Strachan" <ja...@yahoo.co.uk>
To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
Sent: Monday, April 08, 2002 10:32 PM
Subject: Re: [Question] Betwix & JAXB


> Hi Ivelin
>
> From: "Ivelin Ivanov" <iv...@apache.org>
> > Is there a rundown available on the reasons why Betwix is developing in
> > paralel with JAXB?
>
> Good question :-)
>
>
> > I've used Castor for quite some time and have been happy with its
> > performance.
>
> JAXB takes the approach that a DTD (and one day an XML schema) is used to
> generate beans that can parse/output the XML, then you can derive from
them
> to add behaviour.
>
> Betwixt takes a different approach, that starting with any bean, it
already
> has a default XML representation; then betwixt can be customized with just
> the differences you want (moving elements around, adding arbitrary extra
XML
> nestings, renaming elements/attributes etc). Then betwixt can parse XML
> (using Digester, it essentially defaults digester rules) or output XML
> straight away, then customize to make it esthetically nicer XML later.
>
> On the list of things planned are SAX reader/writers and a DOM
> implementation using betwixt's mappings, then XSLT can be used on beans
> (like the Maven project does). Also I should finally get around to using
> Betwixt to add a bean Navigator to the Jaxen XPath engine. Betwixt
> essentially mirrors the Introspector / BeanInfo classes from java.beans
but
> for mapping information of beans to XML, so there's an XMLIntrospector and
> XMLBeanInfo etc.
>
>
> Both the JAXB & betwixt approaches are equally valid; JAXB is useful if
you
> want some beans generated from some kind of XML 'schema', betwixt is
better
> if you already have the beans and want to customize what the XML looks
like,
> or to automatically default digester rules for you, then maybe customize
> things later.
>
> So if you're starting from beans and want nice XML then betwixt is a good
> tool for the job; if you're starting with a DTD and want to write some
> beans, then look at JAXB.
>
> Castor is kinda in the middle between them with a bit more complexity
thrown
> in for good measure but its got some good stuff in there. Though I always
> get the impression Castor is trying to do too much together at the same
time
> rather than just doing one thing well, but maybe thats just me. I can't
help
> think of the phrase 'jack of all trades and master of none'. e.g. Castor
is
> JDO-like without being compliant, its kind of an O/R mapping tool, its a
> reasonable O/XML mapping tool and a kinda OQL engine all thrown in
together.
> An impressive body of work though.
>
> As an aside, betwixt focusses on the mapping metadata of how beans should
> map to XML, so betwixt could maybe be used to generate Castor java <-> XML
> bindings - though I'm not sure why you'd want to do that ;-)
>
>
> > Apache Axis build their own JavaBean-XML mapping and Betwix is yet
another
> > development in the area.
>
> Its on my list to investigate using Betwixt in Axis. SOAP supports various
> different encodings, 1 of which (usually called the 'soap encoding') is a
> well defined mapping of SOAP to java objects, so Axis probably implements
> that spec.
>
> However for some of the other encodings (such as none where you just get
> XML), then maybe betwixt could be used to map a SOAP schema to some
> implementation beans. i.e. to have a flexible, customizable mapping.
>
> I'd certainly like try out a Betwixt based serializer/deserializer for
Axis
> and see if it works neatly.
>
> James
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Bean generator

Posted by giacomo <gi...@apache.org>.
On 12 Apr 2002, Nick Airey wrote:

>
> Hello everyone,
>
> I think it would be useful to have a "BeanGenerator", which basically
> generates SAX events based on a java bean.
>
> I already have written several of these, customized according to various
> java bean structures, but I see I am going to need more of them, so it
> would be cool to replace all of these generators with a single generator
> which uses bean introspection to generate SAX events.
>
>
> In my case, the beans in question are value objects returned from EJB
> middleware, and cocoon is doing all the presentation layer processing.
>
>
>
> My question is: does something like this exist already? I suspect not.

IIRC the Axis (http://xml.apache.org/axis) project alsready has a
BeanSerializer (as well as BeadDeserializerFactory). I'm not shure if it
generates SAX events.

Giacomo


>
> If not, my second question is: does anyone know a good (open) framework
> for converting beans to SAX events. I have been doing some research, and
> have come across several projects:
>
> Betwixt
> (http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/betwixt/)
> Looks promising, but doesn't (yet) have a SAX writer.
>
> Domify:
> (http://domify.sourceforge.net/)
>
> Hammer:
> (http://www.csse.monash.edu.au/~bren/Hammer/)
> Stars in the WROX "Java XML" book, published 2001, chapter 6.
>
>
> Can anyone comment on which would be a good way to go. Of course, if
> this is considered to be generally useful, I would be happy to donate
> the code for the resulting generator to the cocoon project.
>
>
> Nick.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
>
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org