Minor minor point :) I believe Ikai if you look at your posted code you
forgot the entity kind in your call to KEY, you used KEY('1') without any
entity kind stated. I also was assuming he was using datastore viewer which
I think he was. Or is this KEY('1') allowed without entity kind allowed??On Wed, Jan 26, 2011 at 11:48 AM, Ikai Lan (Google) < [email protected] <ikai.l%[email protected]>> wrote: > Minor point: I posted Python code because you used the term "GQL". I > assumed you were working with the datastore viewer - the code sample I > posted should be valid there. > > Java code in JDO uses JDOQL. > > > -- > Ikai Lan > Developer Programs Engineer, Google App Engine > Blogger: http://googleappengine.blogspot.com > Reddit: http://www.reddit.com/r/appengine > Twitter: http://twitter.com/app_engine > > > > On Wed, Jan 26, 2011 at 10:07 AM, Stephen Johnson > <[email protected]>wrote: > >> Also, check that the PMF.getPersistenceManager() returns a non-null value. >> Perhaps with the changes you've been trying you don't have the >> "transactions-optional" name in the config file matching the code. >> >> >> On Wed, Jan 26, 2011 at 11:00 AM, Stephen Johnson <[email protected] >> > wrote: >> >>> Well, you shouldn't be getting a NullPointerException if the entity is >>> not found so something else is wrong. The correct exception would be >>> JDOObjectNotFoundException. Are you sure the PageParameters parameters is >>> not null or something else isn't null?? You don't use the 'a' variable in >>> anyway in the try/catch that would cause the NullPointerException from what >>> I see, so it has to be something else. >>> >>> >>> On Wed, Jan 26, 2011 at 12:46 AM, hrbaer <[email protected]>wrote: >>> >>>> Ok guys, even if the gql query is running I'm still not able to port >>>> this logic into my java class. >>>> Maybe someone could have a look at my code and correct/refer to my >>>> mistake(s): >>>> >>>> public GuestbookDetails( final PageParameters parameters ) throws >>>> StringValueConversionException { >>>> >>>> PersistenceManager pm = PMF.getPersistenceManager(); >>>> try { >>>> Antwort a = pm.getObjectById( Antwort.class, >>>> parameters.getAsLong( Constants.ID ) ); >>>> } >>>> catch (NullPointerException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> >>>> try { >>>> Antwort a = pm.getObjectById( Antwort.class, >>>> parameters.getLong( Constants.ID ) ); >>>> } >>>> catch (NullPointerException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> >>>> try { >>>> Antwort a = pm.getObjectById( Antwort.class, >>>> parameters.getString( Constants.ID ) ); >>>> } >>>> catch (NullPointerException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> >>>> try { >>>> Antwort a = pm.getObjectById( Antwort.class, >>>> parameters.getKey( Constants.ID ) ); >>>> } >>>> catch (NullPointerException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> >>>> Key k = KeyFactory.createKey( Antwort.class.getSimpleName(), >>>> parameters.getLong( Constants.ID ) ); >>>> try { >>>> Antwort a = pm.getObjectById( Antwort.class, k ); >>>> } >>>> catch (NullPointerException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> } >>>> >>>> As you can imagine all querys result in the NullPointerException. >>>> Parameters.getLong always returns me the value of "ID/Name" (e.g. >>>> 1,2,3...). >>>> >>>> Apart from that I tried to fetch get my entities using the datastore >>>> object. Yet without success: >>>> >>>> DatastoreService datastore = >>>> DatastoreServiceFactory.getDatastoreService(); >>>> Entity entity = null; >>>> >>>> try { >>>> entity = datastore.get( k ); >>>> } >>>> catch (EntityNotFoundException e) { >>>> System.out.println( "No entity found." ); >>>> } >>>> >>>> And last but not least with a simple query: >>>> >>>> Query q = new Query( Constants.ANTWORT ); >>>> q.addFilter( Constants.ID, FilterOperator.EQUAL, >>>> parameters.getLong( Constants.ID ) ); >>>> PreparedQuery pq = datastore.prepare(q); >>>> Entity entity = pq.asIterator().next(); >>>> (....) >>>> >>>> I think you already know the answer... >>>> >>>> Maybe someone is able to help me out. >>>> Thanks in advance, >>>> >>>> -- >>>> 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]<google-appengine-java%[email protected]> >>>> . >>>> For more options, visit this group at >>>> http://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]<google-appengine-java%[email protected]> >> . >> For more options, visit this group at >> http://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]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://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.
