[ 
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: 7.0.0
                       (was: 6.1.0)

> 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.20, 6.1.0
>         Environment: Present in all environments, attempting usage of 
> Hibernate query HQL embedded in a JasperReport.
>            Reporter: Andrew Hodgson
>            Priority: Minor
>             Fix For: 7.0.0
>
>         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 was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to