Sounds way cool!
I would go for key-value coding rather than JavaBean.
Be aware that reports may need loads of data. You will need a way to get the data into the application bit by bit and free it for garbage collection as soon as possible. IMHO the most important constraint is being memory- constant. Execution time my be linear in relation to the amount of data.
You might want to have a look at the FetchSpecBatchIterator on my web site: http://homepage.mac.com/i_love_my
Pierre
[EMAIL PROTECTED] wrote on 12/06/2005 05:11:45 PM:
> Hi everyone,
>
> I've been reading some of the posts on this list about generating
> PDFs and reports from WebObjects, and also getting really frustrated
> with the "impedance match" between EO and something like
> JasperReports (which seems to expect people to write sql queries to
> extract data).
>
> What I'm thinking of doing for the couple of projects I'm working on,
> and for anyone else who wants to use it, is writing some kind of
> reporting framework/subsystem that integrates well with collections
> of data objects.
>
> My first-cut vague design would require objects that may be included
> in a report to be JavaBeans (use getXX and setXX), and to implement a
> simple interface (maybe 2 methods?). The report design would be in
> XML, which the reporting engine would use to query the collection of
> data objects and construct an intermediate representation (an in-
> memory DOM tree?) which could then be transformed to one of a number
> of output formats using XSL or FO or what have you.
>
> For one of my projects, the final reports will need to include charts
> and some reasonably detailed analysis of the data as well.
>
> Does happen to know of anything similar that already exists? Is there
> perhaps an XSL engine out there that allows a straightforward mapping
> between elements and beans?
>
> And, if I was to begin to write such a package, would others find it
> useful?
>
> Thanks in advance,
>
> Jarvis
>
> PS:
>
> I imagine the report design XML would look something like:
>
> <report>
> <page size="a4" orientation="landscape"/>
> <repeat object="Person" name="Person">
> <qualifier>
> <equal key="city" value="Melbourne"/>
> </qualifier>
> <sort priority="1" key="surname" order="ascending" />
> <sort priority="2" key="firstname" order="ascending" />
>
> <record newpage="always">
> <box x="10mm" y="10mm" height="50mm" width="100mm">
> Good afternoon, <field>Person.firstname</field>
> </box>
> &c
>
> ... Which I imagine translates to "list those Person objects where
> city="Melbourne", and output the message in a positioned box." After
> passing through my imaginary report engine, the intermediate
> representation might look like:
>
> <report>
> <page size="a4" orientation="landscape"/>
> <record newpage="always">
> <box x="10mm" y="10mm" height="50mm" width="100mm">
> Good afternoon, John
> </box>
> ...
> <record newpage="always">
> <box x="10mm" y="10mm" height="50mm" width="100mm">
> Good afternoon, Susan
> </box>
>
> which coud then be translated into HTML or PDF or what have you by XSL.
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/pierre.bernard%40bcl.lu
>
> This email sent to [EMAIL PROTECTED]
>
**********************************************************************
This email and any files transmitted with it are intended solely for
the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the sender
of this message. ([EMAIL PROTECTED])
This email message has been checked for the presence of computer
viruses; however this protection does not ensure this message is
virus free.
Banque centrale du Luxembourg; Tel ++352-4774-1; http://www.bcl.lu
**********************************************************************
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]
