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) <
ikai.l+gro...@google.com <ikai.l%2bgro...@google.com>> 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 
> <onepagewo...@gmail.com>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 <onepagewo...@gmail.com
>> > 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 <herber.m...@googlemail.com>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
>>>> google-appengine-java@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
>>>> .
>>>> 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
>> google-appengine-java@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
>> .
>> 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
> google-appengine-java@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> 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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to