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]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
