Please help with this:
I'm getting the following error when I call next() on Iterator. However
hasNext() returns true. if I do a getCount on broker, then it correctly
returns the number of records. Any idea what the problem here could be?
Thanks,
Gaurav
----------------------------------------EXCEPTION---------------------------
-----------------------------------------
[23/Dec/2002:16:19:53] failure ( 526): Internal error: exception thrown
from the servlet service function (uri=/ojb/test.do):
java.util.NoSuchElementException, Stack: java.util.NoSuchElementException
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getCollectionByQu
ery(Unknown Source)
at
com.gecapital.erc.phoenix.test.TestServlet.getTableIterator(Unknown Source)
at com.gecapital.erc.phoenix.test.TestServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServl
etRunner.java:897)
at
com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1
059)
at
com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunne
r.java:959)
-------------------------------------------CODE-----------------------------
-------------------------------------
protected Iterator getTableIterator() throws IOException
{
Iterator result = null;
Collection cresult = null;
PersistenceBroker broker = null;
try
{
broker = getBroker();
}
catch (Exception ex)
{
throw new IOException(ex.getMessage());
}
Criteria selectAll = null;
Query query = QueryFactory.newQuery(MBudget.class, selectAll);
cresult = broker.getCollectionByQuery(query);
result = cresult.iterator();
//this.getServletContext().log(Integer.toString(broker.getCount(query)));
broker.close();
return result;
}
protected void writeTable(Iterator iter, PrintWriter writer)
{
writer.println("<table border=\"1\">");
writer.println("<tr><td><b>ID</b></td></tr>");
while (iter.hasNext())
{
MBudget a = (MBudget) iter.next();
writer.println("<tr><td>" + a.getbudget_id() + "</td>
</tr>");
writer.println("<tr><td>aaa</td> </tr>");
}
writer.println("</table>");
}
The iter.next() fails with NoSuchElementException
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>