[ 
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.

Reply via email to