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

Attachment: pgp2U6j5MIt9Y.pgp
Description: PGP signature

Reply via email to