[
https://issues.apache.org/struts/browse/WW-2333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44583#action_44583
]
Ben Morgan commented on WW-2333:
--------------------------------
As I understand it, to view collections in a standalone iReport, you would need
to perform the extra work of creating a JRDataSource implementation as a source
for a subreport to view Collection properties of a JavaBean.
A report for Struts2 does not need to do this, as the ValueStackDataSource does
the lifting for you by creating a JRDataSource for any Iterable property.
So any report with a subreport on a collection that works for standalone
iReport, will also work for Struts2 - the ValueStackDataSource doesn't
recognise the JRDataSource property and just passes it through unaffected. The
opposite is not true, however, I feel that taking this away, forces Struts2
developers to make reports usable in standalone iReport, where some simply
don't need that functionality.
> ValueStackDataSource implementation leads to class cast exceptions
> ------------------------------------------------------------------
>
> Key: WW-2333
> URL: https://issues.apache.org/struts/browse/WW-2333
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - JasperReports
> Affects Versions: 2.0.11
> Reporter: Thorsten Schäfer
> Fix For: Future
>
>
> Assume you have a class Foo that has a Collection of Bar's. Without using
> Struts, the expected behavior of a report that takes Foo's as input is, that
> a reference $F{bar} returns a java.util.Collection (of Bar's). However, this
> will not be the case when using the ValueStackDataSource implementation; an
> instance of ValueStackDataSource is returned instead of a collection. If the
> method "getFieldValue" gets called, it checks if the field value is
> iteratable (which is true for collections) and then returns a new
> ValueStackDataSource instead of the field value itself. I assume that this
> behavior breaks many reports.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.