[ https://issues.apache.org/jira/browse/WW-3245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-3245: ------------------------------ Fix Version/s: 3.x > Jasper plugin does not support supply of data via report parameters (for > example Hibernate session object) > ---------------------------------------------------------------------------------------------------------- > > Key: WW-3245 > URL: https://issues.apache.org/jira/browse/WW-3245 > Project: Struts 2 > Issue Type: Improvement > Components: Plugin - JasperReports > Affects Versions: 2.1.6, 2.3.x, Future > Environment: Present in all environments, attempting usage of > Hibernate query HQL embedded in a JasperReport. > Reporter: Andrew Hodgson > Priority: Minor > Fix For: 3.x > > Attachments: struts2JasperReportsPluginHQLPatch.patch > > > A typical usage scenario for a Jasper report involves writing code within the > report document to retrieve report from a database recent Struts code > supports this via supply of a SQL Connection object, but I notice it's not > supported in 2.1.6 production release. > JasperReports supports many implementation languages for it's data retrieval > code, but in particular I have identified issue in relation to Hibernate HQL > queries. > Normal route in this scenario (if not using Struts JasperReports plugin) is > to supply Hibernate session as a parameter to the report, then implement HQL > within the document to retrieve the data. However the Plugin only supports > Connection or a pre-populated dataSource as a source for the report's data. > This means a temporary data structure (perhaps a sizable List / Map) must be > produced in order to present data to the Plugin.. > It would be more efficient and convenient to either support supply of a > Hibernate Session object, or allow call to the plugin when both connection > and datasource are absent. In this scenario, the plugin would respond by > calling > http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JasperFillManager.html#fillReport(java.io.InputStream,%20java.util.Map) > And rely on Jasper Fill Manager's inbuilt functionality to draw connection > detail from the supplied parameters. This option has the advantage that it > can support a range of query languages / connection methods that > JasperReports may support, now or in the future. > The code would of course have to deal with the case in which the relevant > report parameters have be left blank, and thus respond with an appropriate > error condition, as it does in Struts 2.1.6 when dataSource has been left > null. > I will attempt to produce a patch with proposed modified code in the near > future, to assist with this improvement. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira