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: The import com.google.appengine cannot be resolved >> [ERROR] Line 11: The import com.google.appengine cannot be resolved >> [ERROR] Line 19: Key cannot be resolved to a type >> [ERROR] Line 101: BlobKey cannot be resolved to a type >> [ERROR] Line 141: Key cannot be resolved to a type >> [ERROR] Line 189: Key cannot be resolved to a type >> [ERROR] Line 190: Key cannot be resolved to a type >> [ERROR] Line 305: Key cannot be resolved to a type >> [ERROR] Line 306: Key cannot be resolved to a type >> [ERROR] Line 424: BlobKey cannot be resolved to a type >> [ERROR] Line 425: BlobKey cannot be resolved to a type >> [ERROR] Line 431: BlobKey cannot be resolved to a type >> [ERROR] Line 432: BlobKey cannot be resolved to 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 appengine import statements 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 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.
