You'll have to build a DTO to transfer these objects to the client
side, I don't think GWT understands GAE Key objects. See this:
http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.html

--
Arthur Kalmenson



On Wed, Aug 18, 2010 at 8:03 AM, Tan Duy <[email protected]> wrote:
> I also have some problems when I use JDO in GAE + GWT
>
> [ERROR] Errors in 'file:/I:/Workspace/jdo/src/com/jdo/util/
> Employee.java'
>      [ERROR] Line 2: The import com.google.appengine cannot be
> resolved
>      [ERROR] Line 14: Key cannot be resolved to a type
>      [ERROR] Line 33: Key cannot be resolved to a type
>      [ERROR] Line 34: Key cannot be resolved to a type
> [ERROR] Errors in 'file:/I:/Workspace/jdo/src/com/jdo/util/PMF.java'
>      [ERROR] Line 7: No source code is available for type
> javax.jdo.PersistenceManagerFactory; did you forget to inherit a
> required module?
>      [ERROR] Line 8: No source code is available for type
> javax.jdo.JDOHelper; did you forget to inherit a required module?
> [ERROR] Errors in 'file:/I:/Workspace/jdo/src/com/jdo/client/Jdo.java'
>         [ERROR] Line 23: No source code is available for type
> javax.jdo.PersistenceManager; did you forget to inherit a required
> module?
>
> I don't know what I need to declare in xxx.gwt.xml.
> What should I check?
>
> Thanks for your helps
>
> On Aug 18, 4:29 am, lineman78 <[email protected]> wrote:
>> Yeah, I ran into this issue a year ago when I was working with GAE +
>> GWT-RPC.  The client side objectcannothave references to any code
>> not associated with a GWT module, so there are a few options for you
>> here.
>>
>> 1) create a translator and maintain 2 versions of the class; 1 for the
>> client(without annotations) and 1 for the server(with annotations)
>> 2) use Java serialization to make a deep copy with 2 versions of the
>> class like specified above (serializeable uuids must be equal).
>> 3) write a utility that uses reflection to translate between the
>> objects above
>> 4) use some sort of 3rd party library that allows for persistence and
>> serialization.
>>
>> There are more options that I haven't listed here, but these are a few
>> to start.
>>
>> On Aug 17, 12:55 pm, Jeff Schnitzer <[email protected]> wrote:
>>
>> > This is a major PITA with GAE+JPA.  You'll likely also need to detach
>> > your entities from the JPA session, which AFAIK is impossible with the
>> > JPA interface - only with the JDO interface.
>>
>> > My advice is throw out JPA and use Objectify.  You can use your
>> > entities in GWT as-is (assuming they are client-safe), even if they
>> > reference Key or GeoPt or other datastore classes.  Objectify provides
>> > GWT emulation for all those classes:
>>
>> >http://code.google.com/p/objectify-appengine/wiki/ObjectifyWithGWT
>>
>> > (I'm the lead developer of Objectify, and I use it with GWT in my
>> > applications every day)
>>
>> >http://code.google.com/p/objectify-appengine/
>>
>> > Jeff
>>
>> > On Sat, Aug 14, 2010 at 2:26 AM, cokol <[email protected]> wrote:
>> > > again - you shall not have any references inside your translatable
>> > > classes to classes from 3rd party! translatable classes are those to
>> > > be compiled to javascript and which reside in client and shared
>> > > packages. 3rd party classes are those where you dont have sourcecode
>> > > from.
>>
>> > > consider your Employee just to be a bean or container without any
>> > > logic just with a purpose to carry payload data. so design the class
>> > > NOT to use any classes from appengine like Key, BlobKey etc
>>
>> > > On 14 Aug., 07:05, "Sree ..." <[email protected]> wrote:
>> > >> Modified the Employee.java as below
>>
>> > >> *public class Employee implements IsSerializable{*
>>
>> > >> then moved the Employee.java to shared package. [eclipse updated all
>> > >> references well]
>> > >> Now when I GWT to compile its saying
>>
>> > >> Compiling module project.xxx
>> > >>    Validating newly compiled units
>> > >>       [ERROR] Errors in 'file:/C:/xxx/src/xxx/shared/Employee.java'
>> > >>          [ERROR] Line 10: Theimportcom.google.appenginecannotberesolved
>> > >>          [ERROR] Line 11: Theimportcom.google.appenginecannotberesolved
>> > >>          [ERROR] Line 19: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 101: BlobKeycannotberesolvedto a type
>> > >>          [ERROR] Line 141: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 189: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 190: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 305: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 306: Keycannotberesolvedto a type
>> > >>          [ERROR] Line 424: BlobKeycannotberesolvedto a type
>> > >>          [ERROR] Line 425: BlobKeycannotberesolvedto a type
>> > >>          [ERROR] Line 431: BlobKeycannotberesolvedto a type
>> > >>          [ERROR] Line 432: BlobKeycannotberesolvedto a type
>> > >>    Finding entry point classes
>> > >>       [ERROR] Unable to find type 'xxx.client.Example'
>> > >>          [ERROR] Hint: Previous compiler errors may have made this type
>> > >> unavailable
>> > >>          [ERROR] Hint: Check the inheritance chain from your module; it 
>> > >> may
>> > >> not be inheriting a required module or a module may not be adding its 
>> > >> source
>> > >> path entries properly
>> > >> Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
>>
>> > >> Why appengineimportstatements are not working! Again they should be only
>> > >> in server folder?
>>
>> > >> On Sat, Aug 14, 2010 at 6:17 AM, Sree ... <[email protected]> 
>> > >> wrote:
>> > >> > okey... thanks alot guys....
>> > >> > i ll try to make those changes and will update here
>>
>> > >> > also thx for so quick responses.. am loving it
>>
>> > >> > On Sat, Aug 14, 2010 at 2:31 AM, cokol <[email protected]> 
>> > >> > wrote:
>>
>> > >> >> hi the problem is that gwt does not have source of your Employee
>> > >> >> class, since you have put it into the server package, you always have
>> > >> >> 3 packages to handle (as per default):
>>
>> > >> >> client
>> > >> >> server
>> > >> >> shared
>>
>> > >> >> everything under "client" becomes javascript after compilation and is
>> > >> >> not aware of anything contained in "server" package, everything
>> > >> >> contained in server package is intended to run in java VM and remains
>> > >> >> java, here you may have references to classes used in client package
>> > >> >> if you like, this would not break up gwt. the shared package contains
>> > >> >> everything what is required for client and server package, like the
>> > >> >> service interfaces AND transfer objects & payload classes like your
>> > >> >> Employee. furthermore everything whats inside client and shared
>> > >> >> package has to be translatable to javascript, i.e. you shall not use
>> > >> >> 3rd party libraries in there.
>>
>> > >> >> so just move the Employee and all related (payload) classes to the
>> > >> >> shared (or client) package and you are done
>>
>> > >> >> On 13 Aug., 19:39, "Sree ..." <[email protected]> wrote:
>> > >> >> > Am not sure this belongs to GWT or GAE or both ...
>>
>> > >> >> > So here's my problem...
>>
>> > >> >> > I have one client/Example.java [contains all GWT code] calls a 
>> > >> >> > methods
>> > >> >> on
>> > >> >> > server/SomeServiceImpl.java [Contains code to talk to dataStore]
>>
>> > >> >> > Wat server/SomeServiceImpl.java does is Featch data from 
>> > >> >> > Employee.Java
>> > >> >> >  .... [this is class used to store data in datastore JPA]
>>
>> > >> >> > So now my problem is.. as long as I send data in the form of 
>> > >> >> > String or
>> > >> >> > StringArray to client/Example.java am fine, but now I tried to send
>> > >> >> > List<Employee> to client/Example.java
>>
>> > >> >> > Doing so throws me an error as below..
>>
>> > >> >> > Validating newly compiled units
>> > >> >> >       [ERROR] Errors in
>> > >> >> > 'file:/C:/XXX/XXX/src/xxx/client/GreetingServiceAsync.java'
>> > >> >> >          [ERROR] Line 18: No source code is available for type
>> > >> >> > xxx.server.Employee; did you forget to inherit a required module?
>> > >> >> >       [ERROR] Errors in 'file:/C:/XXX/XXX/src/client/Example.java'
>> > >> >> >          [ERROR] Line 325: No source code is available for type
>> > >> >> > xxx.server.Employee; did you forget to inherit a required module?
>> > >> >> >       [ERROR] Errors in
>> > >> >> 'file:/C:/XXX/XXX/src/client/GreetingService.java'
>> > >> >> >          [ERROR] Line 19: No source code is available for type
>> > >> >> > xxx.server.Employee; did you forget to inherit a required module?
>> > >> >> >    Finding entry point classes
>> > >> >> >       [ERROR] Unable to find type 'xxx.client.Example'
>> > >> >> >          [ERROR] Hint: Previous compiler errors may have made this 
>> > >> >> > type
>> > >> >> > unavailable
>> > >> >> >          [ERROR] Hint: Check the inheritance chain from your 
>> > >> >> > module; it
>> > >> >> may
>> > >> >> > not be inheriting a required module or a module may not be adding 
>> > >> >> > its
>> > >> >> source
>> > >> >> > path entries properly
>>
>> > >> >> > --
>> > >> >> > -Thanks
>> > >> >> > -Srikanth.G
>> > >> >> > -Hyderabad
>>
>> > >> >> --
>> > >> >> You received this message because you are subscribed to the Google 
>> > >> >> Groups
>> > >> >> "Google Web Toolkit" group.
>> > >> >> To post to this group, send email to 
>> > >> >> [email protected].
>> > >> >> To unsubscribe from this group, send email to
>> > >> >> [email protected]<google-web-toolkit%2Bunsubs
>> > >> >>  [email protected]>
>> > >> >> .
>> > >> >> For more options, visit this group at
>> > >> >>http://groups.google.com/group/google-web-toolkit?hl=en.
>>
>> > >> > --
>> > >> > -Thanks
>> > >> > -Srikanth.G
>> > >> > -Google India Ltd
>> > >> > -Hyderabad
>>
>> > >> --
>> > >> -Thanks
>> > >> -Srikanth.G
>> > >> -Google India Ltd
>> > >> -Hyderabad
>>
>> > > --
>> > > You received this message because you are subscribed to the Google 
>> > > Groups "Google Web Toolkit" 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-web-toolkit?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google Web Toolkit" 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-web-toolkit?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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-web-toolkit?hl=en.

Reply via email to