I've uploaded my app to google with the same result, so it's not a
problem with Eclipse or sdk version.
Gunnar

On 1 mar, 20:59, John Patterson <[email protected]> wrote:
> http://lmgtfy.com/?q=appengine+jdo+%22default+fetch+group%22
>
> On 2 Mar 2010, at 02:50, Gunnar wrote:
>
> > I don't jnow what you mean with "look into default fetch group!.
> > Please explain.
> > Gunnar
>
> > On 1 mar, 19:20, John Patterson <[email protected]> wrote:
> >> Did you look into "default fetch group"?
>
> >> On 2 Mar 2010, at 01:04, Gunnar wrote:
>
> >>> Hi,
> >>> I followed Jakes advice to do e.setList(list) but no change.
> >>> I've also stepped through my code, but there is no exception!
> >>> Btw I use version 1.3.1 of the SDK.
> >>> Gunnar
>
> >>> On 1 mar, 15:28, John Patterson <[email protected]> wrote:
> >>>> It is unusual that you see no  stack trace.  Are you sure you are  
> >>>> not
> >>>> catching it?  You could step through the code line by line to see
> >>>> what
> >>>> happens after the line with the problem.
>
> >>>> Could this be something to do with setting the fetch group to
> >>>> default?  That seems to be the problem with a lot of peoples JDO
> >>>> code :)
>
> >>>> On 1 Mar 2010, at 21:19, Jake wrote:
>
> >>>>> If I recall, JDO is picky when it comes to being aware of changes
> >>>>> made
> >>>>> to a persisted object.  For example, changing fields directly
> >>>>> (object.field = newValue;) doesn't work - you need to use a  
> >>>>> getter/
> >>>>> setter (object.setField(newValue);).  Perhaps you are encountering
> >>>>> the
> >>>>> same issue here?  Does the following type of thing work?
>
> >>>>> LIst<SubEntity> list = e.getMyList();
> >>>>> SubEntity first = list.remove(0);
> >>>>> list.add(first);
> >>>>> e.setMyList(list);
> >>>>> pm.makePersistent(e);
> >>>>> tx.commit();
>
> >>>>> Jake
>
> >>>>> On Feb 28, 11:05 am, Gunnar <[email protected]> wrote:
> >>>>>> Hi,
> >>>>>> John and Karel, you are right about the placement of the commit
> >>>>>> statement.
> >>>>>> It worked in the test example because I only had one instance of
> >>>>>> MyEntity.
> >>>>>> I don't get any exception at all in the Eclipse console!
> >>>>>> When I add a second instance of MyEntity if fails with  
> >>>>>> "Transaction
> >>>>>> is
> >>>>>> not active" as expected.
>
> >>>>>> Now I've changed the code in the try statement like this, but  
> >>>>>> still
> >>>>>> the first sub entity is lost and no exception is thrown!
> >>>>>> (Of cause it would fail it the list is empty.)
>
> >>>>>> List<MyEntity> results = (List<MyEntity>) query.execute();
> >>>>>>         if (results.iterator().hasNext()) {
> >>>>>>                 tx.begin();
> >>>>>>                 MyEntity e = results.iterator().next();
> >>>>>>                 List<SubEntity> list = e.getMyList();
> >>>>>>                 SubEntity first = list.remove(0);
> >>>>>>                 boolean ok = list.add(first);
> >>>>>>                 if (!ok) {
> >>>>>>                         System.err.println("could not add  
> >>>>>> first");
> >>>>>>                 }
> >>>>>>                 System.out.println(list);
> >>>>>>                 pm.makePersistent(e);
> >>>>>>                 tx.commit();
> >>>>>>         }
>
> >>>>>> On 28 Feb, 02:51, John Patterson <[email protected]> wrote:
>
> >>>>>>> This should be throwing an exception.  The JavaDocs for
> >>>>>>> Transaction.commit() say
> >>>>>>> Commits the transaction. Whether this call succeeds or fails,  
> >>>>>>> all
> >>>>>>> subsequent method invocations on this object will throw
> >>>>>>> IllegalStateException.
>
> >>>>>>> When something does not work as you expect the first place to  
> >>>>>>> look
> >>>>>>> is
> >>>>>>> the logs under your application console.
>
> >>>>>>> On 28 Feb 2010, at 05:25, Karel Alvarez wrote:
>
> >>>>>>>> dont you get any exceptions stacktrace  in the server  
> >>>>>>>> console? it
> >>>>>>>> would help... also you are calling commit() inside the for  
> >>>>>>>> loop,
> >>>>>>>> although the transactions is started only once... that would
> >>>>>>>> crash
> >>>>>>>> in the second iteration in a normal db server, I am not sure  
> >>>>>>>> what
> >>>>>>>> GAE does with it, in any case I dont think it is what you
> >>>>>>>> intended...
>
> >>>>>>>> On Sat, Feb 27, 2010 at 2:52 PM, Gunnar <[email protected]>
> >>>>>>>> wrote:
> >>>>>>>> Hi,
> >>>>>>>> I have problem with reordering a List.
> >>>>>>>> I created a test with an entity called MyEntity which have a
> >>>>>>>> List<SubEntity>.
> >>>>>>>> First I persist one instance of MyEntity with a list  
> >>>>>>>> containing 3
> >>>>>>>> SubEntity.
> >>>>>>>> This works fine. Then I call a reorder servlet that moves the
> >>>>>>>> first
> >>>>>>>> SubEntity to the last position in the list.
> >>>>>>>> The result is that the first SubEntity is lost and the  
> >>>>>>>> datastore
> >>>>>>>> only
> >>>>>>>> contains 2 SubEntity instances.
> >>>>>>>> What can be wrong?
> >>>>>>>> Here is the reorder code:
>
> >>>>>>>> package com.google.appengine.demo;
>
> >>>>>>>> import java.io.IOException;
> >>>>>>>> import java.util.List;
>
> >>>>>>>> import javax.jdo.PersistenceManager;
> >>>>>>>> import javax.jdo.Query;
> >>>>>>>> import javax.jdo.Transaction;
> >>>>>>>> import javax.servlet.http.HttpServlet;
> >>>>>>>> import javax.servlet.http.HttpServletRequest;
> >>>>>>>> import javax.servlet.http.HttpServletResponse;
>
> >>>>>>>> @SuppressWarnings("serial")
> >>>>>>>> public class ReorderServlet extends HttpServlet {
> >>>>>>>>       �...@suppresswarnings("unchecked")
> >>>>>>>>        public void doGet(HttpServletRequest req,
> >>>>>>>> HttpServletResponse
> >>>>>>>> resp)
> >>>>>>>> throws IOException {
> >>>>>>>>                PersistenceManager pm =
> >>>>>>>> PMF.get().getPersistenceManager();
> >>>>>>>>                Query query = pm.newQuery(MyEntity.class);
> >>>>>>>>                Transaction tx = pm.currentTransaction();
> >>>>>>>>                try {
> >>>>>>>>                        tx.begin();
> >>>>>>>>                        List<MyEntity> results =  
> >>>>>>>> (List<MyEntity>)
> >>>>>>>> query.execute();
> >>>>>>>>                        if (results.iterator().hasNext()) {
> >>>>>>>>                                for (MyEntity e : results) {
> >>>>>>>>                                        List<SubEntity> list =
> >>>>>>>> e.getMyList();
> >>>>>>>>                                        SubEntity first =
> >>>>>>>> list.remove(0);
> >>>>>>>>                                        boolean ok =
> >>>>>>>> list.add(first);
> >>>>>>>>                                        if (!ok) {
>
> >>>>>>>> System.err.println("could not add first");
> >>>>>>>>                                        }
>
> >>>>>>>> System.out.println(list);
> >>>>>>>>                                        pm.makePersistent(e);
> >>>>>>>>                                        tx.commit();
> >>>>>>>>                                }
> >>>>>>>>                        }
> >>>>>>>>                } catch (Exception e) {
> >>>>>>>>                        e.printStackTrace();
> >>>>>>>>                } finally {
> >>>>>>>>                        if (tx.isActive())
> >>>>>>>>                                tx.rollback();
> >>>>>>>>                        query.closeAll();
> >>>>>>>>                        pm.close();
> >>>>>>>>                }
> >>>>>>>>                resp.setContentType("text/plain");
> >>>>>>>>                resp.getWriter().println("reordered");
> >>>>>>>>        }
> >>>>>>>> }
>
> >>>>>>>> --
> >>>>>>>> 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 
> >>>>>>>> athttp://groups.google.com/group/google-appengine-java?hl=en
> >>>>>>>> .
>
> >>>>>>>> --
> >>>>>>>> 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 
> >>>>>>>> athttp://groups.google.com/group/google-appengine-java?hl=en
> >>>>>>>> .
>
> >>>>> --
> >>>>> 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 
> >>>>> athttp://groups.google.com/group/google-appengine-java?hl=en
> >>>>> .
>
> >>> --
> >>> 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 
> >>> athttp://groups.google.com/group/google-appengine-java?hl=en
> >>> .
>
> > --
> > 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 
> > athttp://groups.google.com/group/google-appengine-java?hl=en
> > .

-- 
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