[ https://issues.apache.org/struts/browse/WW-2333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43622#action_43622 ]
Dave Newton commented on WW-2333: --------------------------------- I suspect the original implementation was meant as a convenience: rather than creating a collection and forcing the report developer to create the data source from it the source is created automatically. It actually makes writing new reports a bit easier. I hesitate to just remove this feature as people using the Jasper plugin may be relying on this behavior (I am, anyway). We could add a flag that controls this, I suppose; would that satisfy people? > 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.