Check out:

http://gae-java-persistence.blogspot.com/2009/10/serialized-fields.html

Perhaps re-writing like that will work.

On Aug 8, 4:59 pm, Saqib Ali <[email protected]> wrote:
> Stephen,
>
> had already tried that earlier. tried it now again. no luck :(
>
> On Aug 8, 3:42 pm, Stephen Johnson <[email protected]> wrote:
>
> > Hi Saqib,
> > Try this:
> >   �...@persistent(serialized = "true")
>
> > Stephen
>
> > On Aug 8, 2:52 pm, Saqib Ali <[email protected]> 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(DataTy
> > >  peUtils.java:
> > > 149)
> > >         at
> > > com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTy
> > >  peUtils.java:
> > > 123)
> > >         at 
> > > com.google.appengine.api.datastore.Entity.setProperty(Entity.java:
> > > 280)
> > >         at
> > > org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(Data
> > >  storeFieldManager.java:
> > > 843)
> > >         at
> > > org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStat
> > >  eManager.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(Da
> > >  tastorePersistenceHandler.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(ParseBlo
> > >  bUploadFilter.java:
> > > 97)
> > >         at org.mortbay.jetty.servlet.ServletHandler
> > > $CachedChain.doFilter(ServletHandler.java:1157)
> > >         at
> > > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionF
> > >  ilter.java:
> > > 35)
> > >         at org.mortbay.jetty.servlet.ServletHandler
> > > $CachedChain.doFilter(ServletHandler.java:1157)
> > >         at
> > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans
> > >  actionCleanupFilter.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(AppVersionH
> > >  andlerMap.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(RpcRequ
> > >  estParser.java:
> > > 76)
> > >         at 
> > > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> > >         at
> > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques
> > >  t(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(BlockingAp
> > >  plicationHandler.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(LocalTraceSpa
> > >  nBuilder.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.j
> > >  ava:
> > > 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.j
> > >  ava:
> > > 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to