Passar arraylist para subreport - Ireport

Olá a todos, meu primeiro post, se estiver no lugar errado, desculpe!
Galera estou meio que sem pra quem recorrer por isso resolvi tentar vcs… provavelmente minha última chance.

Pois bem estou tentando passar um JRBeanCollection para um Subreport do Ireport, entretando na classe java que chama o .jasper sempre gera o mesmo erro
Segue codigo

            List<vencimentos> v = new ArrayList<vencimentos>();
            v.add(new vencimentos("20/04/2012", "30/12/2012"));
            v.add(new vencimentos("20/04/2012", "30/12/2012") );
            JRDataSource deps = new JRBeanCollectionDataSource(v);
            
            p.put("subVencimento",deps);

Quando tento chamar o relatorio ele gera o seguinte erro:


net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
        Source text : new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{subVencimento})
        at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:203)
        at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
        at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
        at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:876)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:356)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:275)
        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:257)
        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:473)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillFixedBand(JRVerticalFiller.java:2072)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageFooter(JRVerticalFiller.java:1007)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryWithLastFooterNoPageBands(JRVerticalFiller.java:1549)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1047)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:296)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:135)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765)
        at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
        at Frames.FrameNotaCompra.imprimirActionPerformed(FrameNotaCompra.java:347)
        at Frames.FrameNotaCompra.access$000(FrameNotaCompra.java:47)
        at Frames.FrameNotaCompra$2.actionPerformed(FrameNotaCompra.java:174)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
        at java.awt.Dialog$1.run(Dialog.java:1046)
        at java.awt.Dialog$3.run(Dialog.java:1098)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Dialog.java:1096)
        at java.awt.Component.show(Component.java:1563)
        at java.awt.Component.setVisible(Component.java:1515)
        at java.awt.Window.setVisible(Window.java:842)
        at java.awt.Dialog.setVisible(Dialog.java:986)
        at Frames.FramePrincipal.jMenuItem6ActionPerformed(FramePrincipal.java:174)
        at Frames.FramePrincipal.access$500(FramePrincipal.java:22)
        at Frames.FramePrincipal$6.actionPerformed(FramePrincipal.java:107)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassCastException: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource cannot be cast to java.util.List
        at ordem_de_pagamento_1339417425668_791849.evaluate(ordem_de_pagamento_1339417425668_791849:350)
        at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:190)
        ... 81 more

Galera estou usando o ireport 4.6.0… qualquer ajuda é bem vinda!

No xml que é gerado,provavelmente o $P{subVencimento} está como java.lang.String,caso esteja modifique pra java.util.List .

p.put(“subVencimento”,deps);

No subrelatorio você eu acho que tem que passar a list não o JRBeanCollectionDataSource

tenta passar assim

List v = new ArrayList();
v.add(new vencimentos(“20/04/2012”, “30/12/2012”));
v.add(new vencimentos(“20/04/2012”, “30/12/2012”) );

p.put(“subVencimento”,v);

Certo, tentei passando a list diretamente no parametro e o erro foi este!

Opa, raf4ever
entao ja verifiquei é o parametro esta com java.util.List

java.lang.NoClassDefFoundError: org/apache/commons/beanutils/PropertyUtils 

Faltando o commons-beanutils.jar

Aliás coloque logo os commons-xxx.jar mais utilizados,pois esses erros costumam ser encadeados.