Thanks. I will repost it in the Objectify group after trying the new GAE-1.3.7 with objectify-2.2.1. The persistence is done on the entity Greeting which extends the GenericDAO which extends the Objectify DAONase. I do not even override the DAOBase constructor with OjectifyOpts.
Do not answer this post. Please give me few hours and suggestions in Objectify group. BaTien DBGROUPS and BudhNet On Sat, 2010-09-04 at 23:06 -0700, Jeff Schnitzer wrote: > 1) Jeff is right, you should post this to the objectify list. The > objectify developers don't consistently monitor this list. > 2) When you do, you should post your entity code, not your generic dao code. > 3) Somehow you're trying to persist a field of type ObjectifyOpts. > You can't do that. > > Jeff > > On Sat, Sep 4, 2010 at 6:59 PM, Jeff Schwartz <[email protected]> wrote: > > I believe you should try posting your question at > > [email protected]. > > > > On Sat, Sep 4, 2010 at 4:23 PM, Duong BaTien <[email protected]> wrote: > >> > >> Hi: > >> > >> I upgrade to Objectify-2.1.1 with GAE-1.3.6 and retest the guestbook > >> tutorial. I get the exception while persisting the greeting object to > >> the datastore. I notice the ObjectifyOpts is new in this 2.1.1 version. > >> > >> [java] WARNING: /sign > >> [java] java.lang.IllegalArgumentException: opts: > >> com.googlecode.objectify.ObjectifyOpts is not a supported property type. > >> [java] at > >> > >> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) > >> [java] at > >> > >> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:157) > >> [java] at > >> > >> com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:123) > >> [java] at > >> > >> com.google.appengine.api.datastore.Entity.setUnindexedProperty(Entity.java:300) > >> [java] at > >> > >> com.googlecode.objectify.impl.save.FieldSaver.setEntityProperty(FieldSaver.java:156) > >> [java] at > >> > >> com.googlecode.objectify.impl.save.LeafFieldSaver.saveValue(LeafFieldSaver.java:94) > >> [java] at > >> com.googlecode.objectify.impl.save.FieldSaver.save(FieldSaver.java:139) > >> [java] at > >> com.googlecode.objectify.impl.save.ClassSaver.save(ClassSaver.java:110) > >> [java] at > >> com.googlecode.objectify.impl.Transmog.save(Transmog.java:342) > >> [java] at > >> > >> com.googlecode.objectify.impl.EntityMetadata.toEntity(EntityMetadata.java:230) > >> [java] at > >> com.googlecode.objectify.impl.ObjectifyImpl.put(ObjectifyImpl.java:195) > >> [java] at > >> com.budhnet.aas.service.process.GenericDao.put(GenericDao.java:140) > >> [java] at > >> com.budhnet.aas.service.process.Greeting.storeGreeting(Greeting.java:104) > >> [java] at > >> > >> com.budhnet.aas.service.process.SignGuestbookServlet.doPost(SignGuestbookServlet.java:50) > >> > >> My constructors of genericDAO are: > >> > >> @SuppressWarnings("unchecked") > >> public GenericDao(){ // DAO without transaction > >> super(); > >> clazz = ((Class) ((ParameterizedType) > >> getClass().getGenericSuperclass()).getActualTypeArguments()[0]); > >> } > >> > >> @SuppressWarnings("unchecked") > >> public GenericDao(boolean transactional){ // DAO with transaction > >> super(transactional); > >> clazz = ((Class) ((ParameterizedType) > >> getClass().getGenericSuperclass()).getActualTypeArguments()[0]); > >> } > >> > >> and constructors for the greeting are: > >> > >> public Greeting() { super(); } > >> public Greeting(boolean transactional) { super(transactional); } > >> > >> public Greeting(User author, String content, Date date) { > >> this.author = author; > >> this.content = content; > >> this.date = date; > >> clazz = ((Class) ((ParameterizedType) > >> getClass().getGenericSuperclass()).getActualTypeArguments()[0]); > >> } > >> > >> The sigGuestbookServlet has: > >> > >> Greeting greeting = new Greeting(user, content, new Date()); > >> greeting.storeGreeting(); > >> > >> resp.sendRedirect("/guestbook.jsp"); > >> > >> Any suggested solution? > >> > >> Thanks > >> BaTien > >> DBGROUPS and BudhNet > >> > >> > >> -- > >> 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. > >> > > > > > > > > -- > > -- > > Jeff > > > > -- > > 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. > > > -- 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.
