[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Limitation of Ozone -- Cant return an iterator
- To: Ozone <ozone-users@ozone-db.org>
- Subject: Limitation of Ozone -- Cant return an iterator
- From: Neil Aggarwal <neil@JAMMConsulting.com>
- Date: Fri, 01 Dec 2000 11:17:13 -0500
- Delivered-To: softw7-ozone-db:org-ozone-users@ozone-db.org
Hello:
In one of my persistent class's implementation, I have a method that
returns an Interator for a collection:
public Iterator getDataIterator() {
return map.getValues().iterator();
}
When I call this method, the proxy object throws this
Exception:
org.ozoneDB.UnexpectedException: java.io.WriteAbortedException: Writing
aborted by exception; java.io.NotSerializableException:
java.util.HashMap$HashIterator
at
persistent.ControllerImpl_Proxy.getDataIterator(ControllerImpl_Proxy.java:67)
at DatabaseTest.doGet(DatabaseTest.java:102)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:156)
at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:484)
Here is the generated code in the Proxy:
public java.util.Iterator getDataIterator () {
try {
Object target = link.fetch (this, Lock.LEVEL_READ);
if (target != null) {
return
(java.util.Iterator)ResultConverter.substituteOzoneCompatibles
(((persistent.ControllerImpl)target).getDataIterator());
}
else {
Object[] args = {};
Object result = link.invoke (this, 6, args,
Lock.LEVEL_READ);
return (java.util.Iterator)result;
}
}
catch (RuntimeException e) {
e.fillInStackTrace();
throw e;
}
catch (Exception e) {
e.fillInStackTrace();
throw new UnexpectedException (e.toString());
}
}
}
Is this a limitation of Ozone in that I cant return an iterator from the
database?
What other such limitations exist?
Thanks,
Neil.
--
Neil Aggarwal
JAMM Consulting, Inc. -- (972) 612-6056, http://www.JAMMConsulting.com
Custom Internet Development -- Java, JSP, servlets, databases