[appengine-java] Re: Entity relationship designing - best practice
On Dec 17, 8:43 pm, har_shan harsha...@gmail.com wrote: i want to hear the best practice on establishing entity relationships in my case- Does this help? http://code.google.com/p/gwt-gae-book/wiki/StoringData -- 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-j...@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: slf4j debug messages not in admin console
I use SLF4J bridged to java.util.logging and I receive debug messages (using FINEST level in JUL config). On Dec 25, 11:48 pm, Tomas Vojtech tomas.vojt...@gmail.com wrote: Hello, I use SLF4J for logging and if I use logger.debug or logger.trace no message is shown in logs in administration console. Higher levels work fine and are in the console. Is problem in my application or where is problem? blaf -- 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-j...@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] JPA query(JPQL) setFirstResult() and setMaxResult() does not work
i'm sorry but what does RCP means? -- 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-j...@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: SQL injection on App Engine ?
Datanucleus, perhaps my post was too impetuous. Sorry. Actually sql injection (not real SQL) is a small issue on GAE. You are right. GAE does not use SQL but you can inject piece of query into. A very simple example: String name = request.getParameter(name); String q = select from Employee where lastName == ' + name + '; Query query = pm.newQuery(Employee.class, q); Case1 (good): send name = smith Case2 (not good): send name = smith' || lastName == 'foo OK. It's not so dangerous. Infact you cannot send strong injections like smith' || '1'=='1 because the engine (actually) refuse it. So, you are right. No big problem. Fabrizio On Mon, Dec 27, 2010 at 10:29 AM, datanucleus andy_jeffer...@yahoo.comwrote: SQL injection ? into a database that doesn't support SQL? Please present a clear example of how such a thing can happen and what effect it can have. The application designer is the person who allows such a thing, not the underlying API -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-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-j...@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] Instant messenger
Thanks Stevko for quick reply. Your suggestions are really helpful to start with. I have decided to select servlets for writing code, GWT for creating GUI as you suggested. But i am still confused how to authenticate google users , facebook users ,yahoo users etc. Is there any authentication API ? I am just collecting requirements at this moment. Once all the requirements freezes, i will start working on code and GUI. If you have any suggestion please let me know. Hope you will help me. -- 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-j...@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: SQL injection on App Engine ?
The query language is more or less same for datastore as relational db, so any thing could happen to relation db querying could happen to datastore querying. On Dec 27, 1:29 am, datanucleus andy_jeffer...@yahoo.com wrote: SQL injection ? into a database that doesn't support SQL? Please present a clear example of how such a thing can happen and what effect it can have. The application designer is the person who allows such a thing, not the underlying API -- 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-j...@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] GWT+servlet - how to redirect to a different page
Hi, I have a GWT entry point that submits to servlet , build using FormPanel. I am trying to build page flow using servlet RequestDispatcher or sendRedirect, even though no exception GAE is not forwarding to next page. -- 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-j...@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] Task Queue don't work in development server
Hello, I'm currently unable to use task queues on the development server. Both attempts to run mapreduce jobs and to check local admin console at http://127.0.0.1:/_ah/admin/taskqueue give this error: org.quartz.SchedulerConfigException: Unable to instantiate class load helper class: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper [See nested exception: java.lang.ClassCastException: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper] Caused by: java.lang.RuntimeException: org.quartz.SchedulerConfigException: Unable to instantiate class load helper class: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper [See nested exception: java.lang.ClassCastException: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper] at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.startScheduler(LocalTaskQueue.java: 433) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.start_(LocalTaskQueue.java: 194) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.access $000(LocalTaskQueue.java:49) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue $2.run(LocalTaskQueue.java:161) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.start(LocalTaskQueue.java: 158) at com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyLocalImpl.java: 466) at com.google.appengine.tools.development.ApiProxyLocalImpl.access $600(ApiProxyLocalImpl.java:44) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:448) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:446) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLocalImpl.java: 445) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.getLocalTaskQueueService(TaskQueueViewerServlet.java: 111) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.getQueueInfo(TaskQueueViewerServlet.java: 115) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.doGet(TaskQueueViewerServlet.java: 176) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:349) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 409) at org.mortbay.thread.QueuedThreadPool $PoolThread.run(QueuedThreadPool.java:582) Caused by: org.quartz.SchedulerConfigException: Unable to instantiate class load helper class: org.quartz.simpl.CascadingClassLoadHelper cannot be
[appengine-java] Re: Task Queue don't work in development server
Solved...just needed some more cleanup in the WEB_INF directory. Removed appengine-testing.jar, appengine-api-labs.jar, appengine-api- stubs.jar. Moved them to test folder, added again to the classpath (maybe Eclipse did not update build path correctly before...sometimes happens) to make tests work, and it goes. This is stated in the test suite documentation, maybe a line in the development server section could help. Regards Lorenzo On Dec 28, 12:13 pm, l.denardo lorenzo.dena...@gmail.com wrote: Hello, I'm currently unable to use task queues on the development server. Both attempts to run mapreduce jobs and to check local admin console athttp://127.0.0.1:/_ah/admin/taskqueuegive this error: org.quartz.SchedulerConfigException: Unable to instantiate class load helper class: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper [See nested exception: java.lang.ClassCastException: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper] Caused by: java.lang.RuntimeException: org.quartz.SchedulerConfigException: Unable to instantiate class load helper class: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper [See nested exception: java.lang.ClassCastException: org.quartz.simpl.CascadingClassLoadHelper cannot be cast to org.quartz.spi.ClassLoadHelper] at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.startScheduler(LocalTaskQueue.java: 433) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.start_(LocalTaskQueue.java: 194) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.access $000(LocalTaskQueue.java:49) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue $2.run(LocalTaskQueue.java:161) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.api.taskqueue.dev.LocalTaskQueue.start(LocalTaskQueue.java: 158) at com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyLocalImpl.java: 466) at com.google.appengine.tools.development.ApiProxyLocalImpl.access $600(ApiProxyLocalImpl.java:44) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:448) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:446) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLocalImpl.java: 445) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.getLocalTaskQueueService(TaskQueueViewerServlet.java: 111) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.getQueueInfo(TaskQueueViewerServlet.java: 115) at com.google.apphosting.utils.servlet.TaskQueueViewerServlet.doGet(TaskQueueViewerServlet.java: 176) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:349) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection
[appengine-java] Re: GWT+servlet - how to redirect to a different page
Instead of server dispatching/forwarding to a new page as in traditional web flows, I send the page name as response to BROWSER, and used GWT - onSubmitComplete event to go to new page. == HERE CLIENT side code formPanel.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { shownextpage(/page2.html); } }); -- private native void shownextpage(String message) /*-{ $wnd.alert(message); $wnd.location.href=/page2.html; }-*/; --- On Dec 28, 3:10 am, dreamer venugopal.vasire...@gmail.com wrote: Hi, I have a GWT entry point that submits to servlet , build using FormPanel. I am trying to build page flow using servlet RequestDispatcher or sendRedirect, even though no exception GAE is not forwarding to next page. -- 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-j...@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] Instant messenger
Hello Piyush, re: Authentication and Authorization APIs Every service has their own authentication API. Many are coming to use the OAuth standard although I've not seen many successful integration efforts yet. http://code.google.com/appengine/docs/java/oauth/ http://code.google.com/appengine/docs/java/oauth/There is google user authentication support into the appengine platform with this package: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/package-summary.html The external services you are referring are out of the scope of this forum. You might want to research them directly. I've included some links to expedite your efforts. http://code.google.com/apis/accounts/docs/GettingStarted.html http://developers.facebook.com/docs/authentication/ http://developer.yahoo.com/auth/ Another resource that is is of broader scope and therefore more appropriate for many the issues you are going to face is http://stackoverflow.com/ BTW, I'm open for hire presently... http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/package-summary.html On Tue, Dec 28, 2010 at 2:14 AM, Piyush Zarkar pdzar...@gmail.com wrote: Thanks Stevko for quick reply. Your suggestions are really helpful to start with. I have decided to select servlets for writing code, GWT for creating GUI as you suggested. But i am still confused how to authenticate google users , facebook users ,yahoo users etc. Is there any authentication API ? I am just collecting requirements at this moment. Once all the requirements freezes, i will start working on code and GUI. If you have any suggestion please let me know. Hope you will help me. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- -- A. Stevko === If everything seems under control, you're just not going fast enough. M. Andretti -- 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-j...@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: SQL injection on App Engine ?
The query language is more or less same for datastore as relational db, so any thing could happen to relation db querying could happen to datastore querying. Not true. JDOQL is parsed by a parser and converted into a datastore query; SQL is not. JDOQL queries do not go there direct. The parsing eliminates the vast majority of any evil intent. Not the same as simply passing SQL direct through to a JDBC driver -- 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-j...@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: in operator doesnt work
query = select from + PocVacationSchedule.class.getName() + where pocId.contains( + pocIdList + ); where podIdList is a java.util.List of type Long Now please tell me, in Java, would you do Long.contains(ListLong) ? No. Thought not. On the other hand you would do ListLong.contains(Long) -- 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-j...@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: Blob values in datastore and too many indexed properties
Cool. Thanks for the update! -- 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 Sun, Dec 26, 2010 at 1:48 AM, Sky skysoftwaredes...@googlemail.comwrote: I changed all ListDouble properties in my persistent class to double[] arrays and made these properties unindexed, because I never need to query on these. To make attributes unindexed I used the following annotation: @Extension(vendorName=datanucleus, key=gae.unindexed, value=true)//unindexed property private double[] listProperty; That fixed the problem and furthermore made the access faster... Marcus On 14 Dez., 20:03, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com wrote: It's not an issue with the data type, it's an issue with queries that look into multiple list properties: http://code.google.com/appengine/docs/java/datastore/queriesandindexe... What you have is an example of an exploding index. Rather than filtering in query, is there any way you can filter for a subset of results using datastore operations, then filter in memory? -- 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 Tue, Dec 14, 2010 at 3:35 AM, androidDeveloper stepmas...@googlemail.com wrote: I got an IllegalArgumentException: Too many indexed properties for entity Exception when saving an entity that looks like this: ... @Persistent @Element(dependent = true) @Order(extensions = @Extension(vendorName=datanucleus, key=list- ordering, value=aDate asc)) private ListClassA classAList; //ClassA only contains basic properties like String and double @Persistent private double[] list1; @Persistent private double[] list2; @Persistent private double[] list3; When I save an object, that has no more than 10 objects in classAList and 3600 elements in each of the double[] Arrays list1-3 the error above occurs in datastore. I know that there exists a cap for indexed properties per entity of max 5000. But I though this would only affect list porperties? My question is, why are double arrays indexed? I thougt only List Properties would be indexed? Is double[] handled like ListDouble in app engines datastore? -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com google-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%252bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-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-j...@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] query fails to parse
Taking a guess here - Date is being serialized to its String format. Try programmatically creating filters instead: http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html -- 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 Mon, Dec 27, 2010 at 7:08 AM, Vik vik@gmail.com wrote: Hie Can someone guide what is the issue with this query and how to fix? data type is of java.sql.Date Date todayDate = new Date(); query = select from + PocVacationSchedule.class.getName() + where endDate = + todayDate + and pocId ==10; Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-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-j...@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] GWT+servlet - how to redirect to a different page
Did you try Window.Location.assign(servelt name) On Tue, Dec 28, 2010 at 3:10 AM, dreamer venugopal.vasire...@gmail.comwrote: Hi, I have a GWT entry point that submits to servlet , build using FormPanel. I am trying to build page flow using servlet RequestDispatcher or sendRedirect, even though no exception GAE is not forwarding to next page. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-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-j...@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] Cloud2db for Cassandra and MongoDb
Hi Everyone, Cloud2db http://www.cloud2db.com/ is pleased to announce the support for Cassandra and mongoDB cloud database platforms in addition to Google Bigtable platform which it already supports. With this new release you will be able to transparently choose between Google Bigtable, Cassandra and MongoDB as your cloud database platform. Please download the Cloud2db software from the following link. Download http://cloud2db-server.appspot.com/website/download.html(Google Bigtable, Cassandra, MongoDB) Cloud2db provides a standards-based abstraction layer over cloud databases. This product provides you with performance and scalability of cloud platform along with structure, standards and interoperability of RDBMS, SQL and JDBC. With Cloud2db, you will be able to manage your data on cloud platforms by using established concepts of RDBMS, SQL and JDBC, and thereby preserving your existing investments in tools, technologies, frameworks and skills. Here are Cloud2db features: - Manage data on Google Bigtable, Cassandra and MongoDB using familiar concepts of RDBMD, SQL - Referential integrity (Primary Keys, Foreign Keys) - Role Based Security - Joins (Inner Join, Left Outer Join, Theta Join, Cross Join) - Subqueries (Exists, Not Exists, In) - DDL DML - Transactions (for the datastores supporting transactions) - ANSI SQL stored functions - Views - BLOB and CLOB support (for the datastores supporting BLOBs) - Use any JDBC compliant tools and frameworks in the market to interact with the Google Datastore. For example. - Squirrel SQL (database management) - Power Architect (data modeling) - Jasper Reports (reporting) - Hibernate (Object To Relational mapping) - All JDBC compliant tools - Port exiting RDBMS instances to cloud databases Please visit our website http://www.cloud2db.com and try out the free trial version. Please visit google group Cloud2dbhttp://groups.google.com/group/cloud2db to share your feedback and thoughts. Sincerely, Sandeep Sathaye Founder and Chief Architect Cloud2db -- 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-j...@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: Cloud2db for Cassandra and MongoDb
Hi, this sounds very interesting. Will the data stored in the db be human-readable in the datastore with datastore viewer or will it just store a bunch of blobs? Daniel On Dec 28, 9:03 pm, Sandeep Sathaye sandeep.sath...@gmail.com wrote: Hi Everyone, Cloud2db http://www.cloud2db.com/ is pleased to announce the support for Cassandra and mongoDB cloud database platforms in addition to Google Bigtable platform which it already supports. With this new release you will be able to transparently choose between Google Bigtable, Cassandra and MongoDB as your cloud database platform. Please download the Cloud2db software from the following link. Download http://cloud2db-server.appspot.com/website/download.html(Google Bigtable, Cassandra, MongoDB) Cloud2db provides a standards-based abstraction layer over cloud databases. This product provides you with performance and scalability of cloud platform along with structure, standards and interoperability of RDBMS, SQL and JDBC. With Cloud2db, you will be able to manage your data on cloud platforms by using established concepts of RDBMS, SQL and JDBC, and thereby preserving your existing investments in tools, technologies, frameworks and skills. Here are Cloud2db features: - Manage data on Google Bigtable, Cassandra and MongoDB using familiar concepts of RDBMD, SQL - Referential integrity (Primary Keys, Foreign Keys) - Role Based Security - Joins (Inner Join, Left Outer Join, Theta Join, Cross Join) - Subqueries (Exists, Not Exists, In) - DDL DML - Transactions (for the datastores supporting transactions) - ANSI SQL stored functions - Views - BLOB and CLOB support (for the datastores supporting BLOBs) - Use any JDBC compliant tools and frameworks in the market to interact with the Google Datastore. For example. - Squirrel SQL (database management) - Power Architect (data modeling) - Jasper Reports (reporting) - Hibernate (Object To Relational mapping) - All JDBC compliant tools - Port exiting RDBMS instances to cloud databases Please visit our websitehttp://www.cloud2db.comand try out the free trial version. Please visit google group Cloud2dbhttp://groups.google.com/group/cloud2db to share your feedback and thoughts. Sincerely, Sandeep Sathaye Founder and Chief Architect Cloud2db -- 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-j...@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: Processing large xml-files with JAXB in app engine
I switched to javax.xml.parsers.SAXParser. The problem is now solved and its obviously faster. Performance JAXB (very large XML) ~ 4sec SAXParser with specific optimizations ~ 0,35secs Thanks for your help! On 26 Dez., 21:03, dreamer venugopal.vasire...@gmail.com wrote: If the requirement is pure parsing and not the Marshalling and u- Marshalling from xml to objects, you may be better off using Stax or SAX parsers. On Dec 26, 4:29 am, Didier Durand durand.did...@gmail.com wrote: Hi, I don't need xsd and don't parse very large xml but the code is simple to implement: so, unless you have a huge code base already working on JAXB, you can probably write directly with the classes provided by GAE It's hard for me to compare with jaxb that I didn't use that much. The issue I see with JAXB and other external jars is that you need to check their requirements againt the JRE list that I provided im my previous post: you are never sure that the next version will require a class unsupported by GAE. regards didier On Dec 26, 11:44 am, androidDeveloper stepmas...@googlemail.com wrote: Hi, This approach would be my next choice. but implementing and testing this should be more complex as with JAXB? On 26 Dez., 08:54, Didier Durand durand.did...@gmail.com wrote: Hi, I use the xml parsing classes that are natively part of GAE JDK itself : javax.xml.parsers.DocumentBuilder, javax.xml.parsers.DocumentBuilderFactory, org.w3c.dom.Document, etc. See bottom ofhttp://code.google.com/appengine/docs/java/jrewhitelist.html Aren't those enough for what you want to achieve ? regards didier On Dec 23, 6:54 pm, crllvnc crll...@gmail.com wrote: I've been using JAXB for xml file unmarshalling in an upload servlet. As far as I remember, the only size limit I have faced is related to the 30s timeout. Here are my imports : import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.bind.JAXBException; import javax.xml.bind.UnmarshalException; import javax.xml.bind.Unmarshaller; Maybe switching from JAXB2 to JAXB would solve (part of) your problems. Moreover, JAXB does not require any jar. -- 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-j...@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] OAuth : Error 401:Invalid AuthSub token
Error message [WARN] Unable to respond to any of these challenges: {authsub=AuthSub realm=http://www.google.com/accounts/AuthSubRequest} com.google.gdata.util.AuthenticationException: OK HTML HEAD TITLEToken invalid - Invalid AuthSub token./TITLE /HEAD BODY BGCOLOR=#FF TEXT=#00 H1Token invalid - Invalid AuthSub token./H1 H2Error 401/H2 /BODY /HTML My code GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters(); oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); oauthParameters.setScope(https://docs.google.com/feeds/;); // oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); oauthParameters.setOAuthToken(orequest.getParameter(oauth_token)); oauthParameters.setOAuthTokenSecret(request.getParameter(oauth_verifier)); DocsService client = new DocsService(goalcat-docs-v1); client.setOAuthCredentials(oauthParameters, signer); URL feedUrl = new URL(https://docs.google.com/feeds/default/private/full ); *DocumentListFeed resultFeed = client.getFeed(feedUrl, DocumentListFeed.class);* -- 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-j...@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] Always on instance startup delay with only two concurrent requests
After configuring my app with 'always on', I still see some long delays with log entries indicating a new process is being started. There is at least on occurrence where there hadn't been any requests for about 60 seconds and then two requests arrived within 300 ms. The first request got a fully warmed instance and completed in 332 ms (according to the log). The second request caused a new instance startup and took 6181 ms to complete (enough time to serve about 9 requests). With 'always on' configured, I would expect an instance to be available for the second request. I wonder if there's any way to know why GAE didn't have an available instance to handle the second request - is there something I can do? -- 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-j...@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] Using entity.setProperty on one-to-many relationships
Hi, In my application, I have the following unidirectional one-to-many relationship: @PersistenceCapable public class Recipe implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String name; } @PersistenceCapable public class CookBook { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String title; @Persistent private ListRecipe recipes;// *- one to many with Recipe * } I am doing the following to persist an instance of *CookBook* into data store using the low level API: private DatastoreService dataStoreSvc = DatastoreServiceFactory.getDatastoreService(); public void persistEntity(CookBook cookBook) { Entity entityToPersist = new Entity(CookBook); ... entityToPersist.setProperty(recipes, cookBook.getRecipes()); // *-- an error occurs here* ... dataStoreSvc.put(entityToPersist); } In the snippet above, the highlighted line throws the following error: recipes: com.examples.domain.Recipe is not a supported property type. java.lang.IllegalArgumentException: recipes: com.examples.domain.Recipe is not a supported property type. at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:149) at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:123) at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:280) at com.examples.domain.persist.DatastoreHelper.persistEntity(DatastoreHelper.java:21) Note that I marked the *Recipe* class to be Serializable PersistanceCapable. Still the *setProperty* call fails. Moreover, I am using this snippet of code (and the low level API) during local unit testing and my test fails with this error. Could you please help me understand what am I missing here ? Please let me know if you need more information. Sincere Regards, Kalyan -- 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-j...@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] persistent and scalable global atomic counter: not possible with GAE?
Hello! I need to create a global atomic counter (64-bit) in my AppEngine/J app. Like long count = MyCounter.increment() that will 100% guarantee that count will never ever be the same for two different requests, and that I will be able to increment it several million times/day initially, and much more if/when traffic increases. I do not really care if it skips a number or two occasionally: I can live with it returning a value larger than the actual number of calls, but I do need absolute uniqueness and reasonably linear growth (i.e. is two consecutive calls from a client should result in ascending counter values). Is this possible to do with Google AppEngine? Sharded counters can ensure consistent counting, but not unique counts; memcache counters can ensure unique increments, but they are perishable and thus difficult (impossible?) to properly synchronize with persistent storage. Using one entity to read-update in a transaction will not scale... Thanks, MG -- 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-j...@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: persistent and scalable global atomic counter: not possible with GAE?
Have a look at the Datastore Key thingy. The keys generated are unique across the system IMO. Not sure though but that's what I remember reading somewhere. -N On Dec 29, 7:43 am, MG michael.glas...@gmail.com wrote: Hello! I need to create a global atomic counter (64-bit) in my AppEngine/J app. Like long count = MyCounter.increment() that will 100% guarantee that count will never ever be the same for two different requests, and that I will be able to increment it several million times/day initially, and much more if/when traffic increases. I do not really care if it skips a number or two occasionally: I can live with it returning a value larger than the actual number of calls, but I do need absolute uniqueness and reasonably linear growth (i.e. is two consecutive calls from a client should result in ascending counter values). Is this possible to do with Google AppEngine? Sharded counters can ensure consistent counting, but not unique counts; memcache counters can ensure unique increments, but they are perishable and thus difficult (impossible?) to properly synchronize with persistent storage. Using one entity to read-update in a transaction will not scale... Thanks, MG -- 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-j...@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: in operator doesnt work
Hie thanks that was a silly mistake... However, then how to write the JDOQL for this case? I have a list of long values and i need to find only those rows which has one of the long value in that attribute. In typical sql i will write it as: select * from mytable where pocId IN (1,3,5) where 1,3,5 is a list of long values. Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com On Tue, Dec 28, 2010 at 1:58 PM, datanucleus andy_jeffer...@yahoo.comwrote: query = select from + PocVacationSchedule.class.getName() + where pocId.contains( + pocIdList + ); where podIdList is a java.util.List of type Long Now please tell me, in Java, would you do Long.contains(ListLong) ? No. Thought not. On the other hand you would do ListLong.contains(Long) -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-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-j...@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: Using entity.setProperty on one-to-many relationships
Hi, I think we need to know your class Entity to spot the problem regards didier On Dec 29, 1:57 am, Kalyan Akella kalyan.ake...@gmail.com wrote: Hi, In my application, I have the following unidirectional one-to-many relationship: @PersistenceCapable public class Recipe implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String name; } @PersistenceCapable public class CookBook { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String title; @Persistent private ListRecipe recipes; // *- one to many with Recipe * } I am doing the following to persist an instance of *CookBook* into data store using the low level API: private DatastoreService dataStoreSvc = DatastoreServiceFactory.getDatastoreService(); public void persistEntity(CookBook cookBook) { Entity entityToPersist = new Entity(CookBook); ... entityToPersist.setProperty(recipes, cookBook.getRecipes()); // *-- an error occurs here* ... dataStoreSvc.put(entityToPersist); } In the snippet above, the highlighted line throws the following error: recipes: com.examples.domain.Recipe is not a supported property type. java.lang.IllegalArgumentException: recipes: com.examples.domain.Recipe is not a supported property type. at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:149) at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:123) at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:280) at com.examples.domain.persist.DatastoreHelper.persistEntity(DatastoreHelper.java:21) Note that I marked the *Recipe* class to be Serializable PersistanceCapable. Still the *setProperty* call fails. Moreover, I am using this snippet of code (and the low level API) during local unit testing and my test fails with this error. Could you please help me understand what am I missing here ? Please let me know if you need more information. Sincere Regards, Kalyan -- 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-j...@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.
[google-appengine] data model design for datastore
I have a strong background in RDBMS and java, but I am new to datastores like appengine's datastore. I'm currently working through the OReilly Programming Google App Engine book and am focusing on the python implementation. While the book gives a lot of good theory, it doesn't have much info on data model design - particularly around designing for transactions. Coming from the java world, using transactions was easy and very necessary for complex apps. However, I can't work out if a relatively complex app could be done with datastore because of the entity group constraints for transactions. Is there any documentation recommendations on data model design for appengine datastore? In particular, how to design for best use of transactions. Many thanks in advance, Chris -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Find and delete all objects belonging to 'area'. in datastore ..
from google.appengine.ext import db from datetime import date,datetime,time def deleteArea(area, x): Find and delete all objects belonging to 'area'. Delete should bail out if 1. the business Subscription is not 'TRIAL' 2. the business is in a 'TRIAL' state and x days have elapsed. Return True if all objects could be successfully deleted. False otherwise. #Entity_Kind = ['ACLRules','WTBusiness','WTComment','WTContact',.] # #for each entity_kind in Entity_Kind : # # if(Subscription of business is not TRIAL): # return False # if(Subscription of business is TRIAL AND (current_date- sign_in_date) == x )): # return False # else : # filter each entity_kind.all() by area ,fetch and delete it. # return True # Entity_Kind = ['ACLRules','WTBusiness','WTComment','WTContact','WTForum','WTMailTemplate','WTPost','WTTicket','WTTopic','WTUser'] e = WTBusiness.all() e.filter('area= ', area) business = e.get() if(business.Subscription != 'TRIAL'): t = abs(datetime.datetime.now()-WTBusiness.created).days if(tx): return True for entity_kind in Entity_Kind : e = entity_kind.all() e.filter('area= ', area) results = e.fetch(e) db.delete(results) return True pass -- guys , have tried something like this . Any help ?? Thanks , -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Channel API and InvalidChannelClientIdError
Hello! I'm trying to replicate the simple Channel API demo from TyphoonAE, and I can connect clients fine. But, everytime I try to POST to the server, I get a 500 error with InvalidChannelClientIdError being thrown, even though the client ID is the correct one that I used to create the token. Here are the source files I'm working with verbatim: http://code.google.com/p/typhoonae/source/browse/src/demo/src/demo/channel.html?r=7772cac093d249c2db911f50fd4c9dfe4f842843 http://code.google.com/p/typhoonae/source/browse/src/demo/src/demo/channel.py?r=7772cac093d249c2db911f50fd4c9dfe4f842843 Anyone have any suggestions for getting this to work? Thanks! :) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Java Spring 3 and Blobstore
Hi all, for first sorry for my english. I'm using GAE with the Java Spring3 Framework. Everything works fine but now I need to upload and save a simple image for each Book model in my application. I have some annotated controller with Spring3 that respond to some URLs but I don't know how to handle the uploaded file. I mean, I have a simple Controller like this: @Controller @RequestMapping(value = /admin/book/add.htm) public class BookAddController { ... } I don't know how to do with the JSP. form:form modelAttribute=book action=%= blobstoreService.createUploadUrl(/upload) % method=post enctype=multipart/form-data because if I set the action attribute to that path I'm unable to persist the Book model, because the BookAddController, obviously, doesn't work. The documentation and the examples I've found are all about a classic standard servlet so I'm a little bit confused. Can you help me? Thanks a lot. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] FTP alternatives
Hi, I have an appengine app and I need to receive files from Third Parties. The best option to me is to receive the files via ftp, but I have read that it is not possible, at least a year ago. It is still not possible? Which way could I receive the files? This is very important to my project, in fact it is indispensable. Thx a lot -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Java Spring 3 and Blobstore
Here is what I did: 1. Rendered a normal form without a specific form action 2. Requested a upload URL from the BlobstoreService via jQuery and set the action attribute on the form 3. User posts the form to the form action. Here are my controllers: @RequestMapping(value = /post/path, method = RequestMethod.GET) @ResponseBody public String postPath() { return gson.toJson(new Text(blobstoreService .createUploadUrl(/post))); } @RequestMapping(value = /post, method = RequestMethod.POST) @ResponseBody public void post(HttpServletRequest request, HttpServletResponse response) throws IOException { MapString, BlobKey blobs = blobstoreService.getUploadedBlobs(request); BlobKey blobKey = blobs.get(imageFile);//file upload input logger.info(blob key=+blobKey); BlobInfoFactory bif = new BlobInfoFactory(); BlobInfo bi = bif.loadBlobInfo(blobKey); logger.info(blob size=+bi.getSize()); ImagesService imagesService = ImagesServiceFactory.getImagesService(); Image original = ImagesServiceFactory.makeImageFromBlob(blobKey); logger.info(original image= + original); } The jQuery to set the form action is: $.getJSON('/api/listings/post/path', function(data) { $('#post_form').attr('action', data.value); }); You could easily skip the ajax part by putting the form action as a model attribute when the page is rendered. -Tristan On Tue, Dec 28, 2010 at 2:17 AM, Sgurbat y.redae...@gmail.com wrote: Hi all, for first sorry for my english. I'm using GAE with the Java Spring3 Framework. Everything works fine but now I need to upload and save a simple image for each Book model in my application. I have some annotated controller with Spring3 that respond to some URLs but I don't know how to handle the uploaded file. I mean, I have a simple Controller like this: @Controller @RequestMapping(value = /admin/book/add.htm) public class BookAddController { ... } I don't know how to do with the JSP. form:form modelAttribute=book action=%= blobstoreService.createUploadUrl(/upload) % method=post enctype=multipart/form-data because if I set the action attribute to that path I'm unable to persist the Book model, because the BookAddController, obviously, doesn't work. The documentation and the examples I've found are all about a classic standard servlet so I'm a little bit confused. Can you help me? Thanks a lot. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Channel API from mobile
I'm curious if anyone with a BlackBerry can make this work. The Channel API uses whatever technology is available for browser push when possible, and if not, long-polling. It's possible the BlackBerry's browser simply doesn't support this technology. I'd be surprised if iPhone/Android devices *couldn't* handle this, though with limitations - I have no idea what the behavior would be like if the browser were backgrounded. -- 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 Sun, Dec 26, 2010 at 4:59 AM, Thomas Wiradikusuma wiradikus...@gmail.com wrote: Hi guys, I tried Channel API from BlackBerry 8900 and 9700, doesn't work. jQuery can run there so I thought Channel API can run too. Anyone tried with other BlackBerry with positive result? Anyone successfully tried from Android/iPhone/other? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: GAEPhotos V0.4 released!
Hey, nice work! There are a few things I should mention: 1. It looks like you aren't using the high performance image serving API. You should take a look at this, as it's the optimum way to serve images from App Engine. You'll need to have users upload to the Blobstore and call get_serving_url(): http://code.google.com/appengine/docs/python/images/functions.html 2. The directory structure of your SVN project seems non-standard, which may confuse some folks. It looks like you have static code in trunk, and application code in branches. You'll want to put all your code in trunk and put code for experimental features/release branches in branches. Here's a page describing a standard setup: http://ariejan.net/2006/11/24/svn-how-to-structure-your-repository/ -- 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 Fri, Dec 24, 2010 at 1:50 PM, Adam Sah adam@gmail.com wrote: neat!! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] FTP alternatives
No, it's not possible. You'll probably want to implement a blobstore handler and web based uploads: http://code.google.com/appengine/docs/python/blobstore/overview.html -- 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 Tue, Dec 28, 2010 at 10:27 AM, david davg...@gmail.com wrote: Hi, I have an appengine app and I need to receive files from Third Parties. The best option to me is to receive the files via ftp, but I have read that it is not possible, at least a year ago. It is still not possible? Which way could I receive the files? This is very important to my project, in fact it is indispensable. Thx a lot -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: FTP alternatives
I wrote an EC2 cURL Server and put it on a micro instance to overcome similar limitations. See http://ec2-204-236-157-181.us-west-1.compute.amazonaws.com, and https://github.com/mjhm/cURLServer. It can function as an FTP client, but if you needed it to be a server, you would need to add that functionality yourself. On Dec 28, 10:27 am, david davg...@gmail.com wrote: Hi, I have an appengine app and I need to receive files from Third Parties. The best option to me is to receive the files via ftp, but I have read that it is not possible, at least a year ago. It is still not possible? Which way could I receive the files? This is very important to my project, in fact it is indispensable. Thx a lot -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
RE: [google-appengine] Re: FTP alternatives
Use post and store to a blog or data store object. Received files must be smaller than 1 meg. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of John McLaughlin Sent: Tuesday, December 28, 2010 11:25 AM To: Google App Engine Subject: [google-appengine] Re: FTP alternatives I wrote an EC2 cURL Server and put it on a micro instance to overcome similar limitations. See http://ec2-204-236-157-181.us-west-1.compute.amazonaws.com, and https://github.com/mjhm/cURLServer. It can function as an FTP client, but if you needed it to be a server, you would need to add that functionality yourself. On Dec 28, 10:27 am, david davg...@gmail.com wrote: Hi, I have an appengine app and I need to receive files from Third Parties. The best option to me is to receive the files via ftp, but I have read that it is not possible, at least a year ago. It is still not possible? Which way could I receive the files? This is very important to my project, in fact it is indispensable. Thx a lot -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Cloud2db for Cassandra and MongoDb
Hi Everyone, Cloud2db http://www.cloud2db.com/ is pleased to announce the support for Cassandra and mongoDB cloud database platforms in addition to Google Bigtable platform which it already supports. With this new release you will be able to transparently choose between Google Bigtable, Cassandra and MongoDB as your cloud database platform. Please download the Cloud2db software from the following link. Download http://cloud2db-server.appspot.com/website/download.html(Google Bigtable, Cassandra, MongoDB) Cloud2db provides a standards-based abstraction layer over cloud databases. This product provides you with performance and scalability of cloud platform along with structure, standards and interoperability of RDBMS, SQL and JDBC. With Cloud2db, you will be able to manage your data on cloud platforms by using established concepts of RDBMS, SQL and JDBC, and thereby preserving your existing investments in tools, technologies, frameworks and skills. Here are Cloud2db features: - Manage data on Google Bigtable, Cassandra and MongoDB using familiar concepts of RDBMD, SQL - Referential integrity (Primary Keys, Foreign Keys) - Role Based Security - Joins (Inner Join, Left Outer Join, Theta Join, Cross Join) - Subqueries (Exists, Not Exists, In) - DDL DML - Transactions (for the datastores supporting transactions) - ANSI SQL stored functions - Views - BLOB and CLOB support (for the datastores supporting BLOBs) - Use any JDBC compliant tools and frameworks in the market to interact with the Google Datastore. For example. - Squirrel SQL (database management) - Power Architect (data modeling) - Jasper Reports (reporting) - Hibernate (Object To Relational mapping) - All JDBC compliant tools - Port exiting RDBMS instances to cloud databases Please visit our website http://www.cloud2db.com and try out the free trial version. Please visit google group Cloud2dbhttp://groups.google.com/group/cloud2db to share your feedback and thoughts. Sincerely, Sandeep Sathaye Founder and Chief Architect Cloud2db -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: FTP alternatives
Brandon, There size limit os 2GB for blobstore objects. This is probably a much better way to store files in App Engine. -- 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 Tue, Dec 28, 2010 at 11:35 AM, Brandon Wirtz drak...@digerat.com wrote: Use post and store to a blog or data store object. Received files must be smaller than 1 meg. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of John McLaughlin Sent: Tuesday, December 28, 2010 11:25 AM To: Google App Engine Subject: [google-appengine] Re: FTP alternatives I wrote an EC2 cURL Server and put it on a micro instance to overcome similar limitations. See http://ec2-204-236-157-181.us-west-1.compute.amazonaws.com, and https://github.com/mjhm/cURLServer. It can function as an FTP client, but if you needed it to be a server, you would need to add that functionality yourself. On Dec 28, 10:27 am, david davg...@gmail.com wrote: Hi, I have an appengine app and I need to receive files from Third Parties. The best option to me is to receive the files via ftp, but I have read that it is not possible, at least a year ago. It is still not possible? Which way could I receive the files? This is very important to my project, in fact it is indispensable. Thx a lot -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: GAEPhotos V0.4 released!
+1 for the high perf image serving API. It's much better than serving them manually. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] blobstore vs. text
hi, what is the best method in term of performance to store and recover a text/plain aprox 1024kb 1 store text into datastore like string 2 store text into blogstore thanks -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: how to delete enteries from the db
I tried the same. I added this app.yaml builtins: - datastore_admin: on and then i went to the SDK console, i still dont see Data section of the Admin Console. I am running the app on localhost though, is this a problem ? Thanks. --RJ On Mon, Dec 27, 2010 at 8:14 PM, Tim Hoffman zutes...@gmail.com wrote: HI Have a look at http://code.google.com/appengine/docs/python/datastore/creatinggettinganddeletingdata.html#Deleting_Entities_in_Bulk It should help T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: how to delete enteries from the db
Hi datastore_admin is only for production. (You should mention if your problem/question is SDK or production related, it will help others give you a more accurate answer) If you want to clear the local dev server datastore use the -c option. also have a look at the output of dev_server.py --help (there are a few other options you should know about ;-) Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Deleting Data Really Expensive!
I have an online game. After each game completes I delete the data that is no longer needed from the data store. These deletes are one of the most expensive operations I do. Is there are cheaper way to trim down my datastore? At the moment I just pull thousands of records from the datastore and call delete on them. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Deleting Data Really Expensive!
Make sure you are only getting the keys, rather than whole entities. That will be a lot less costly Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] How to set UTF-8 encoding for a file download servlet.
I have a servlet that sends a file to the browser, i get the data from the datastore. I send this headers in the servlet. if (request.isSecure()) { response.addHeader(Pragma, no-cache); response.addHeader(Expires, -1); response.addHeader(Cache-Control, no-cache); } else { response.addHeader(Cache-Control, private); response.addHeader(Pragma, public); } if (isIE) { response.addHeader(Content-Disposition, attachment; filename=\ + encName + \ ); response.addHeader(Connection, close); response.setContentType(application/force-download; name= \ + encName + \ ); } else { response.addHeader(Content-Disposition, attachment; filename=\ + encName + \ ); response.setContentType(application/octet-stream; name=\ + encName + \ ); if (contentLen 0) { response.setContentLength(contentLen); } } Then i send the file to the browser, but i'm having troubles with the file encoding. For example, in the downloaded file i get a line like this howDoesItWorksStep21Description=El usuario elige la operadora de su tel??fono m??vil. But the data is stored right in the datastore (El usuario elige la operadora de su teléfono móvil.) Does anyone have idea how can i do to fix it? Am I missing any header? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] How to set UTF-8 encoding for a file download servlet.
Have you tried using the setCharacterEncoding(UTF-8); method on the response object. On Tue, Dec 28, 2010 at 8:44 PM, nacho vela.igna...@gmail.com wrote: I have a servlet that sends a file to the browser, i get the data from the datastore. I send this headers in the servlet. if (request.isSecure()) { response.addHeader(Pragma, no-cache); response.addHeader(Expires, -1); response.addHeader(Cache-Control, no-cache); } else { response.addHeader(Cache-Control, private); response.addHeader(Pragma, public); } if (isIE) { response.addHeader(Content-Disposition, attachment; filename=\ + encName + \ ); response.addHeader(Connection, close); response.setContentType(application/force-download; name= \ + encName + \ ); } else { response.addHeader(Content-Disposition, attachment; filename=\ + encName + \ ); response.setContentType(application/octet-stream; name=\ + encName + \ ); if (contentLen 0) { response.setContentLength(contentLen); } } Then i send the file to the browser, but i'm having troubles with the file encoding. For example, in the downloaded file i get a line like this howDoesItWorksStep21Description=El usuario elige la operadora de su tel??fono m??vil. But the data is stored right in the datastore (El usuario elige la operadora de su teléfono móvil.) Does anyone have idea how can i do to fix it? Am I missing any header? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] blobstore vs. text
How do you get the text? What do you need to do with the text once you get it back out? If someone is uploading a file, the BlobStore might work well. BlobStore entities can be up to 2GB, but getting data into the BlobStore is trickier. http://code.google.com/appengine/docs/python/blobstore/overview.html#Uploading_a_Blob If the text is coming via a text input in a form or something is feeding the data to a service you run, you could try compression + a BlobProperty. However, you need to remember that datastore entities are limited to 1Mb -- so without compression it sounds like you might be pushing the limit. If the data can be large enough that compression doesn't work, you'll need to shard the text into multiple entities. Setup some tests and try both ways. Most likely you'll figure out pretty quick which method will work best for your application. Robert On Tue, Dec 28, 2010 at 17:27, alf alberto@gmail.com wrote: hi, what is the best method in term of performance to store and recover a text/plain aprox 1024kb 1 store text into datastore like string 2 store text into blogstore thanks -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.