Hello!

I'm using RepeaterAsList, because when I try to pass Repeater to the
procedure

 

public void addRepeater(Repeater repeater, int compositionID), 

 

I got the exception:

 

org.mozilla.javascript.EvaluatorException: Can't find method
org.apache.cocoon.mysamples.jdbc.postgresJDBCConn.addRepeater(org.apache.coc
oon.forms.util.RepeaterAsList,number)

 

I can't imagine why flowscript needs RepeaterAsList:

 

 

From: Christofer Dutz [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 10, 2008 5:40 PM
To: users@cocoon.apache.org
Subject: AW: pass repeater to the database using javaflow

 

Hi,

 

Well I have never used RepeaterAsList so I can't really say what type the
elements are, but in the Web I could find:

 

A List view of a
<http://www.jdocs.com/link/org/apache/cocoon/forms/formmodel/Repeater.html>
Repeater , each element of the list being a Map wrapping a repeater row, as
defined by
<http://www.jdocs.com/link/org/apache/cocoon/forms/util/ContainerWidgetAsMap
.html> ContainerWidgetAsMap .

 

You are explicitly casting your RepeaterAsList Elements to Repeater as List
: I would guess that casting to "Map" would be better.

 

By the way : I always access Repeater rows by:

                Repeater.RepeaterRow repeaterRow = (Repeater.RepeaterRow)
repeaterObj.getRow(rowIndex);

Works like a charm for me.

 

Hope this helps,

    Chris

 

Von: Мария Григорьева [mailto:[EMAIL PROTECTED] 
Gesendet: Freitag, 10. Oktober 2008 15:20
An: users@cocoon.apache.org
Betreff: pass repeater to the database using javaflow

 

Hello!

 

I need to pass the repeater params to the database. 

Here the function:

 

public void addRepeater(RepeaterAsList repeater, int compositionID) throws
SQLException {

 

                               for (int i=0;i<repeater.size();i++) {

                                               PreparedStatement p_stmt = 

 
con.prepareStatement("insert into component_in_composition(id_composition,
component, amount) " +

 
"values(?, ?, ?)");

                                               p_stmt.setInt(1,
compositionID);

                                               BigDecimal type =
(BigDecimal) ((RepeaterAsList)
repeater.get(i)).getWidget("type").getValue();

                                               BigDecimal amount =
(BigDecimal) ((RepeaterAsList)
repeater.get(i)).getWidget("amount").getValue();

                                               p_stmt.setBigDecimal(2,
type);

                                               p_stmt.setBigDecimal(3,
amount);

                                               p_stmt.execute();

                               }

                }

 

But I've got java.lang.ClassCastException!!!!

 

Please help! How to do it right?

Reply via email to