public class Qarray {
        public String[][] Cellval;
        public Qarray()
        {

        }
}

-----------------------------------





import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.Extension;

import java.util.ArrayList;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Question {
    @PrimaryKey
    @Persistent
    private String Pid;
    @Persistent
    public ArrayList<Qarray> qarray;

    public void setQuestion(String progid,String[][] cellval)
        {
                this.Pid = progid;
                Qarray qa = new Qarray();
                qa.Cellval = cellval;
                this.qarray = new ArrayList<Qarray>(1);
                this.qarray.add(qa);
        }

        public Question()
        {
        }


        public void setPid(String pid)
        {
                this.Pid = pid;
        }

        public String getPid()
        {
                return(this.Pid);
        }

        public String[][] getCellval()
        {
                return this.qarray.get(0).Cellval;
        }

}


------------------------------------------------------



I write it using below mentioned lines from a different class:

public void writeQuestion(Question Q1)
        {
               PersistenceManager pm =
PMF.get().getPersistenceManager();
                try {
                    pm.makePersistent(Q1);
                } finally {
                    pm.close();
                }


        }


-------------------------------------------------------

I am still getting exception like,


java.lang.IllegalArgumentException: Qarray is not a supported property
type.
        at
com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:
114)
        at
com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:
99)
        at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:
257)
        at
org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(DatastoreFieldManager.java:
757)
        at
org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:
1011)
        at com.cword.proj.Question.jdoProvideField(Question.java)
        at com.cword.proj.Question.jdoProvideFields(Question.java)
        at
org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:
2597)
        at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:
180)
        at
org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:
3067)
        at
org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:
3043)
        at
org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:
1258)
        at
org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:
1135)
        at
org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:
668)
        at
org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:
693)
        at com.cword.proj.AccessQuestions.writeQuestion(AccessQuestions.java:
80)
        at org.apache.jsp.Temp_jsp._jspService(Temp_jsp.java:112)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
324)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
292)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at com.google.appengine.tools.development.PrivilegedJspServlet.access
$101(PrivilegedJspServlet.java:23)
        at com.google.appengine.tools.development.PrivilegedJspServlet
$2.run(PrivilegedJspServlet.java:59)
        at java.security.AccessController.doPrivileged(Native Method)
        at
com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:
57)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1093)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
360)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
        at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
54)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
139)
        at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:306)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:830)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
396)
        at org.mortbay.thread.BoundedThreadPool
$PoolThread.run(BoundedThreadPool.java:442)



On Mar 12, 4:18 am, datanucleus <[email protected]> wrote:
> You mean you now have ArrayList<ArrayList>, as opposed to the array
> mentioned in your first post ?
>
> ArrayList<ArrayList> is not a supported property type. ArrayList is.
> You could obviously add a dummy class (e.g MyTempClass) as persistable
> with the other ArrayList in it as a field so the original field
> becomes ArrayList<MyTempClass>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" 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-java?hl=en.

Reply via email to