Hi,
May be it is not good idea that your classes depends on http and jasper? I mean the following:
1. Usually for request on generation it is something more general then simple http request. Request on generation it is some command (instance of some bean/class) that contains all input parameters for report and not always this command was getted from http. I think will be enough only bind http request/session attributes/parameters on any command and redirect http request to some delegate (report engine) that depends only on specific command class and output stream. This delegate should work in his separate light container that not should be depends on http package.
2. There are some other report engines (not only Jasper) that can be used. Why we should add dependence spring on jasper (not other report engine)? I think this dependencies should erase on delegate level that can imlpement view rendering in his own way...
So, my suggestion:
1. Implement separate DispatchReportingEngine is the samiliar way as DispatcherPortlet and DispatcherServlet (and may be generalize all this dispatcher) with his own ReportingRequest, ControllerMapping, ControllerExecutionChain, ControllerExceptionResolver, LocaleResolver
2. Try to generalize this pattern and use common core as for reporting, so for portlet and servlet...
I developed already some infrastructure for reporting package that was based on servlet and portlet packages (If need I can send it in short time) and I participate in portlet package...
It will be great if my ideas are intresting for you.
Maxim


Reply With Quote
