Re: [appengine-java] Setting Namespace for an entire Request
Namespace-api is set normally in a Servlet Filter, which is normally the beginning point for most application HttpRequests. This means, there is a request coming in, it is serviced by a single-thread. Namespace-api is threadsafe and the namespace is put in the threadlocal, and hence, the same namespace is available during the complete HttpRequest serviced by that thread. -Aswath On Fri, May 13, 2011 at 9:13 PM, mpire sebastian.wennin...@googlemail.comwrote: Hi! I'm trying to use the Namespace-API to build a multi-tenant app. Therefore i have defined a filter that sets the Namespace for each request regarding to the User making the request. However, if there's a new Request before the current request finishes its datastore-operation, the namespace would be overwritten by the new request and the current operation would have an incorrect namespace. I could also set the namespace before each datastore operation, but the problem would be the same.If another request overwrites the namespace before the operation is finished, the data in the database will be messed. Is there a way to set the namespace for an entire request? Or should i try to build some kind of Mutex around the NamespaceManager? Any suggestions to solve this problem are welcome :) Thx 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. 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.
[appengine-java] HTTP headers and protocol version not consistent on client and google app engine
I am trying to access http header Accept-Encoding and http protocol version on google app engine. But Accept-Encoding never reaches while protocol version is always 1.1 (even when client side shows HTTP/1.0). Am i missing some sort of setting in my application? -- 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.
[appengine-java] Re: Object visibility between threads (running requests)
Maybe you could use the AppEngine cache? You have the guarantee that objects in cache are replicated across instances. However you need to be extra careful in your locking mechanism as Object.wait() and Object.notify() obviously won't work. I guess some sort of polling can do it, if you don't need extra reactivity. Afterthought: I'm wondering if cache object modification is seen immediately on other instance, or if there is some kind of transactional mode within a request, that makes the cache appear consistent for a whole request. You have to check that too, I guess. --Laurent On May 13, 7:34 pm, Samuel Erdtman sam...@erdtman.se wrote: That is true, I just want to know that it is by design and not because I have missed to do something. And the thing is that i can see the objects and that there is difference in visibility after the first thread returns. does this mean that objects are synchronized between data centers between request. I´ll see if i figure something out //Samuel -- 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.
[appengine-java] stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method
My log is full of this weird stderr message [vedmack/1.350345457568997204].stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method Its an Info message... any ideas to what can cause this? Thanks ahead! Daniel, -- 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.
[appengine-java] Re: stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method
Hi, Look at http://groups.google.com/group/google-appengine-java/browse_thread/thread/f6f40411a076aa30/1b0f2adb19ce0997?lnk=gstq=Failed+calling+setMethod+method+#1b0f2adb19ce0997 At the very bottom, you may have the answer to you question regards didier On May 14, 11:25 am, Daniel vedm...@gmail.com wrote: My log is full of this weird stderr message [vedmack/1.350345457568997204].stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method Its an Info message... any ideas to what can cause this? Thanks ahead! Daniel, -- 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.
[appengine-java] Re: Backends.xml ERROR when deploying
I put that in my xml file : backends backend name=tastBackend classb1/class instances1/instances /backend /backends and i still get the same error when try to deploy. Something looks wrong in this xml? -- 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.
[appengine-java] Facebook Login integration with java appengine
Hi, I am using http://code.google.com/p/facebook-java-api/ to login using facebook. But unable to do so as documenttaion is not quite completed there and posted my problem on this site but long time no response. I am sure in this group many people must have done with their java app to login using facebook. Could you please share your code or give me some guidance. Requirement: I will be dispalying google/yahoo/facebook logo on my site and when user click on Facebook logo it will take it to facebook page to authenticate.Once authenticate it will call my callback url and i should be able to query logged in user's name etc using facebook api(java). I am sorry posting a facebook login question here, but the project it self seems inactive and no one is responding. Thanks in advance Ravi. -- 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.
[appengine-java] How To: Persist an entity, if and only if, another successfully persists
Hey I have two entities I update and which to persist. These are in two different entity groups so I cannot update and persist them within a Transaction. I am using JDO pm.makePersistentAll and must ensure each entity only saves to the datastore if both can be written. What's the best way to do this? Thanks -- 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.
[appengine-java] Vs: Re: Stripes + UrlBinding + Google App Engine
Hello I had some time to try this again, but I still have no success. I have an ActionBean with @UrlBinding(/home). The @DefaultHandler method ForwardResolutions to index.jsp which only prints Hello: @DefaultHandler public Resolution home() { return new ForwardResolution(index.jsp); // Also tried /index.jsp } In dev environment I access my app via http://localhost:/index.jsp and http://localhost:/home. Both print Hello. That is, it works perfectly. After I have deployed my app on appengine I access the application via http://myapp.appspot.com/index.jsp. This prints Hello, but when I access my app via http://myapp.appspot.com/home I get an infinite redirect loop. I checked the app engine logs: /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp/index.jsp /home/index.jsp/index.jsp /home/index.jsp /home/ I consider this more an app engine issue than Stripes issue because everything works locally but not in app engine. Stripes uses a servlet filter to handle the UrlBindings. The filter javadocs states: This filter takes the following approach to determining when to dispatch an ActionBeanhttp://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/action/ActionBean.html: 1. Allow the request to process normally, trapping any HTTP errors that are returned. 2. If no error was returned then do nothing, allowing the request to complete successfully. If any error other than 404 was returned then send the error through. Otherwise ... 3. Check the ActionResolverhttp://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/ActionResolver.htmlto see if an ActionBeanhttp://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/action/ActionBean.htmlis mapped to the URL. If not, then send the 404 error through. Otherwise... 4. Invoke StripesFilterhttp://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/StripesFilter.htmland DispatcherServlethttp://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/DispatcherServlet.html So it expects a 404. This all seems like the app engine doesn't like this behaviour, thus the infinte redirect loop. I have tried to clean my configuration as much as possible: - I only define the DynamicMappingFilter in my web.xml. No StripesFilter anymore. According to the Stripes documentation this is perfectly ok. - I also had Guice stuff in my web.xml but I removed them as well. - I also configured Stripes to use my own empty implementation of the MultipartWrapperFactory. I am running out of ideas. Would be nice if could be confirmed that this error indeed is reproducable and not just my misconfiguration. Thanks Pauli Savolainen -- 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.
[appengine-java] Re: Facebook Login integration with java appengine
We use restFB http://restfb.com/; however, we wrote our own authentication. Our application is a FB Canvas app. -- 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.
[appengine-java] Strange failure last night
Sometime between 10:35 and 10:40 last evening, our app became unable to find datastore entities. The app was pretty much inactive - there were two clients that were successful shortly before 10:35 and then a couple of clients that arrived shortly after 10:40 couldn't authenticate. The log entries reported not-found when retrieving the authentication entities from the datastore. Looking at the datastore viewer in the GAE console, those entities do appear. I deployed the same code to a new version and it's working OK, again. I know this isn't much useful information, but I wonder if any other apps have encountered this apparently transient type of failure. -- 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.
[appengine-java] Re: Strange failure last night
To clarify - the failure began between 22:35PT and 22:40PT and persisted until we deployed the same code to a new version. (We didn't try deploying on top of the default version that was having the problem.) -- 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.
Re: [appengine-java] Facebook Login integration with java appengine
Don't waste your time with facebook-java-api. It's ancient. You're much better off with RestFB or BatchFB (disclosure: I develop BatchFB). Use the Javascript SDK for login. Don't try to do OAuth yourself - aside from periodic changes to the protocol, it's not nearly as smooth for users. BTW, sometime soon BatchFB is going to get parallel fetching on appengine - in combination with the batching mechanisms, this will be *the* fastest way to pull facebook data to GAE. Jeff On Sat, May 14, 2011 at 7:35 AM, Ravi Sharma ping2r...@gmail.com wrote: Hi, I am using http://code.google.com/p/facebook-java-api/ to login using facebook. But unable to do so as documenttaion is not quite completed there and posted my problem on this site but long time no response. I am sure in this group many people must have done with their java app to login using facebook. Could you please share your code or give me some guidance. Requirement: I will be dispalying google/yahoo/facebook logo on my site and when user click on Facebook logo it will take it to facebook page to authenticate.Once authenticate it will call my callback url and i should be able to query logged in user's name etc using facebook api(java). I am sorry posting a facebook login question here, but the project it self seems inactive and no one is responding. Thanks in advance Ravi. -- 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. -- 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.
[appengine-java] Re: stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method
Hehe :) That's a thread I opened almost a year ago (on a completely diff issues) happens to be that in a log I posted back than the weird stderr was appearing too,.. On May 14, 12:46 pm, Didier Durand durand.did...@gmail.com wrote: Hi, Look athttp://groups.google.com/group/google-appengine-java/browse_thread/th... At the very bottom, you may have the answer to you question regards didier On May 14, 11:25 am, Daniel vedm...@gmail.com wrote: My log is full of this weird stderr message [vedmack/1.350345457568997204].stderr: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method Its an Info message... any ideas to what can cause this? Thanks ahead! Daniel, -- 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.
[appengine-java] Re: Facebook Login integration with java appengine
Hi, I have open sourced a Java API which works on the latest FB Graph API. There's oAuth 2.0 in it. I have made it for our own app. If authentication is the only priority for you then you can definitely use it. https://github.com/nischal/face4j Let me know if you need any help integrating it. I've tried to make it as simple as possible. It's very weak on documentation though but here's an example for authentication - https://github.com/nischal/face4j/wiki/Facebook-oAuth-login-with-face4j -- 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.
[appengine-java] Re: Facebook Login integration with java appengine
And it works well on the Appengine! -- 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.
Re: [appengine-java] Re: Facebook Login integration with java appengine
Thanks all for your replys. SOme how i made it work with facebook_java_api project and posted the tutorial here http://techsravi.blogspot.com/2011/05/facebook-login-on-google-app-enginejava.html face4j looks quite promising too...i will look into it too. Thanks Ravi. On Sat, May 14, 2011 at 7:15 PM, Nischal nischalshett...@gmail.com wrote: And it works well on the Appengine! -- 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. -- 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.
Re: [appengine-java] How To: Persist an entity, if and only if, another successfully persists
Depending on your application, you may be able to perform the 2nd entity write in a task. Enqueue the task transactionally with the first operation. You'll be guaranteed that if the first entity commits, the 2nd will *eventually* be written as well. It's not a perfect solution for all apps but it does cover a lot of practical use cases. Jeff On Sat, May 14, 2011 at 7:52 AM, mscwd01 mscw...@gmail.com wrote: Hey I have two entities I update and which to persist. These are in two different entity groups so I cannot update and persist them within a Transaction. I am using JDO pm.makePersistentAll and must ensure each entity only saves to the datastore if both can be written. What's the best way to do this? Thanks -- 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. -- 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.
[appengine-java] JPA cross-reference table question
Hello gurus. I'm trying to design an application that allows users to rate movies with a star system of 1-5 stars. For that I need a user table, a movie table, and an X-ref table to link them as each user can rate multiple movies and each movie can be rated by multiple users. I can't define this relationship correctly with JPA and I need your help. Has anyone defined this kind of relationship or know where a tutorial/example is? Here is what I have which throws the following error: javax.persistence.PersistenceException: App Engine ORM does not support multiple parent key provider fields. package com.app.movieRatings.model; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import com.google.appengine.api.datastore.Key; @Entity public class User { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Key id; private String userId; @OneToMany(mappedBy = user, cascade = CascadeType.ALL) private ListUserMovieXRef UserMovieXRefs = new ArrayListUserMovieXRef(); // Getters and setters... } package com.app.movieRatings.model; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import com.google.appengine.api.datastore.Key; @Entity public class Movie { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Key id; private String name; @OneToMany(mappedBy = movie, cascade = CascadeType.ALL) private ListUserMovieXRef UserMovieXRefs = new ArrayListUserMovieXRef(); // Getters and setters... } package com.app.movieRatings.model; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import com.google.appengine.api.datastore.Key; @Entity public class UserMovieXRef { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Key id; private int starRating; @ManyToOne(fetch = FetchType.LAZY) private User user; @ManyToOne(fetch = FetchType.LAZY) private Movie movie; // Getters and setters... } -- 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.
[appengine-java] Properties With Multiple Values Can Have Surprising Behaviors
at this link http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries i found this topic : Properties With Multiple Values Can Have Surprising Behaviors but i couldn't understand how can i solve this issue and why this problem occur ??? can anyone help me in this issue ? thanks.. -- 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.
[appengine-java] Re: Facebook Login integration with java appengine
We used Janrain which has the added advantage of supporting N networks instead of just one. One caveat is that it makes the login slower because you go through Janrain redirects during login so test this to ensure it's fast enough for you if you try it. Steve On May 15, 12:35 am, Ravi Sharma ping2r...@gmail.com wrote: Hi, I am usinghttp://code.google.com/p/facebook-java-api/to login using facebook. But unable to do so as documenttaion is not quite completed there and posted my problem on this site but long time no response. I am sure in this group many people must have done with their java app to login using facebook. Could you please share your code or give me some guidance. Requirement: I will be dispalying google/yahoo/facebook logo on my site and when user click on Facebook logo it will take it to facebook page to authenticate.Once authenticate it will call my callback url and i should be able to query logged in user's name etc using facebook api(java). I am sorry posting a facebook login question here, but the project it self seems inactive and no one is responding. Thanks in advance Ravi. -- 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.