Hi Saqib,
Try this:
   @Persistent(serialized = "true")

Stephen

On Aug 8, 2:52 pm, Saqib Ali <docbook....@gmail.com> wrote:
> I have an object defined Serializable as follows:
>
> public class comment implements Serializable {
>     /**
>          *
>          */
>         private static final long serialVersionUID = 1L;
>         private String commentText;
>     private String commenterFedID;
>
>     public comment (){
>         this.commentText = "";
>         this.commenterFedID = "";
>     }
>
>     public comment (String commentText, String commenterFedID){
>         this.commentText = commentText;
>         this.commenterFedID = commenterFedID;
>     }
>
>     public String getCommentText() {
>         return commentText;
>     }
>
>     public String getCommenterFedID() {
>         return commenterFedID;
>     }
>
> }
>
> I am using this serialized object in a Data Class as follows:
>
>     @Persistent
>     private ArrayList<comment> comments = new ArrayList<comment>();
>
> But it generates the following exception:
>
> java.lang.IllegalArgumentException: comments: testapp.comment is not a
> supported property type.
>         at
> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:
> 184)
>         at
> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:
> 149)
>         at
> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:
> 123)
>         at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:
> 280)
>         at
> org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(DatastoreFieldManager.java:
> 843)
>         at
> org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:
> 1037)
>         at testapp.idea.jdoProvideField(idea.java)
>         at testapp.idea.jdoProvideFields(idea.java)
>         at
> org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:
> 2715)
>         at
> org.datanucleus.store.appengine.DatastorePersistenceHandler.updateObject(DatastorePersistenceHandler.java:
> 534)
>         at
> org.datanucleus.state.JDOStateManagerImpl.flush(JDOStateManagerImpl.java:
> 4576)
>         at
> org.datanucleus.ObjectManagerImpl.flushInternal(ObjectManagerImpl.java:
> 2814)
>         at org.datanucleus.ObjectManagerImpl.flush(ObjectManagerImpl.java:
> 2754)
>         at org.datanucleus.ObjectManagerImpl.preCommit(ObjectManagerImpl.java:
> 2893)
>         at
> org.datanucleus.TransactionImpl.internalPreCommit(TransactionImpl.java:
> 369)
>         at org.datanucleus.TransactionImpl.commit(TransactionImpl.java:256)
>         at org.datanucleus.ObjectManagerImpl.close(ObjectManagerImpl.java:
> 801)
>         at
> org.datanucleus.jdo.JDOPersistenceManager.close(JDOPersistenceManager.java:
> 271)
>         at testapp.saveComment.doGet(saveComment.java:43)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 511)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1166)
>         at
> com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
> 97)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
> 35)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
> 43)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> 388)
>         at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 216)
>         at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> 182)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> 765)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 418)
>         at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
> 238)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 542)
>         at org.mortbay.jetty.HttpConnection
> $RequestHandler.headerComplete(HttpConnection.java:923)
>         at
> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
> 76)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
> 135)
>         at
> com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
> 250)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:7115)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:7113)
>         at
> com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:
> 24)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 398)
>         at com.google.net.rpc.impl.Server$2.run(Server.java:852)
>         at
> com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
> 56)
>         at
> com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:
> 576)
>         at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
>         at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
>         at
> com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
> 442)
>         at
> com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
> 319)
>         at
> com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
> 290)
>         at com.google.net.async.Connection.handleReadEvent(Connection.java:
> 474)
>         at
> com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
> 831)
>         at
> com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
> 207)
>         at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> 103)
>         at
> com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
> 251)
>         at com.google.apphosting.runtime.JavaRuntime
> $RpcRunnable.run(JavaRuntime.java:417)
>         at java.lang.Thread.run(Unknown Source)
>
> Any thoughts on what could be causing this?
>
> Saqib

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to