[ https://issues.apache.org/struts/browse/WW-2333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44584#action_44584 ]
Dave Newton commented on WW-2333: --------------------------------- If you attempt to create, say, a JRBeanCollectionDataSource from an iterable action property, the subreport will fail--you must pass the property through as-is, as the plugin will have done the conversion already. This makes reports containing subreports unusable outside of S2. This is a Bad Thing, as people with a large assortment of reports don't want to, and shouldn't have to, go in and modify all their reports (and, in turn, make them unusable outside of S2). > 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.