Antonio Gallardo schrieb: Hello,
> Line 318):
> > java.util.NoSuchElementException: Could not obtain next object:
> > inner
>
> hasNext was false
>
> > 317: while ( it.hasNext() ) {
> > 318: var o = it.next(); // crashes here
> > 319: suggestions.add(o);
> > 320: }
>
> Thanks. This is inside Cocoon Flow. Seems that OJB has nothing to do
> in this case. Please send more code of this Javascript. I would
> recommend to move this business code to a java code and call it from
> your Flow function. There are some small incompatibilities while
> manipulating Java object inside Javascript.
>
> I have interest in know how is declared "it". Which kind of object it
> is.
Same Thing happens when i use it in a java Class.
Javascript is just easier to Debug for me, because i'm not using a java
IDE.
My workaround is to put a try/catch block into the while-loop.
My Java-Code:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.io.*;
import java.text.*;
import java.util.*;
import org.apache.ojb.broker.query.*;
...
Criteria crit = new Criteria();
crit.addEqualToField("logs.menuLinkId","id");
crit.addEqualToField("stylesheet.id","stylesheetId");
ReportQueryByCriteria q = new
ReportQueryByCriteria(MenuLink.class,crit);
String[] attributes = new String[4];
attributes[0] = "logs.menuLinkId";
attributes[1] = "count(*)";
attributes[2] = "name";
attributes[3] = "stylesheet.type";
q.setAttributes(attributes);
q.addGroupBy("logs.menuLinkId");
q.addGroupBy("name");
q.addGroupBy("stylesheet.type");
q.addOrderByDescending("count(*)");
// top 10
q.setEndAtIndex(10);
ArrayList menulinks = new ArrayList();
dao.begin();
Iterator it = dao.getReport (q);
while ( it != null && it.hasNext() ) {
// Catch Exception
try {
Object[] o = (Object[]) it.next();
menulinks.add(o);
} catch (Exception e) {
//nothing
}
}
dao.commit();
Christoph
pgp2U6j5MIt9Y.pgp
Description: PGP signature
