[appengine-java] Re: Error message after updating AppEngine in my project

2010-03-30 Thread Spanishgringo
Same problem for me as well. :(  Back to 1.3.1 until someone can share
a fix...

On Mar 30, 12:28 am, julianc  wrote:
> Similar problem here. Upgraded to 1.3.2 error, switched back to
> 1.3.1 ... everything fine again.
>
> Mar 29, 2010 11:24:44 PM
> com.google.appengine.tools.info.LocalVersionFactory getVersion
> INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
> java.util.zip.ZipException: error in opening zip file
>         at java.util.zip.ZipFile.open(Native Method)
>         at java.util.zip.ZipFile.(ZipFile.java:114)
>         at java.util.jar.JarFile.(JarFile.java:133)
>         at java.util.jar.JarFile.(JarFile.java:97)
>         at
> com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF 
> inder.java:
> 37)
>         at
> com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion 
> Factory.java:
> 65)
>         at
> com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav a:
> 112)
>         at
> com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav a:
> 91)
>         at
> com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
> 164)
>         at
> com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck 
> .java:
> 132)
>         at com.google.appengine.tools.development.DevAppServerMain
> $StartAction.apply(DevAppServerMain.java:150)
>         at com.google.appengine.tools.util.Parser
> $ParseResult.applyArgs(Parser.java:48)
>         at
> com.google.appengine.tools.development.DevAppServerMain.(DevAppServer 
> Main.java:
> 113)
>         at
> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa 
> in.java:
> 89)
> Mar 29, 2010 11:24:44 PM com.google.apphosting.utils.jetty.JettyLogger
> info
> INFO: Logging to JettyLogger(null) via
> com.google.apphosting.utils.jetty.JettyLogger
> Mar 29, 2010 11:24:44 PM
> com.google.apphosting.utils.config.AppEngineWebXmlReader
> readAppEngineWebXml
> INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
> Mar 29, 2010 11:24:44 PM
> com.google.apphosting.utils.config.AbstractConfigXmlReader
> readConfigXml
>
> On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
>
>
>
> > Not sure why this should be happening as the deploy script should be
> > ignoring this, but is it possible for you to do an "svn export" to another
> > directory prior to a deploy?

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Andreas Borglin
Hi again.

I had a look at jiql.
"jiql is a JDBC wrapper for accessing Google DataStore on Google App
Engine for JAVA.
jiql supports the use of standard SQL as a method for accessing
the DataStore"

Even if I had seen jiql earlier I wouldn't have considered it anyway
because,

1. I want the API to make perfect sense for working with the
datastore. "Standard SQL" doesn't meet this requirement.
2. I use GWT. Not JSP or any other technology to dynamically generate
pages on server side.

On Mar 29, 8:52 pm, Guillermo Schwarz 
wrote:
> One question: Why didn't you consider jiql?
>
>
>
>
>
> On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> > +1
>
> > On Mar 29, 4:03 am, Andreas Borglin  wrote:
> > > Hi all.
>
> > > I recently decided to migrate away from JDO to one of the third party
> > > datastore frameworks. At first I had only heard about objectify, but
> > > after some further digging I  found out about 5 other frameworks as
> > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> > > I was only interested in simple wrapper frameworks that acted as a
> > > convenience layer above the AppEngine low-level API. I _want_ the
> > > framework to expose the true nature of the datastore, but at the same
> > > time relieve the developer of the tedious tasks that's involved when
> > > working with the low-level API directly. It is much easier to work
> > > with the AppEngine datastore when its concepts, features, constraints
> > > and limitations are exposed directly. You can read more about the
> > > reasons for this in the article.
>
> > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> > > are multi-platform and slim3 is more than just a datastore framework)
>
> > > I spent some time researching these when I got the idea to write an
> > > article about them. I contacted the authors for each framework and
> > > asked if they would be interested in participating. Passionate as they
> > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> > > The goal is to publish two articles; one interview with the authors,
> > > and one where I solve some typical scenario with each framework.
> > > The interview article has now been published and can be found athttp://
> > borglin.net/gwt-project/?page_id=604.
> > > The code example article will be posted sometime in the upcoming two
> > > weeks.
>
> > --
> > 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 > unsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Saludos cordiales,
>
> Guillermo Schwarz
> Sun Certified Enterprise Architect

-- 
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] Objectify - Twig - SimpleDS articles

2010-03-30 Thread Yasuo Higa
Hi Andreas,

> slim3 is more than just a datastore framework)
>
You can use Slim3 as just a datastore framework.
Please see 
http://sites.google.com/site/slim3appengine/slim3-datastore/using-slim3-datastore.

Thanks,

Yasuo Higa

-- 
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: AuthSub InvalidToken problem

2010-03-30 Thread nicanor.babula
That's all the code that deals with google services in my whole
application. The exception is raised on the following instruction:
[code]
CalendarEventFeed resultFeed = calendarService.query(myQuery,
CalendarEventFeed.class);
[/code]

What about the environment? You are saying that I might have included
jars that could interfere with auth sub? Are there any known
conflictual libraries? I have simply included all the jars shipped
with the gdata-samples package.

On Mar 30, 4:51 am, seleronm  wrote:
> Hi,
>
> I was not able to have them reproduce behavior though I tried a
> little.
> (It was possible to execute it normally).
>
> Can post do you the source code further?
> I want to confirm behavior.
>
> Or, the environment might be a cause.
>
> thank.
>
> > Come on!
> > Anyone, anything?
>
> > Thanks.
>
> > On Mar 26, 12:54 pm, "nicanor.babula" 
> > wrote:
>
> > > Hi all,
>
> > > I am facing a strange problem in with my app in GAE and I can't seem
> > > to figure it up by myself, so I hope you'll help me.. Here we are:
>
> > > I do :
>
> > > [code]
> > > String authSubUrl = AuthSubUtil.getRequestUrl(nextUrl, 
> > > "http://www.google.com/calendar/feeds/default/private/full";, false, true);
> > > response.sendRedirect(authSubUrl);
> > > [/code]
>
> > > in my servlet in order to get an auth subtoken. And the servlet at
> > > nextUrl does:
> > > [code]
> > > String oneTimeUseToken =
> > > AuthSubUtil.getTokenFromReply(request.getQueryString());
> > > if(oneTimeUseToken != null){
> > >   String sessionToken =
> > > AuthSubUtil.exchangeForSessionToken(oneTimeUseToken, null);
> > >   // persist the sessiontoken}
>
> > > // redirect to the page using google services
> > > [/code]
> > > in order to retrieve and persist the sessiontokenalong with other
> > > user information.
>
> > > The problem is that when later I do:
> > > [code]
> > > URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/
> > > private/full");
> > > CalendarQuery myQuery = new CalendarQuery(feedUrl);
> > > CalendarService calendarService = new CalendarService("some-app-
> > > name");
> > > calendarService.setAuthSubToken(currentUser.authSubToken, null);
> > > CalendarEventFeed resultFeed = calendarService.query(myQuery,
> > > CalendarEventFeed.class);
> > > [/code]
>
> > > It says that thetokenisinvalid, and raises this exception:
> > > [code]
> > > cri.domodentweb.server.rpc.CalendarEventsServiceImpl getEventsDev:
> > > null
> > > com.google.gdata.util.AuthenticationException: OK
> > > 
> > > 
> > > Tokeninvalid-InvalidAuthSubtoken.
> > > 
> > > 
> > > Tokeninvalid-InvalidAuthSubtoken.
> > > Error 401
> > > 
> > > 
>
> > >         at
> > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGData
> > >  Request.java:
> > > 596)
> > >         at
> > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleG
> > >  DataRequest.java:
> > > 563)
> > >         at
> > > com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataReques
> > >  t.java:
> > > 550)
> > >         at
> > > com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java
> > >  :
> > > 530)
> > >         at
> > > com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.
> > >  java:
> > > 535)
> > >         at com.google.gdata.client.Service.getFeed(Service.java:1102)
> > >         at com.google.gdata.client.Service.getFeed(Service.java:1044)
> > >         at 
> > > com.google.gdata.client.GoogleService.getFeed(GoogleService.java:
> > > 662)
> > >         at com.google.gdata.client.Service.query(Service.java:1204)
> > >         at com.google.gdata.client.Service.query(Service.java:1145)
> > >         at
> > > cri.domodentweb.server.rpc.CalendarEventsServiceImpl.getEventsDev(CalendarE
> > >  ventsServiceImpl.java:
> > > 133)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> > >         at java.lang.reflect.Method.invoke(Unknown Source)
> > >         at
> > > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.M
> > >  ethod_
> > > $1.run(Method_.java:165)
> > >         at java.security.AccessController.doPrivileged(Native Method)
> > >         at
> > > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.M
> > >  ethod_.privilegedInvoke(Method_.java:
> > > 163)
> > >         at
> > > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.M
> > >  ethod_.invoke_(Method_.java:
> > > 124)
> > >         at
> > > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.M
> > >  ethod_.invoke(Method_.java:
> > > 43)
> > >         at
> > > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
> > > 562)
> > >         at
> > > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServi
> > >  ceServlet.jav

[appengine-java] JIQL and SQL on appengine

2010-03-30 Thread Jeff Schnitzer
Hey, so one of the things I complained about in Andreas' great article
is the difficulty of doing analytics on appengine.  GAE is great for
operational systems, but ad-hoc queries require writing a bunch of
code that is further complicated by the
queue-30s-write-temp-data-to-datastore-requeue process.  Painful.

I miss being able to run SQL.  I *don't* miss writing code against
JDBC, and I *don't* miss configuring Java<->SQL systems like
Hibernate, but I do miss the SQL command prompt when I want to know
how many users logged in last week or what they've been doing.

I'm tantalized by systems like Cloud2db and Jiql but it seems like
you're focusing on building operational systems with JDBC.  I'm much
happier writing my operational code in java at the higher level of
objects and getting the better fidelity of mapping to native
operations that you will with Objectify, JDO, or whatnot.  Maybe there
are people who still write JDBC apps but they've got to be a pretty
masochistic lot.

What I really want is a bit of software (perhaps a version) that I can
deploy into my application, and a command line (or GUI) tool I can use
on my local box.  The tool would take my SQL statements (including
joins and aggregation functions), turn this into a series of 30s
requests, collate the results, and print them.  It could take hours,
fine - as long as it eventually comes up with the answer.  I'd be
willing to pay several hundred dollars for a tool like this.

Is there any chance that JIQL will go in that direction?  Or are you
thinking along the lines of the Cloud2db folks, basically "all or
nothing".  I don't want to write JDBC apps, I just want to
occasionally run some ad-hoc SQL against my existing apps.

Thanks,
Jeff

On Tue, Mar 30, 2010 at 12:51 AM, Andreas Borglin
 wrote:
> Hi again.
>
> I had a look at jiql.
> "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> Engine for JAVA.
> jiql supports the use of standard SQL as a method for accessing
> the DataStore"
>
> Even if I had seen jiql earlier I wouldn't have considered it anyway
> because,
>
> 1. I want the API to make perfect sense for working with the
> datastore. "Standard SQL" doesn't meet this requirement.
> 2. I use GWT. Not JSP or any other technology to dynamically generate
> pages on server side.
>
> On Mar 29, 8:52 pm, Guillermo Schwarz 
> wrote:
>> One question: Why didn't you consider jiql?
>>
>>
>>
>>
>>
>> On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
>> > +1
>>
>> > On Mar 29, 4:03 am, Andreas Borglin  wrote:
>> > > Hi all.
>>
>> > > I recently decided to migrate away from JDO to one of the third party
>> > > datastore frameworks. At first I had only heard about objectify, but
>> > > after some further digging I  found out about 5 other frameworks as
>> > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>>
>> > > I was only interested in simple wrapper frameworks that acted as a
>> > > convenience layer above the AppEngine low-level API. I _want_ the
>> > > framework to expose the true nature of the datastore, but at the same
>> > > time relieve the developer of the tedious tasks that's involved when
>> > > working with the low-level API directly. It is much easier to work
>> > > with the AppEngine datastore when its concepts, features, constraints
>> > > and limitations are exposed directly. You can read more about the
>> > > reasons for this in the article.
>>
>> > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
>> > > are multi-platform and slim3 is more than just a datastore framework)
>>
>> > > I spent some time researching these when I got the idea to write an
>> > > article about them. I contacted the authors for each framework and
>> > > asked if they would be interested in participating. Passionate as they
>> > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
>> > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>>
>> > > The goal is to publish two articles; one interview with the authors,
>> > > and one where I solve some typical scenario with each framework.
>> > > The interview article has now been published and can be found athttp://
>> > borglin.net/gwt-project/?page_id=604.
>> > > The code example article will be posted sometime in the upcoming two
>> > > weeks.
>>
>> > --
>> > 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> >  unsubscr...@googlegroups.com>
>> > .
>> > For more options, visit this group at
>> >http://groups.google.com/group/google-appengine-java?hl=en.
>>
>> --
>> Saludos cordiales,
>>
>> Guillermo Schwarz
>> Sun Certified Enterprise Architect
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine for Java" group.
> To post to this group, send

Re: [appengine-java] Objectify - Twig - SimpleDS articles

2010-03-30 Thread Nick Johnson (Google)
Hi Andreas,

Excellent article! I've posted it to the App Engine reddit:
http://www.reddit.com/r/AppEngine/comments/bk4kt/datastore_frameworks_the_interview/

Please feel free to post the followup article(s) there, too, to make sure
they get a wide distribution!

-Nick Johnson

On Mon, Mar 29, 2010 at 9:03 AM, Andreas Borglin
wrote:

> Hi all.
>
> I recently decided to migrate away from JDO to one of the third party
> datastore frameworks. At first I had only heard about objectify, but
> after some further digging I  found out about 5 other frameworks as
> well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> I was only interested in simple wrapper frameworks that acted as a
> convenience layer above the AppEngine low-level API. I _want_ the
> framework to expose the true nature of the datastore, but at the same
> time relieve the developer of the tedious tasks that's involved when
> working with the low-level API directly. It is much easier to work
> with the AppEngine datastore when its concepts, features, constraints
> and limitations are exposed directly. You can read more about the
> reasons for this in the article.
>
> This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> are multi-platform and slim3 is more than just a datastore framework)
>
> I spent some time researching these when I got the idea to write an
> article about them. I contacted the authors for each framework and
> asked if they would be interested in participating. Passionate as they
> are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> The goal is to publish two articles; one interview with the authors,
> and one where I solve some typical scenario with each framework.
> The interview article has now been published and can be found at
> http://borglin.net/gwt-project/?page_id=604 .
> The code example article will be posted sometime in the upcoming two
> weeks.
>
> --
> 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.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
368047

-- 
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] Server Problem

2010-03-30 Thread Sowji
Hi,
I faced a problem while i was deploying my application in Google app
Engine.My problem is that,

Unable to update app: Error posting to URL:
http://appengine.google.com/api/appversion/create?app_id=lakshmisowjanyanakkala&version=1
&
409 Conflict
Another transaction by user sowji.apr10 is already in progress for this app
and major version. That user can undo the transaction with appcfg.py's
"rollback" command.

See the deployment console for more details
Unable to update app: Error posting to URL:
http://appengine.google.com/api/appversion/create?app_id=lakshmisowjanyanakkala&version=1
&
409 Conflict
Another transaction by user sowji.apr10 is already in progress for this app
and major version. That user can undo the transaction with appcfg.py's
"rollback" command.


Why it was rollbacked,i am always stoped and restarted the server and do
deploing.

please help me

Thanks,
Lakshmi.

-- 
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: How to get IP address of Appengine running my java servlet page

2010-03-30 Thread Didier Durand
Hi Dave,

A very straightforward solution: call getHardwareAddress() of
java.net.NetworkInterface.

NetworkInterface is part of the JRE class white list for GAEJ:
http://code.google.com/appengine/docs/java/jrewhitelist.html

This way, you get the MAC address of the network card of the machine.
This MAC address is unique worldwide. So, you can distinguish the
various machines that you are running on.

regards
didier

On Mar 29, 7:57 pm, Jeff Schnitzer  wrote:
> It seems quite unlikely that GAE appservers are going to have public
> IP addresses.  Even if you can get the IP address of the host (and I
> suspect this is impossible), it's going to be a private address.
>
> The best you will probably be able to do is get the NATed apparent
> address of the URLFetch servers.  Make a URLFetch request to a server
> you run somewhere and check the source IP address in the logs.
>
> This isn't necessarily a good piece of data, though.  For one, this is
> simply going to be an outbound public IP.  The request could have been
> routed around the world through Google's private network before it
> found an outbound node.  For another, it's going to come from the
> URLFetch service... and there is no guarantee that the URLFetch server
> is the same box (or even located anywhere near) the box your app runs
> on.
>
> It's an opaque system - deliberately so.
>
> Jeff
>
> On Mon, Mar 29, 2010 at 9:43 AM, Didier Durand  
> wrote:
> > Hi, check out class java.lang.System:  you can get various system
> > properties.
> > didier
>
> > On Mar 29, 4:30 pm, "powell...@gmail.com"  wrote:
> >> I am trying to get a sense of where (location) the Appengine is
> >> running my servlet to show how the cloud runs my servlet in different
> >> locations. I have tried to use request.getLocalAddr() but get back
> >> null. I tried getServletContext().getServerInfo() but did not get back
> >> an IP address. Any ideas?
>
> >> Dave
>
> > --
> > 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 
> > athttp://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] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Sandeep Sathaye
Hi,

You can try Cloud2db also. Please see the website http://www.cloud2db.com.
This works with any JDBC client tools/frameworks like Squirrel,
PowerArchitect, Hibernate in a client/server mode. This also works on Google
App Engine server with native JDBC driver.

Thanks,

Sandeep.

On Tue, Mar 30, 2010 at 3:51 AM, Andreas Borglin
wrote:

> Hi again.
>
> I had a look at jiql.
> "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> Engine for JAVA.
> jiql supports the use of standard SQL as a method for accessing
> the DataStore"
>
> Even if I had seen jiql earlier I wouldn't have considered it anyway
> because,
>
> 1. I want the API to make perfect sense for working with the
> datastore. "Standard SQL" doesn't meet this requirement.
> 2. I use GWT. Not JSP or any other technology to dynamically generate
> pages on server side.
>
> On Mar 29, 8:52 pm, Guillermo Schwarz 
> wrote:
> > One question: Why didn't you consider jiql?
> >
> >
> >
> >
> >
> > On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> > > +1
> >
> > > On Mar 29, 4:03 am, Andreas Borglin  wrote:
> > > > Hi all.
> >
> > > > I recently decided to migrate away from JDO to one of the third party
> > > > datastore frameworks. At first I had only heard about objectify, but
> > > > after some further digging I  found out about 5 other frameworks as
> > > > well (Twig, SimpleDS, siena, slim3, cloud2db).
> >
> > > > I was only interested in simple wrapper frameworks that acted as a
> > > > convenience layer above the AppEngine low-level API. I _want_ the
> > > > framework to expose the true nature of the datastore, but at the same
> > > > time relieve the developer of the tedious tasks that's involved when
> > > > working with the low-level API directly. It is much easier to work
> > > > with the AppEngine datastore when its concepts, features, constraints
> > > > and limitations are exposed directly. You can read more about the
> > > > reasons for this in the article.
> >
> > > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> > > > are multi-platform and slim3 is more than just a datastore framework)
> >
> > > > I spent some time researching these when I got the idea to write an
> > > > article about them. I contacted the authors for each framework and
> > > > asked if they would be interested in participating. Passionate as
> they
> > > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> > > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
> >
> > > > The goal is to publish two articles; one interview with the authors,
> > > > and one where I solve some typical scenario with each framework.
> > > > The interview article has now been published and can be found
> athttp://
> > > borglin.net/gwt-project/?page_id=604.
> > > > The code example article will be posted sometime in the upcoming two
> > > > weeks.
> >
> > > --
> > > 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 unsubscr...@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine-java?hl=en.
> >
> > --
> > Saludos cordiales,
> >
> > Guillermo Schwarz
> > Sun Certified Enterprise Architect
>
> --
> 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.
>
>

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Guillermo Schwarz
Andreas,

I don't get it. You can use JDO and Hibernate with SQL. Given that
jiql has a Hibernate config file, I guess using Hibernate with jiql
would be so easy.

What does GWT and JSP have to do with SQL anyway?

Cheers,
Guillermo.

On 30 mar, 03:51, Andreas Borglin  wrote:
> Hi again.
>
> I had a look at jiql.
> "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> Engine for JAVA.
> jiql supports the use of standard SQL as a method for accessing
> the DataStore"
>
> Even if I had seen jiql earlier I wouldn't have considered it anyway
> because,
>
> 1. I want the API to make perfect sense for working with the
> datastore. "Standard SQL" doesn't meet this requirement.
> 2. I use GWT. Not JSP or any other technology to dynamically generate
> pages on server side.
>
> On Mar 29, 8:52 pm, Guillermo Schwarz 
> wrote:
>
> > One question: Why didn't you consider jiql?
>
> > On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> > > +1
>
> > > On Mar 29, 4:03 am, Andreas Borglin  wrote:
> > > > Hi all.
>
> > > > I recently decided to migrate away from JDO to one of the third party
> > > > datastore frameworks. At first I had only heard about objectify, but
> > > > after some further digging I  found out about 5 other frameworks as
> > > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> > > > I was only interested in simple wrapper frameworks that acted as a
> > > > convenience layer above the AppEngine low-level API. I _want_ the
> > > > framework to expose the true nature of the datastore, but at the same
> > > > time relieve the developer of the tedious tasks that's involved when
> > > > working with the low-level API directly. It is much easier to work
> > > > with the AppEngine datastore when its concepts, features, constraints
> > > > and limitations are exposed directly. You can read more about the
> > > > reasons for this in the article.
>
> > > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> > > > are multi-platform and slim3 is more than just a datastore framework)
>
> > > > I spent some time researching these when I got the idea to write an
> > > > article about them. I contacted the authors for each framework and
> > > > asked if they would be interested in participating. Passionate as they
> > > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> > > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> > > > The goal is to publish two articles; one interview with the authors,
> > > > and one where I solve some typical scenario with each framework.
> > > > The interview article has now been published and can be found athttp://
> > > borglin.net/gwt-project/?page_id=604.
> > > > The code example article will be posted sometime in the upcoming two
> > > > weeks.
>
> > > --
> > > 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 > >  unsubscr...@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > --
> > Saludos cordiales,
>
> > Guillermo Schwarz
> > Sun Certified Enterprise Architect

-- 
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: JIQL and SQL on appengine

2010-03-30 Thread Guillermo Schwarz
Jeff,

I think you are confused. You can use Hibernate and JDO on top of SQL.

Since both CloudDB and jiql provide a SQL interface to the datastore,
you could use either JDO or Hibernate on top of either CloudDB or jiql
and it should work flawlessly.

Cheers,
Guillermo.

On 30 mar, 04:51, Jeff Schnitzer  wrote:
> Hey, so one of the things I complained about in Andreas' great article
> is the difficulty of doing analytics on appengine.  GAE is great for
> operational systems, but ad-hoc queries require writing a bunch of
> code that is further complicated by the
> queue-30s-write-temp-data-to-datastore-requeue process.  Painful.
>
> I miss being able to run SQL.  I *don't* miss writing code against
> JDBC, and I *don't* miss configuring Java<->SQL systems like
> Hibernate, but I do miss the SQL command prompt when I want to know
> how many users logged in last week or what they've been doing.
>
> I'm tantalized by systems like Cloud2db and Jiql but it seems like
> you're focusing on building operational systems with JDBC.  I'm much
> happier writing my operational code in java at the higher level of
> objects and getting the better fidelity of mapping to native
> operations that you will with Objectify, JDO, or whatnot.  Maybe there
> are people who still write JDBC apps but they've got to be a pretty
> masochistic lot.
>
> What I really want is a bit of software (perhaps a version) that I can
> deploy into my application, and a command line (or GUI) tool I can use
> on my local box.  The tool would take my SQL statements (including
> joins and aggregation functions), turn this into a series of 30s
> requests, collate the results, and print them.  It could take hours,
> fine - as long as it eventually comes up with the answer.  I'd be
> willing to pay several hundred dollars for a tool like this.
>
> Is there any chance that JIQL will go in that direction?  Or are you
> thinking along the lines of the Cloud2db folks, basically "all or
> nothing".  I don't want to write JDBC apps, I just want to
> occasionally run some ad-hoc SQL against my existing apps.
>
> Thanks,
> Jeff
>
> On Tue, Mar 30, 2010 at 12:51 AM, Andreas Borglin
>
>  wrote:
> > Hi again.
>
> > I had a look at jiql.
> > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> > Engine for JAVA.
> > jiql supports the use of standard SQL as a method for accessing
> > the DataStore"
>
> > Even if I had seen jiql earlier I wouldn't have considered it anyway
> > because,
>
> > 1. I want the API to make perfect sense for working with the
> > datastore. "Standard SQL" doesn't meet this requirement.
> > 2. I use GWT. Not JSP or any other technology to dynamically generate
> > pages on server side.
>
> > On Mar 29, 8:52 pm, Guillermo Schwarz 
> > wrote:
> >> One question: Why didn't you consider jiql?
>
> >> On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> >> > +1
>
> >> > On Mar 29, 4:03 am, Andreas Borglin  wrote:
> >> > > Hi all.
>
> >> > > I recently decided to migrate away from JDO to one of the third party
> >> > > datastore frameworks. At first I had only heard about objectify, but
> >> > > after some further digging I  found out about 5 other frameworks as
> >> > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> >> > > I was only interested in simple wrapper frameworks that acted as a
> >> > > convenience layer above the AppEngine low-level API. I _want_ the
> >> > > framework to expose the true nature of the datastore, but at the same
> >> > > time relieve the developer of the tedious tasks that's involved when
> >> > > working with the low-level API directly. It is much easier to work
> >> > > with the AppEngine datastore when its concepts, features, constraints
> >> > > and limitations are exposed directly. You can read more about the
> >> > > reasons for this in the article.
>
> >> > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> >> > > are multi-platform and slim3 is more than just a datastore framework)
>
> >> > > I spent some time researching these when I got the idea to write an
> >> > > article about them. I contacted the authors for each framework and
> >> > > asked if they would be interested in participating. Passionate as they
> >> > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> >> > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> >> > > The goal is to publish two articles; one interview with the authors,
> >> > > and one where I solve some typical scenario with each framework.
> >> > > The interview article has now been published and can be found athttp://
> >> > borglin.net/gwt-project/?page_id=604.
> >> > > The code example article will be posted sometime in the upcoming two
> >> > > weeks.
>
> >> > --
> >> > 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,

Re: [appengine-java] JIQL and SQL on appengine

2010-03-30 Thread Sandeep Sathaye
Hi Jeff,

You mentioned in your post about splitting your large requests into smaller
requests and then collate the results. This is exactly how Cloud2db JDBC
client driver works. For example if you have a large number of entities in
your datastore which you want to process. You can just write a standard sql
query and Cloud2db JDBC driver will handle splitting it into smaller chunks
and return you the results. You will never be hit by 30s request time limit.

You also mentioned about the GUI tools to access the data. All standard JDBC
client tools work seamlessly with Cloud2db JDBC driver. We use Squirrel JDBC
client extensively to access the data. This tool works very well.

Thanks,

Sandeep.
On Tue, Mar 30, 2010 at 4:51 AM, Jeff Schnitzer  wrote:

> Hey, so one of the things I complained about in Andreas' great article
> is the difficulty of doing analytics on appengine.  GAE is great for
> operational systems, but ad-hoc queries require writing a bunch of
> code that is further complicated by the
> queue-30s-write-temp-data-to-datastore-requeue process.  Painful.
>
> I miss being able to run SQL.  I *don't* miss writing code against
> JDBC, and I *don't* miss configuring Java<->SQL systems like
> Hibernate, but I do miss the SQL command prompt when I want to know
> how many users logged in last week or what they've been doing.
>
> I'm tantalized by systems like Cloud2db and Jiql but it seems like
> you're focusing on building operational systems with JDBC.  I'm much
> happier writing my operational code in java at the higher level of
> objects and getting the better fidelity of mapping to native
> operations that you will with Objectify, JDO, or whatnot.  Maybe there
> are people who still write JDBC apps but they've got to be a pretty
> masochistic lot.
>
> What I really want is a bit of software (perhaps a version) that I can
> deploy into my application, and a command line (or GUI) tool I can use
> on my local box.  The tool would take my SQL statements (including
> joins and aggregation functions), turn this into a series of 30s
> requests, collate the results, and print them.  It could take hours,
> fine - as long as it eventually comes up with the answer.  I'd be
> willing to pay several hundred dollars for a tool like this.
>
> Is there any chance that JIQL will go in that direction?  Or are you
> thinking along the lines of the Cloud2db folks, basically "all or
> nothing".  I don't want to write JDBC apps, I just want to
> occasionally run some ad-hoc SQL against my existing apps.
>
> Thanks,
> Jeff
>
> On Tue, Mar 30, 2010 at 12:51 AM, Andreas Borglin
>  wrote:
> > Hi again.
> >
> > I had a look at jiql.
> > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> > Engine for JAVA.
> > jiql supports the use of standard SQL as a method for accessing
> > the DataStore"
> >
> > Even if I had seen jiql earlier I wouldn't have considered it anyway
> > because,
> >
> > 1. I want the API to make perfect sense for working with the
> > datastore. "Standard SQL" doesn't meet this requirement.
> > 2. I use GWT. Not JSP or any other technology to dynamically generate
> > pages on server side.
> >
> > On Mar 29, 8:52 pm, Guillermo Schwarz 
> > wrote:
> >> One question: Why didn't you consider jiql?
> >>
> >>
> >>
> >>
> >>
> >> On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> >> > +1
> >>
> >> > On Mar 29, 4:03 am, Andreas Borglin 
> wrote:
> >> > > Hi all.
> >>
> >> > > I recently decided to migrate away from JDO to one of the third
> party
> >> > > datastore frameworks. At first I had only heard about objectify, but
> >> > > after some further digging I  found out about 5 other frameworks as
> >> > > well (Twig, SimpleDS, siena, slim3, cloud2db).
> >>
> >> > > I was only interested in simple wrapper frameworks that acted as a
> >> > > convenience layer above the AppEngine low-level API. I _want_ the
> >> > > framework to expose the true nature of the datastore, but at the
> same
> >> > > time relieve the developer of the tedious tasks that's involved when
> >> > > working with the low-level API directly. It is much easier to work
> >> > > with the AppEngine datastore when its concepts, features,
> constraints
> >> > > and limitations are exposed directly. You can read more about the
> >> > > reasons for this in the article.
> >>
> >> > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> >> > > are multi-platform and slim3 is more than just a datastore
> framework)
> >>
> >> > > I spent some time researching these when I got the idea to write an
> >> > > article about them. I contacted the authors for each framework and
> >> > > asked if they would be interested in participating. Passionate as
> they
> >> > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> >> > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
> >>
> >> > > The goal is to publish two articles; one interview with the authors,
> >> > > and one where I solve some typical scenario 

Re: [appengine-java] Re: Why should app startup times be a problem.

2010-03-30 Thread Guillermo Schwarz
Well, both Baz and Shawn are correct.

Shawn is correct from the economical point of view. Baz is correct from the
techinical point of view (no sane user would wait 15 seconds for a page to
appear, right?).

The great thing is that both can be done at the same time. Warmed instances
can be brought up in the background without the user knowing about it.

Cheers,
Guillermo.

On Mon, Mar 29, 2010 at 9:01 PM, Shawn Brown wrote:

> >   It's boggled my mind from day 1 why instances
> > aren't loaded in the background. I always assumed it would be addressed
>
> What is difficult to understand?
>
> 1 server has X resources
> warmed instanced require Y resources
>
> X - YN = resources left over for the server to fulfill requests.
>
> By reducing N (the number of warmed instances), you can increase the
> capacity to fulfill actual requests.
>
> By allowing us to pay for our own N, Google can presumably increase
> the capacity of each server or can increase the number of servers.
>
> I can see how it can cost Google to have unused apps loaded and ready
> to immediately serve.  Can't you.
>
> I don't see what the difficulty understanding is.
>
> Shawn
>
> --
> 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.
>
>


-- 
Saludos cordiales,

Guillermo Schwarz
Sun Certified Enterprise Architect

-- 
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] Detecting admin users

2010-03-30 Thread gemma
Hey chaps,

Apologies if I've been looking in the wrong place in the docs for
this.  I'm trying to work out how one goes about detecting if a User
is signed in as an application admin user; I've read a little about
FederatedUsers, but I'm not sure that that's what I need.  I'm writing
an app that makes use of GWT and I want to be able to offer an Admin
tab should the user be an administrator, rather than go the route of
securing URI patterns with web.xml.

Any advice would be greatly appreciated.

Thanks
Gemma

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Andreas Borglin

Ok, you seem to misunderstand me quite a bit here.

I never said it can't be used. I just said that I don't want to.
Other than for portability reasons, why would I want to pretend that
the datastore is relational by using a framework that emulates this?

My main requirement, which was formed after using j...@gae, is that I
want to use a framework that has a natural mapping to the datastore.

I'm not saying that there is anything wrong with JDO/JPA, cloud2db or
jiql in general. I'm just saying that, for me, it makes more sense to
use a framework that exposes the true nature of the datastore (which
is very different from a relational database), instead of hiding it
under a portable abstraction layer. Simplicity and performance is more
important than portability for me. That is of course not true for many
other projects, so I'm only speaking from my perspective.

If you can argue that jiql (or any other multi-platform framework like
cloud2db, etc) can provide a natural mapping to the datastore AND be
as efficient as the low-level wrappers, I'm all ears. j...@gae didn't
do it for me at least.

I never said that GWT had anything to do with SQL. I just don't want
to use JDBC.

On Mar 30, 3:51 pm, Guillermo Schwarz 
wrote:
> Andreas,
>
> I don't get it. You can use JDO and Hibernate with SQL. Given that
> jiql has a Hibernate config file, I guess using Hibernate with jiql
> would be so easy.
>
> What does GWT and JSP have to do with SQL anyway?
>
> Cheers,
> Guillermo.
>
> On 30 mar, 03:51, Andreas Borglin  wrote:
>
>
>
> > Hi again.
>
> > I had a look at jiql.
> > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> > Engine for JAVA.
> > jiql supports the use of standard SQL as a method for accessing
> > the DataStore"
>
> > Even if I had seen jiql earlier I wouldn't have considered it anyway
> > because,
>
> > 1. I want the API to make perfect sense for working with the
> > datastore. "Standard SQL" doesn't meet this requirement.
> > 2. I use GWT. Not JSP or any other technology to dynamically generate
> > pages on server side.
>
> > On Mar 29, 8:52 pm, Guillermo Schwarz 
> > wrote:
>
> > > One question: Why didn't you consider jiql?
>
> > > On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
> > > > +1
>
> > > > On Mar 29, 4:03 am, Andreas Borglin  wrote:
> > > > > Hi all.
>
> > > > > I recently decided to migrate away from JDO to one of the third party
> > > > > datastore frameworks. At first I had only heard about objectify, but
> > > > > after some further digging I  found out about 5 other frameworks as
> > > > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> > > > > I was only interested in simple wrapper frameworks that acted as a
> > > > > convenience layer above the AppEngine low-level API. I _want_ the
> > > > > framework to expose the true nature of the datastore, but at the same
> > > > > time relieve the developer of the tedious tasks that's involved when
> > > > > working with the low-level API directly. It is much easier to work
> > > > > with the AppEngine datastore when its concepts, features, constraints
> > > > > and limitations are exposed directly. You can read more about the
> > > > > reasons for this in the article.
>
> > > > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> > > > > are multi-platform and slim3 is more than just a datastore framework)
>
> > > > > I spent some time researching these when I got the idea to write an
> > > > > article about them. I contacted the authors for each framework and
> > > > > asked if they would be interested in participating. Passionate as they
> > > > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> > > > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> > > > > The goal is to publish two articles; one interview with the authors,
> > > > > and one where I solve some typical scenario with each framework.
> > > > > The interview article has now been published and can be found 
> > > > > athttp://
> > > > borglin.net/gwt-project/?page_id=604.
> > > > > The code example article will be posted sometime in the upcoming two
> > > > > weeks.
>
> > > > --
> > > > 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 > > >  unsubscr...@googlegroups.com>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > > --
> > > Saludos cordiales,
>
> > > Guillermo Schwarz
> > > Sun Certified Enterprise Architect

-- 
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 

Re: [appengine-java] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Guillermo Schwarz
Sandeep,

Please read Andreas article (link is in the first post of this thread):

"The interview article has now been published and can be found at
http://borglin.net/gwt-project/?page_id=604 ."

It would be nice if the article included CloudDB too.

Cheers,
Guillermo.

On Tue, Mar 30, 2010 at 9:17 AM, Sandeep Sathaye
wrote:

> Hi,
>
> You can try Cloud2db also. Please see the website http://www.cloud2db.com.
> This works with any JDBC client tools/frameworks like Squirrel,
> PowerArchitect, Hibernate in a client/server mode. This also works on Google
> App Engine server with native JDBC driver.
>
> Thanks,
>
> Sandeep.
>
> On Tue, Mar 30, 2010 at 3:51 AM, Andreas Borglin <
> andreas.borg...@gmail.com> wrote:
>
>> Hi again.
>>
>> I had a look at jiql.
>> "jiql is a JDBC wrapper for accessing Google DataStore on Google App
>> Engine for JAVA.
>> jiql supports the use of standard SQL as a method for accessing
>> the DataStore"
>>
>> Even if I had seen jiql earlier I wouldn't have considered it anyway
>> because,
>>
>> 1. I want the API to make perfect sense for working with the
>> datastore. "Standard SQL" doesn't meet this requirement.
>> 2. I use GWT. Not JSP or any other technology to dynamically generate
>> pages on server side.
>>
>> On Mar 29, 8:52 pm, Guillermo Schwarz 
>> wrote:
>> > One question: Why didn't you consider jiql?
>> >
>> >
>> >
>> >
>> >
>> > On Mon, Mar 29, 2010 at 1:04 PM, Blake  wrote:
>> > > +1
>> >
>> > > On Mar 29, 4:03 am, Andreas Borglin 
>> wrote:
>> > > > Hi all.
>> >
>> > > > I recently decided to migrate away from JDO to one of the third
>> party
>> > > > datastore frameworks. At first I had only heard about objectify, but
>> > > > after some further digging I  found out about 5 other frameworks as
>> > > > well (Twig, SimpleDS, siena, slim3, cloud2db).
>> >
>> > > > I was only interested in simple wrapper frameworks that acted as a
>> > > > convenience layer above the AppEngine low-level API. I _want_ the
>> > > > framework to expose the true nature of the datastore, but at the
>> same
>> > > > time relieve the developer of the tedious tasks that's involved when
>> > > > working with the low-level API directly. It is much easier to work
>> > > > with the AppEngine datastore when its concepts, features,
>> constraints
>> > > > and limitations are exposed directly. You can read more about the
>> > > > reasons for this in the article.
>> >
>> > > > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
>> > > > are multi-platform and slim3 is more than just a datastore
>> framework)
>> >
>> > > > I spent some time researching these when I got the idea to write an
>> > > > article about them. I contacted the authors for each framework and
>> > > > asked if they would be interested in participating. Passionate as
>> they
>> > > > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
>> > > > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>> >
>> > > > The goal is to publish two articles; one interview with the authors,
>> > > > and one where I solve some typical scenario with each framework.
>> > > > The interview article has now been published and can be found
>> athttp://
>> > > borglin.net/gwt-project/?page_id=604.
>> > > > The code example article will be posted sometime in the upcoming two
>> > > > weeks.
>> >
>> > > --
>> > > 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> unsubscr...@googlegroups.com>
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/google-appengine-java?hl=en.
>> >
>> > --
>> > Saludos cordiales,
>> >
>> > Guillermo Schwarz
>> > Sun Certified Enterprise Architect
>>
>> --
>> 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.
>>
>>
>  --
> 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.
>



-- 
Saludos cordiales,

Guillermo Schwarz
Sun Certified Enterprise Architect

-- 
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 

[appengine-java] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Andreas Borglin
Thanks Nick :-).

On Mar 30, 12:53 pm, "Nick Johnson (Google)" 
wrote:
> Hi Andreas,
>
> Excellent article! I've posted it to the App Engine 
> reddit:http://www.reddit.com/r/AppEngine/comments/bk4kt/datastore_frameworks...
>
> Please feel free to post the followup article(s) there, too, to make sure
> they get a wide distribution!
>
> -Nick Johnson
>
> On Mon, Mar 29, 2010 at 9:03 AM, Andreas Borglin
> wrote:
>
>
>
>
>
> > Hi all.
>
> > I recently decided to migrate away from JDO to one of the third party
> > datastore frameworks. At first I had only heard about objectify, but
> > after some further digging I  found out about 5 other frameworks as
> > well (Twig, SimpleDS, siena, slim3, cloud2db).
>
> > I was only interested in simple wrapper frameworks that acted as a
> > convenience layer above the AppEngine low-level API. I _want_ the
> > framework to expose the true nature of the datastore, but at the same
> > time relieve the developer of the tedious tasks that's involved when
> > working with the low-level API directly. It is much easier to work
> > with the AppEngine datastore when its concepts, features, constraints
> > and limitations are exposed directly. You can read more about the
> > reasons for this in the article.
>
> > This left me with objectify, Twig and SimpleDS. (siena and cloud2db
> > are multi-platform and slim3 is more than just a datastore framework)
>
> > I spent some time researching these when I got the idea to write an
> > article about them. I contacted the authors for each framework and
> > asked if they would be interested in participating. Passionate as they
> > are, they agreed :-). Thanks to Jeff Schnitzer (objectify), John
> > Patterson (Twig) and Ignacio Coloma (SimpleDS) for this.
>
> > The goal is to publish two articles; one interview with the authors,
> > and one where I solve some typical scenario with each framework.
> > The interview article has now been published and can be found at
> >http://borglin.net/gwt-project/?page_id=604.
> > The code example article will be posted sometime in the upcoming two
> > weeks.
>
> > --
> > 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 > unsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine
> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
> 368047

-- 
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: Why should app startup times be a problem.

2010-03-30 Thread Baz
Shawn,

By the same token google could cut all their hardware in half and double
page loads, check out this formula:

NumberOfRequests / HardwareQuality = PageLoad

Therefore, Google should power the entire GAE infrastructure with a netbook
- yes each page would take 2.5 decades to load, but imagine the cost
savings!

The main point of my post is the model, not the money. I am more than
willing to pay for AppEngine as I love it and think it's the future. The
issue is that I don't want to pay and manage "instances" because in my
opinion that goes against the model. I would prefer to pay a higher rate (or
the equivalent money some other way) without the knowledge of instances.

With all that said, and re-reading some other posts, I may actually be wrong
here... To be sure, if I pay for a warmed instance and, say, my site
gradually becomes more and more popular and gradually goes from 1 instance
to 11 - have I received the benefit of a warmed instance at every step of
the way? Is my twelfth instance now the "warm" one?

Cheers,
Baz

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Guillermo Schwarz
Andreas,

I think there is more misunderstanding again.

SQL can be run on top of a file system (fseek, read, write) or on top of a
persistent hashmap (datastore).

If you create a SQL interface on top of any of those, then it is a
relational database, not a fake but a real relational database. Why would I
want a relational database? Consistency, for starters. ACID transactions.
Set operations.

Read:
1. http://www.buzzle.com/articles/advantages-of-relational-databases.html
2. http://www.sunadal.co.uk/db.php
3. http://www.euclideanspace.com/software/information/relational/index.htm

Working directly with aseembly code and bits may be what you prefer, but if
history is correct, computer science is about building abstractions. Good
abstractions. I agree that you can create the wrong tools for the job, but
that doesn't stop other people to investigate and innovate to create better
tools (better abstractions).

BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
You can always select Hibernate, JDO or even JPA. The advantage of using an
extra level of abstraction is that if later the DataStore changes or there
is a new alternative to the DataStore that is faster (but has a new API) all
you need to do is to reimplement SQL on top of it and voila: All your
applications have been ported effortlessly. That's the whole point of using
abstraction layers.

Cheers,
Guillermo.

On Tue, Mar 30, 2010 at 10:49 AM, Andreas Borglin  wrote:

>
> Ok, you seem to misunderstand me quite a bit here.
>
> I never said it can't be used. I just said that I don't want to.
> Other than for portability reasons, why would I want to pretend that
> the datastore is relational by using a framework that emulates this?
>
> My main requirement, which was formed after using j...@gae, is that I
> want to use a framework that has a natural mapping to the datastore.
>
> I'm not saying that there is anything wrong with JDO/JPA, cloud2db or
> jiql in general. I'm just saying that, for me, it makes more sense to
> use a framework that exposes the true nature of the datastore (which
> is very different from a relational database), instead of hiding it
> under a portable abstraction layer. Simplicity and performance is more
> important than portability for me. That is of course not true for many
> other projects, so I'm only speaking from my perspective.
>
> If you can argue that jiql (or any other multi-platform framework like
> cloud2db, etc) can provide a natural mapping to the datastore AND be
> as efficient as the low-level wrappers, I'm all ears. j...@gae didn't
> do it for me at least.
>
> I never said that GWT had anything to do with SQL. I just don't want
> to use JDBC.
>
> On Mar 30, 3:51 pm, Guillermo Schwarz 
> wrote:
> > Andreas,
> >
> > I don't get it. You can use JDO and Hibernate with SQL. Given that
> > jiql has a Hibernate config file, I guess using Hibernate with jiql
> > would be so easy.
> >
> > What does GWT and JSP have to do with SQL anyway?
> >
> > Cheers,
> > Guillermo.
> >
> > On 30 mar, 03:51, Andreas Borglin  wrote:
> >
> >
> >
> > > Hi again.
> >
> > > I had a look at jiql.
> > > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
> > > Engine for JAVA.
> > > jiql supports the use of standard SQL as a method for accessing
> > > the DataStore"
> >
> > > Even if I had seen jiql earlier I wouldn't have considered it anyway
> > > because,
> >
> > > 1. I want the API to make perfect sense for working with the
> > > datastore. "Standard SQL" doesn't meet this requirement.
> > > 2. I use GWT. Not JSP or any other technology to dynamically generate
> > > pages on server side.
> >
> > > On Mar 29, 8:52 pm, Guillermo Schwarz 
> > > wrote:
> >
> > > > One question: Why didn't you consider jiql?
> >
> > > > On Mon, Mar 29, 2010 at 1:04 PM, Blake 
> wrote:
> > > > > +1
> >
> > > > > On Mar 29, 4:03 am, Andreas Borglin 
> wrote:
> > > > > > Hi all.
> >
> > > > > > I recently decided to migrate away from JDO to one of the third
> party
> > > > > > datastore frameworks. At first I had only heard about objectify,
> but
> > > > > > after some further digging I  found out about 5 other frameworks
> as
> > > > > > well (Twig, SimpleDS, siena, slim3, cloud2db).
> >
> > > > > > I was only interested in simple wrapper frameworks that acted as
> a
> > > > > > convenience layer above the AppEngine low-level API. I _want_ the
> > > > > > framework to expose the true nature of the datastore, but at the
> same
> > > > > > time relieve the developer of the tedious tasks that's involved
> when
> > > > > > working with the low-level API directly. It is much easier to
> work
> > > > > > with the AppEngine datastore when its concepts, features,
> constraints
> > > > > > and limitations are exposed directly. You can read more about the
> > > > > > reasons for this in the article.
> >
> > > > > > This left me with objectify, Twig and SimpleDS. (siena and
> cloud2db
> > > > > > are multi-platform and slim3 is more tha

[appengine-java] Re: Update to GAE/J 1.3.2 -> Project in Eclipse broken

2010-03-30 Thread Joa


On Mar 29, 9:24 am, Jason Parekh  wrote:
> Hi Moritz,
>
> Could you try the following:


Thanks guys - I had to toy with this some more to find out to update
GAE through Eclipse's plugin update mechanism. No downloading of the
SDK and manually pointing to the new SDK 'round here. Would be a nice
touch if the GAE team included some instructions like their peers on
Android (and prolly other projects) 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] Wiki on GAE

2010-03-30 Thread moissinac
Hello

I would like to run a wiki on GAE, something like Mediawiki.
All wiki solution that I know are runing with a Mysql base in the
background; so, there are not easily portable on GAE

Do you know some wiki solution runing on GAE?

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Sandeep Sathaye
Hi Guillermo,

I agree with you completely. Here are my thoughts on the subject.

Relational theory, SQL and JDBC are functional specifications and RDBMS
vendors implement these specifications. Actually speaking data model has
nothing to do with technology. A data model in software engineering is an
abstract model that describes how data is represented and accessed. Data
models formally define data elements and relationships among data elements
for a domain of interest.

The tools which extrapolate proper strategy for storing and accessing data
on the underlying datastore based on the data model and expose it via SQL
and JDBC in both client/server and server mode have a great advandage. This
is our goal at Cloud2db. This abstraction layer also gives you complete
flexibility of choosing your underlying datastore. For example, we are about
to release Cloud2db Amazon SimpleDB and Hadoop Hbase implementations soon.

Thanks,

Sandeep.
On Tue, Mar 30, 2010 at 11:03 AM, Guillermo Schwarz <
guillermo.schw...@gmail.com> wrote:

> Andreas,
>
> I think there is more misunderstanding again.
>
> SQL can be run on top of a file system (fseek, read, write) or on top of a
> persistent hashmap (datastore).
>
> If you create a SQL interface on top of any of those, then it is a
> relational database, not a fake but a real relational database. Why would I
> want a relational database? Consistency, for starters. ACID transactions.
> Set operations.
>
> Read:
> 1. http://www.buzzle.com/articles/advantages-of-relational-databases.html
> 2. http://www.sunadal.co.uk/db.php
> 3. http://www.euclideanspace.com/software/information/relational/index.htm
>
> Working directly with aseembly code and bits may be what you prefer, but if
> history is correct, computer science is about building abstractions. Good
> abstractions. I agree that you can create the wrong tools for the job, but
> that doesn't stop other people to investigate and innovate to create better
> tools (better abstractions).
>
> BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
> You can always select Hibernate, JDO or even JPA. The advantage of using an
> extra level of abstraction is that if later the DataStore changes or there
> is a new alternative to the DataStore that is faster (but has a new API) all
> you need to do is to reimplement SQL on top of it and voila: All your
> applications have been ported effortlessly. That's the whole point of using
> abstraction layers.
>
> Cheers,
> Guillermo.
>
>
> On Tue, Mar 30, 2010 at 10:49 AM, Andreas Borglin <
> andreas.borg...@gmail.com> wrote:
>
>>
>> Ok, you seem to misunderstand me quite a bit here.
>>
>> I never said it can't be used. I just said that I don't want to.
>> Other than for portability reasons, why would I want to pretend that
>> the datastore is relational by using a framework that emulates this?
>>
>> My main requirement, which was formed after using j...@gae, is that I
>> want to use a framework that has a natural mapping to the datastore.
>>
>> I'm not saying that there is anything wrong with JDO/JPA, cloud2db or
>> jiql in general. I'm just saying that, for me, it makes more sense to
>> use a framework that exposes the true nature of the datastore (which
>> is very different from a relational database), instead of hiding it
>> under a portable abstraction layer. Simplicity and performance is more
>> important than portability for me. That is of course not true for many
>> other projects, so I'm only speaking from my perspective.
>>
>> If you can argue that jiql (or any other multi-platform framework like
>> cloud2db, etc) can provide a natural mapping to the datastore AND be
>> as efficient as the low-level wrappers, I'm all ears. j...@gae didn't
>> do it for me at least.
>>
>> I never said that GWT had anything to do with SQL. I just don't want
>> to use JDBC.
>>
>> On Mar 30, 3:51 pm, Guillermo Schwarz 
>>  wrote:
>> > Andreas,
>> >
>> > I don't get it. You can use JDO and Hibernate with SQL. Given that
>> > jiql has a Hibernate config file, I guess using Hibernate with jiql
>> > would be so easy.
>> >
>> > What does GWT and JSP have to do with SQL anyway?
>> >
>> > Cheers,
>> > Guillermo.
>> >
>> > On 30 mar, 03:51, Andreas Borglin  wrote:
>> >
>> >
>> >
>> > > Hi again.
>> >
>> > > I had a look at jiql.
>> > > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
>> > > Engine for JAVA.
>> > > jiql supports the use of standard SQL as a method for accessing
>> > > the DataStore"
>> >
>> > > Even if I had seen jiql earlier I wouldn't have considered it anyway
>> > > because,
>> >
>> > > 1. I want the API to make perfect sense for working with the
>> > > datastore. "Standard SQL" doesn't meet this requirement.
>> > > 2. I use GWT. Not JSP or any other technology to dynamically generate
>> > > pages on server side.
>> >
>> > > On Mar 29, 8:52 pm, Guillermo Schwarz 
>> > > wrote:
>> >
>> > > > One question: Why didn't you consider jiql?
>> >
>> > > > On Mon, Mar 29

[appengine-java] Re: createLoginURL - userservice takes me to custom google apps domain login page

2010-03-30 Thread niraj
I did not state my problem clearly above , it seems

My problem is that the createLoginURL takes me to the custom google
apps domain login instead of the standard Google Page.

refer link http://www.hum11.com  for the problem

It takes me to the hum11 login page instead of

On Mar 29, 9:30 pm, niraj  wrote:
> My code on the server is
> if(userPrincipal != null){
>                 String name = userPrincipal.getName();
>                 site.setNickName(name);
>                 site.setLoginLogOutURL(userService.createLogoutURL(thisURL));
>                 site.setLoggedIn(true);
>
>         }else{
>                 site.setNickName("Guest");
>                 site.setLoginLogOutURL(userService.createLoginURL(thisURL));
>
>                 site.setLoggedIn(false);
>         }
>
> The Problem is that the URL takes me to the custom Google Apps Login
> page instead of the standard google accounts login page.
>
> i.e for a domain xyz.com - it takes me to google apps login page for
> xyz.com.
>
> Do I need to do something different??

-- 
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: Wiki on GAE

2010-03-30 Thread Didier Durand
Hi,

Extensive listing of Java open source wikis at 
http://java-source.net/open-source/wiki-engines

Let us know if 1 suits your needs and if you could test it
successfully on Google App Engine
Good luck!
didier

On Mar 30, 5:12 pm, moissinac  wrote:
> Hello
>
> I would like to run a wiki on GAE, something like Mediawiki.
> All wiki solution that I know are runing with a Mysql base in the
> background; so, there are not easily portable on GAE
>
> Do you know some wiki solution runing on GAE?

-- 
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: createLoginURL - userservice takes me to custom google apps domain login page

2010-03-30 Thread Nicanor Babula
It does that because you set up your appengine applications to use your
google app users only.

On Tue, Mar 30, 2010 at 5:47 PM, niraj  wrote:

> I did not state my problem clearly above , it seems
>
> My problem is that the createLoginURL takes me to the custom google
> apps domain login instead of the standard Google Page.
>
> refer link http://www.hum11.com  for the problem
>
> It takes me to the hum11 login page instead of
>
> On Mar 29, 9:30 pm, niraj  wrote:
> > My code on the server is
> > if(userPrincipal != null){
> > String name = userPrincipal.getName();
> > site.setNickName(name);
> >
> site.setLoginLogOutURL(userService.createLogoutURL(thisURL));
> > site.setLoggedIn(true);
> >
> > }else{
> > site.setNickName("Guest");
> >
> site.setLoginLogOutURL(userService.createLoginURL(thisURL));
> >
> > site.setLoggedIn(false);
> > }
> >
> > The Problem is that the URL takes me to the custom Google Apps Login
> > page instead of the standard google accounts login page.
> >
> > i.e for a domain xyz.com - it takes me to google apps login page for
> > xyz.com.
> >
> > Do I need to do something different??
>
> --
> 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.
>
>


-- 
Slackware Addicted.

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Nacho Coloma
Hi Guillermo,

> If you create a SQL interface on top of any of those, then it is a
> relational database, not a fake but a real relational database. Why would I
> want a relational database? Consistency, for starters. ACID transactions.
> Set operations.

'Consistency' is a broad term. If you are implying 'foreign keys', GAE
does not have any of these. If you mean 'consistency through ACID
transactions', GAE requires entity groups. You are schemaless. Etc.

You can create a SQL layer over the Datastore, but it will not be
efficient or easy to debug. You can still use Hibernate over it, but I
fail to see the purpose in that.

> Working directly with aseembly code and bits may be what you prefer, but if
> history is correct, computer science is about building abstractions. Good
> abstractions. I agree that you can create the wrong tools for the job, but
> that doesn't stop other people to investigate and innovate to create better
> tools (better abstractions).

"Building abstractions" sounds like the type of committee-driven job
that created SOAP and J2EE :D

> > BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
> You can always select Hibernate, JDO or even JPA. The advantage of using an
> extra level of abstraction is that if later the DataStore changes or there
> is a new alternative to the DataStore that is faster (but has a new API) all
> you need to do is to reimplement SQL on top of it and voila: All your
> applications have been ported effortlessly. That's the whole point of using
> abstraction layers.

You can also do that at the JPA level, if I understand correctly.

I can see the value in a language for manipulating the datastore. It's
just that I don't see SQL fulfilling that role.

-- Nacho.

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Andreas Borglin

These misunderstandings :-).

I wouldn't say that computer science is about building
abstractions..perhaps software engineering. (Dijkstra would have said
less kind words than me about that :-) )

Anyways, as much as I agree that abstractions are nice, have you
actually used AppEngine with these frameworks?
If so, you would probably have noticed the infamous cold start time
issue. My application will be in the low-medium traffic range, so
users will likely encounter JVM spinups regularly.
There is no way I can get an acceptable startup time using ANY
framework like Hibernate/Spring/etc as the situation is right now on
GAE/J. I will probably even throw out Guice soon because it affects
the  startup time too much.

Also, I can't say that comparing assembly language with the low-level
frameworks is especially accurate. Unless you are talking about using
the low-level API directly, which is not what I am talking about.

I think you kind of dodged my "if you can argue" question completely
by stating that SQL is all pretty and nice. I know what SQL is, how it
can be used, etc, etc.
I can honestly say that I haven't reviewed the jiql <-> datastore
mapping in much detail, but I have a hard time seeing how it would
make sense. One of the problems by using j...@gae is that you never get
a real feeling for how the datastore actually operates, so you keep
making incorrect assumptions on how things work and you end up
throwing away days worth of work. This is mainly due to the fact that
the datastore concepts and limitations don't really fit into the whole
JDO way of working. This affects both simplicity and performance. This
is where the low-level wrapper frameworks come into the picture. Since
they are built with the datastore concepts and limitations in the
foundation, there are few surprises and there are no performance
penalties.

I just don't understand how an SQL interface would do a better job
than JDO at this. Most of your arguments seems to circle around
portability, but like I said, that is not the highest priority for me.
Unless the low-level framework guys give up on their frameworks
altogether, the "if the datastore API changes" argument doesn't apply.
I still use a layer between my application and the datastore, so I
wouldn't need to modify my applications anyway.

How do you implement all those fancy SQL features on top of a
datastore that doesn't support them natively, without either causing
lots of confusion OR having serious performance issues?
How you do implement joins effectively, for example?

Just to be clear, I completely agree with you on WHY it's a good idea
in general to use a standardized API/framework/technology. But it's
just doesn't make sense (to me) on AppEngine due to how the datastore
operates and the performance issues.

On Mar 30, 5:03 pm, Guillermo Schwarz 
wrote:
> Andreas,
>
> I think there is more misunderstanding again.
>
> SQL can be run on top of a file system (fseek, read, write) or on top of a
> persistent hashmap (datastore).
>
> If you create a SQL interface on top of any of those, then it is a
> relational database, not a fake but a real relational database. Why would I
> want a relational database? Consistency, for starters. ACID transactions.
> Set operations.
>
> Read:
> 1.http://www.buzzle.com/articles/advantages-of-relational-databases.html
> 2.http://www.sunadal.co.uk/db.php
> 3.http://www.euclideanspace.com/software/information/relational/index.htm
>
> Working directly with aseembly code and bits may be what you prefer, but if
> history is correct, computer science is about building abstractions. Good
> abstractions. I agree that you can create the wrong tools for the job, but
> that doesn't stop other people to investigate and innovate to create better
> tools (better abstractions).
>
> BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
> You can always select Hibernate, JDO or even JPA. The advantage of using an
> extra level of abstraction is that if later the DataStore changes or there
> is a new alternative to the DataStore that is faster (but has a new API) all
> you need to do is to reimplement SQL on top of it and voila: All your
> applications have been ported effortlessly. That's the whole point of using
> abstraction layers.
>
> Cheers,
> Guillermo.
>
> On Tue, Mar 30, 2010 at 10:49 AM, Andreas Borglin 
>
>
>
>
> > wrote:
>
> > Ok, you seem to misunderstand me quite a bit here.
>
> > I never said it can't be used. I just said that I don't want to.
> > Other than for portability reasons, why would I want to pretend that
> > the datastore is relational by using a framework that emulates this?
>
> > My main requirement, which was formed after using j...@gae, is that I
> > want to use a framework that has a natural mapping to the datastore.
>
> > I'm not saying that there is anything wrong with JDO/JPA, cloud2db or
> > jiql in general. I'm just saying that, for me, it makes more sense to
> > use a framework that exposes the true na

[appengine-java] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Andreas Borglin
Oops. A bit tired here. I wrote SQL in some places where I actually
meant jiql/cloud2db.

On Mar 30, 5:58 pm, Andreas Borglin  wrote:
> These misunderstandings :-).
>
> I wouldn't say that computer science is about building
> abstractions..perhaps software engineering. (Dijkstra would have said
> less kind words than me about that :-) )
>
> Anyways, as much as I agree that abstractions are nice, have you
> actually used AppEngine with these frameworks?
> If so, you would probably have noticed the infamous cold start time
> issue. My application will be in the low-medium traffic range, so
> users will likely encounter JVM spinups regularly.
> There is no way I can get an acceptable startup time using ANY
> framework like Hibernate/Spring/etc as the situation is right now on
> GAE/J. I will probably even throw out Guice soon because it affects
> the  startup time too much.
>
> Also, I can't say that comparing assembly language with the low-level
> frameworks is especially accurate. Unless you are talking about using
> the low-level API directly, which is not what I am talking about.
>
> I think you kind of dodged my "if you can argue" question completely
> by stating that SQL is all pretty and nice. I know what SQL is, how it
> can be used, etc, etc.
> I can honestly say that I haven't reviewed the jiql <-> datastore
> mapping in much detail, but I have a hard time seeing how it would
> make sense. One of the problems by using j...@gae is that you never get
> a real feeling for how the datastore actually operates, so you keep
> making incorrect assumptions on how things work and you end up
> throwing away days worth of work. This is mainly due to the fact that
> the datastore concepts and limitations don't really fit into the whole
> JDO way of working. This affects both simplicity and performance. This
> is where the low-level wrapper frameworks come into the picture. Since
> they are built with the datastore concepts and limitations in the
> foundation, there are few surprises and there are no performance
> penalties.
>
> I just don't understand how an SQL interface would do a better job
> than JDO at this. Most of your arguments seems to circle around
> portability, but like I said, that is not the highest priority for me.
> Unless the low-level framework guys give up on their frameworks
> altogether, the "if the datastore API changes" argument doesn't apply.
> I still use a layer between my application and the datastore, so I
> wouldn't need to modify my applications anyway.
>
> How do you implement all those fancy SQL features on top of a
> datastore that doesn't support them natively, without either causing
> lots of confusion OR having serious performance issues?
> How you do implement joins effectively, for example?
>
> Just to be clear, I completely agree with you on WHY it's a good idea
> in general to use a standardized API/framework/technology. But it's
> just doesn't make sense (to me) on AppEngine due to how the datastore
> operates and the performance issues.
>
> On Mar 30, 5:03 pm, Guillermo Schwarz 
> wrote:
>
>
>
> > Andreas,
>
> > I think there is more misunderstanding again.
>
> > SQL can be run on top of a file system (fseek, read, write) or on top of a
> > persistent hashmap (datastore).
>
> > If you create a SQL interface on top of any of those, then it is a
> > relational database, not a fake but a real relational database. Why would I
> > want a relational database? Consistency, for starters. ACID transactions.
> > Set operations.
>
> > Read:
> > 1.http://www.buzzle.com/articles/advantages-of-relational-databases.html
> > 2.http://www.sunadal.co.uk/db.php
> > 3.http://www.euclideanspace.com/software/information/relational/index.htm
>
> > Working directly with aseembly code and bits may be what you prefer, but if
> > history is correct, computer science is about building abstractions. Good
> > abstractions. I agree that you can create the wrong tools for the job, but
> > that doesn't stop other people to investigate and innovate to create better
> > tools (better abstractions).
>
> > BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
> > You can always select Hibernate, JDO or even JPA. The advantage of using an
> > extra level of abstraction is that if later the DataStore changes or there
> > is a new alternative to the DataStore that is faster (but has a new API) all
> > you need to do is to reimplement SQL on top of it and voila: All your
> > applications have been ported effortlessly. That's the whole point of using
> > abstraction layers.
>
> > Cheers,
> > Guillermo.
>
> > On Tue, Mar 30, 2010 at 10:49 AM, Andreas Borglin 
> > > wrote:
>
> > > Ok, you seem to misunderstand me quite a bit here.
>
> > > I never said it can't be used. I just said that I don't want to.
> > > Other than for portability reasons, why would I want to pretend that
> > > the datastore is relational by using a framework that emulates this?
>
> > > My main requirement, which was forme

[appengine-java] Re: accessing datastore on development server

2010-03-30 Thread Guit
Hi
Did you manage to fix it? I'm facing the same issue!

On Mar 14, 6:18 pm, Steve Osborne  wrote:
> My Development Console athttp://localhost:/_ah/admin/datastore
> shows that I have data uploaded but how do I access it using Java?
>
> I wasn't able to retrieve any record using the following lines of code
> and there were no errors
>
>             pm = PMF.get().getPersistenceManager();
>            query= pm.newQuery(Listing.class);
>            query.setFilter("zipCode == zipCodeParam");
>            query.declareParameters("String zipCodeParam");
>             results = (List)query.execute("27502");
>             if (results.iterator().hasNext()) {
>                 for (Listing e : results) {
>                     // ...
>                 }
>             } else {
>                 // ... no results ...
>             }

-- 
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] Objectify - Twig - SimpleDS articles

2010-03-30 Thread henklajd sadushi
I want to unsubscribe from this group.thanks and regards


  

-- 
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: accessing datastore on development server

2010-03-30 Thread Guit
Did you solve this issue? I have the same problem...

On Mar 14, 6:18 pm, Steve Osborne  wrote:
> My Development Console athttp://localhost:/_ah/admin/datastore
> shows that I have data uploaded but how do I access it using Java?
>
> I wasn't able to retrieve any record using the following lines of code
> and there were no errors
>
>             pm = PMF.get().getPersistenceManager();
>            query= pm.newQuery(Listing.class);
>            query.setFilter("zipCode == zipCodeParam");
>            query.declareParameters("String zipCodeParam");
>             results = (List)query.execute("27502");
>             if (results.iterator().hasNext()) {
>                 for (Listing e : results) {
>                     // ...
>                 }
>             } else {
>                 // ... no results ...
>             }

-- 
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] Getting JDOObjectNotFoundException when trying to retrieve Child Object

2010-03-30 Thread Emmanuel
Hi,

I'm fairly new to JDO and App Engine and actually facing an odd
problem.
I'm trying to retrieve a child object with the method
pm.getObjectById(Child.class, Id) but this method throws me a
JDOObjectNotFoundException. I'm sure that the child object exists and
in facts, when I retrieve the parent object with the same method
before calling it for the child object, everything works fine.
It seems like I'm missing something so here is my code :

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Parent{

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;

@Persistent
private String title;

@Persistent(mappedBy="parent", defaultFetchGroup="true")
private List childs;


public Parent(String title, List childs) {
super();
this.title = title;
this.childs = childs;
this.configuration = configuration;
this.utilisateur = utilisateur;
this.commentaires = commentaires;
}
}



@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Child{

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;

@Persistent
private Parent parent;

@Persistent
private String title;

@Persistent
private String content;



public Bloc(String title, String content) {
super();
this.title = title;
this.content = content;
}

}

And my code for getting the object :

PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction tx = pm.currentTransaction();
try{
tx.begin();
// If I add a line here : Parent parent =
pm.getObjectById(Parent.class, parentId); the code works.
Child child= pm.getObjectById(Child.class, childId); // childId is a
long

   //Code making changes to child object but it doesn't get that
far...

tx.commit();
}
finally{
if(tx.isActive())
tx.rollback();
}
pm.close();

So here is my problem. Hope someone can 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] App Engine Beginner + JDO beginner... Strange issue with Query

2010-03-30 Thread Guit
Hi everybody,
I am trying to build my application and i am facing a very strange
issue : here is the code :
PersistenceManager pm=PMF.get().getPersistenceManager();

Query query=pm.newQuery(Espace.class);
//query.setFilter("nom == paramAuthor");
//query.declareParameters("java.lang.String 
paramAuthor");
List results ;
results=(List) query.execute();//"_66");
for (int i=0;ihttp://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Eclipse plugin + Maven integration problem

2010-03-30 Thread Juan Edi
Hi! I am currently running a GAE application using Maven and the maven-
gae-plugin. I wanted to start using the Eclipse Plugin, since I read
that launching de GAE Development Server using the plugin lugin allows
changes to JSPs and static files to be reflected on the app without
the need to restart.

I still cannot make the plugin work with my standard maven directory
structure. Setting the WAR directory to "src/main/webapp" and trying
to run/debug the application thows the following output:

Exception in thread "main" java.lang.AbstractMethodError:
org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:
373)
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
127)
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
94)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:
662)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
708)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
313)
at java.util.prefs.XmlSupport.writeDoc(XmlSupport.java:259)
at java.util.prefs.XmlSupport.exportMap(XmlSupport.java:338)
at java.util.prefs.FileSystemPreferences
$8.run(FileSystemPreferences.java:607)
at java.security.AccessController.doPrivileged(Native Method)
at
java.util.prefs.FileSystemPreferences.writeBackCache(FileSystemPreferences.java:
600)
at
java.util.prefs.FileSystemPreferences.syncSpiPrivileged(FileSystemPreferences.java:
784)
at java.util.prefs.FileSystemPreferences.access
$2300(FileSystemPreferences.java:33)
at java.util.prefs.FileSystemPreferences
$13.run(FileSystemPreferences.java:754)
at java.security.AccessController.doPrivileged(Native Method)
at
java.util.prefs.FileSystemPreferences.syncSpi(FileSystemPreferences.java:
752)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1317)
at java.util.prefs.AbstractPreferences.sync(AbstractPreferences.java:
1308)
at
java.util.prefs.FileSystemPreferences.sync(FileSystemPreferences.java:
731)
at
java.util.prefs.FileSystemPreferences.flush(FileSystemPreferences.java:
807)
at
com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:
136)
at com.google.appengine.tools.development.DevAppServerMain
$StartAction.apply(DevAppServerMain.java:150)
at com.google.appengine.tools.util.Parser
$ParseResult.applyArgs(Parser.java:48)
at
com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:
113)
at
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:
89)
Exception in thread "Thread-2" java.lang.AbstractMethodError:
org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:
373)
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
127)
at
com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
94)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:
662)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
708)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
313)
at java.util.prefs.XmlSupport.writeDoc(XmlSupport.java:259)
at java.util.prefs.XmlSupport.exportMap(XmlSupport.java:338)
at java.util.prefs.FileSystemPreferences
$8.run(FileSystemPreferences.java:607)
at java.security.AccessController.doPrivileged(Native Method)
at
java.util.prefs.FileSystemPreferences.writeBackCache(FileSystemPreferences.java:
600)
at
java.util.prefs.FileSystemPreferences.syncSpiPrivileged(FileSystemPreferences.java:
784)
at java.util.prefs.FileSystemPreferences.access
$2300(FileSystemPreferences.java:33)
at java.util.prefs.FileSystemPreferences
$13.run(FileSystemPreferences.java:754)
at java.security.AccessController.doPrivileged(Native Method)
at
java.util.prefs.FileSystemPreferences.syncSpi(FileSystemPreferences.java:
752)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1317)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1322)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1322)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1322)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1322)
at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
1322)
at java.util.prefs.AbstractPreferenc

[appengine-java] Blogger Data API

2010-03-30 Thread Jeevan
hello
am working on a project called "Cloud-based teaching system".I want to
make use of blogger data API.
I am bit confused about google's client library.

Am using Eclipse 3.5.In which path we have to configure or java client
library.

Please 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] How to register a custom ELResolver?

2010-03-30 Thread Davide Angelocola
Hello,

I've the following class:

  public class WebAiatListener implements ServletContextListener {

private static final Logger logger = Logger.getAnonymousLogger();

@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();

if (context == null) {
throw new NullPointerException("servlet context");
}

if (JspFactory.getDefaultFactory() == null) {
throw new NullPointerException("default factory");
}

if
(JspFactory.getDefaultFactory().getJspApplicationContext(context) ==
null) {
throw new NullPointerException("jsp application context");
}

JspApplicationContext jspContext =
JspFactory.getDefaultFactory().getJspApplicationContext(context);

if (jspContext == null) {
logger.info("cannot register 'EntityELResolver'");
} else {
jspContext.addELResolver(new EntityELResolver());
logger.info("'EntityELResolver' registered");
}
}

using the local dev environment it works but when I deploy it on GAE I
obtain the following exception:

Failed startup of context
com.google.apphosting.utils.jetty.runtimeappenginewebappcont...@391da0{/,/
base/data/home/apps/webaiat/3.340904528580025222}
java.lang.NullPointerException: default factory

since JspFactory.getDefaultFactory() returns null. How can I register
a custom ELResolver?
Thanks.

PS
Please note that I'm using servlet 2.5 version (so I'm using JSP 2.1):
http://www.w3.org/2001/XMLSchema-instance";
 xmlns="http://java.sun.com/xml/ns/javaee";
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
 version="2.5">

-- 
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: Error message after updating AppEngine in my project

2010-03-30 Thread Ikai L (Google)
I'll have to try to reproduce this. In the meantime, use svn export:

http://svnbook.red-bean.com/en/1.0/re10.html

If it turns out the .metadata
directory IS causing problems, we'll investigate what's causing this and
either issue a fix or possibly document a better workaround.

On Tue, Mar 30, 2010 at 12:09 AM, Spanishgringo wrote:

> Same problem for me as well. :(  Back to 1.3.1 until someone can share
> a fix...
>
> On Mar 30, 12:28 am, julianc  wrote:
> > Similar problem here. Upgraded to 1.3.2 error, switched back to
> > 1.3.1 ... everything fine again.
> >
> > Mar 29, 2010 11:24:44 PM
> > com.google.appengine.tools.info.LocalVersionFactory getVersion
> > INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
> > java.util.zip.ZipException: error in opening zip file
> > at java.util.zip.ZipFile.open(Native Method)
> > at java.util.zip.ZipFile.(ZipFile.java:114)
> > at java.util.jar.JarFile.(JarFile.java:133)
> > at java.util.jar.JarFile.(JarFile.java:97)
> > at
> >
> com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF
> inder.java:
> > 37)
> > at
> >
> com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion
> Factory.java:
> > 65)
> > at
> >
> com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav
> a:
> > 112)
> > at
> >
> com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav
> a:
> > 91)
> > at
> > com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
> > 164)
> > at
> >
> com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck
> .java:
> > 132)
> > at com.google.appengine.tools.development.DevAppServerMain
> > $StartAction.apply(DevAppServerMain.java:150)
> > at com.google.appengine.tools.util.Parser
> > $ParseResult.applyArgs(Parser.java:48)
> > at
> >
> com.google.appengine.tools.development.DevAppServerMain.(DevAppServer
> Main.java:
> > 113)
> > at
> >
> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa
> in.java:
> > 89)
> > Mar 29, 2010 11:24:44 PM com.google.apphosting.utils.jetty.JettyLogger
> > info
> > INFO: Logging to JettyLogger(null) via
> > com.google.apphosting.utils.jetty.JettyLogger
> > Mar 29, 2010 11:24:44 PM
> > com.google.apphosting.utils.config.AppEngineWebXmlReader
> > readAppEngineWebXml
> > INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
> > Mar 29, 2010 11:24:44 PM
> > com.google.apphosting.utils.config.AbstractConfigXmlReader
> > readConfigXml
> >
> > On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
> >
> >
> >
> > > Not sure why this should be happening as the deploy script should be
> > > ignoring this, but is it possible for you to do an "svn export" to
> another
> > > directory prior to a deploy?
>
> --
> 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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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] Updating the Eclipse Plugin

2010-03-30 Thread Steve
Now that GAE 1.3.2 has been released I'd like to update my Eclipse
plugin (indeed, when the GAE is started it warns me that a newer
version is available).

However, when I ask Eclipse to "Check for Updates" it reports nothing
is available.

There don't seem to be any update instructions, just "starting from
scratch" instructions.

When I did this for the previous version (1.3.0 -> 1.3.1), I ended up
with everything in a right old mess.  Therefore I'd prefer to follow
an official process.

Have I missed some instructions somewhere ?

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-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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Chau Huynh
First of all, please accept big thanks, Andreas. Those knowledge sharing is
helpful to me as well as other learners.

Follow the thread, I think I was a bit misled on benefit of SQL/JDBC on GAE.

In Andreas blog's, he mentioned on learning curve to deal with the mapping:
Java classess <--> JDO/JPA <- implementation specific to datastore ->
Datastore
That's why he looked for low-level wrapper frameworks. (do read his post
first)

Surprisingly, there're even suggestion to him:
Java classes <--> JPA <-- Hibernate implementation --> 3rd party
implementation (JDBC/SQL) <--> Datastore

"Data models formally define data elements and relationships among data
elements for a domain of interest." Yes, 100% agree. So, it is honestly
speaking that "data model has nothing to do with technology"?  What about is
the big mismatch between model and physical storage? and purpose of
object-relational mapping tool? More mappings and less mismatch?

Reading Google GAE docs, forum, blog, as well as other non-Google site (
stackoverflow.com, highscalability.com ..) the stress is, datastore is not
relational DB. What a coincidence!

On Tue, Mar 30, 2010 at 10:47 PM, Sandeep Sathaye  wrote:

> Hi Guillermo,
>
> I agree with you completely. Here are my thoughts on the subject.
>
> Relational theory, SQL and JDBC are functional specifications and RDBMS
> vendors implement these specifications. Actually speaking data model has
> nothing to do with technology. A data model in software engineering is an
> abstract model that describes how data is represented and accessed. Data
> models formally define data elements and relationships among data elements
> for a domain of interest.
>
> The tools which extrapolate proper strategy for storing and accessing data
> on the underlying datastore based on the data model and expose it via SQL
> and JDBC in both client/server and server mode have a great advandage. This
> is our goal at Cloud2db. This abstraction layer also gives you complete
> flexibility of choosing your underlying datastore. For example, we are about
> to release Cloud2db Amazon SimpleDB and Hadoop Hbase implementations soon.
>
> Thanks,
>
> Sandeep.
> On Tue, Mar 30, 2010 at 11:03 AM, Guillermo Schwarz <
> guillermo.schw...@gmail.com> wrote:
>
>> Andreas,
>>
>> I think there is more misunderstanding again.
>>
>> SQL can be run on top of a file system (fseek, read, write) or on top of a
>> persistent hashmap (datastore).
>>
>> If you create a SQL interface on top of any of those, then it is a
>> relational database, not a fake but a real relational database. Why would I
>> want a relational database? Consistency, for starters. ACID transactions.
>> Set operations.
>>
>> Read:
>> 1. http://www.buzzle.com/articles/advantages-of-relational-databases.html
>> 2. http://www.sunadal.co.uk/db.php
>> 3.
>> http://www.euclideanspace.com/software/information/relational/index.htm
>>
>> Working directly with aseembly code and bits may be what you prefer, but
>> if history is correct, computer science is about building abstractions. Good
>> abstractions. I agree that you can create the wrong tools for the job, but
>> that doesn't stop other people to investigate and innovate to create better
>> tools (better abstractions).
>>
>> BTW: You dont need to use JDBC directly when working with CloudDB or jiql.
>> You can always select Hibernate, JDO or even JPA. The advantage of using an
>> extra level of abstraction is that if later the DataStore changes or there
>> is a new alternative to the DataStore that is faster (but has a new API) all
>> you need to do is to reimplement SQL on top of it and voila: All your
>> applications have been ported effortlessly. That's the whole point of using
>> abstraction layers.
>>
>> Cheers,
>> Guillermo.
>>
>>
>> On Tue, Mar 30, 2010 at 10:49 AM, Andreas Borglin <
>> andreas.borg...@gmail.com> wrote:
>>
>>>
>>> Ok, you seem to misunderstand me quite a bit here.
>>>
>>> I never said it can't be used. I just said that I don't want to.
>>> Other than for portability reasons, why would I want to pretend that
>>> the datastore is relational by using a framework that emulates this?
>>>
>>> My main requirement, which was formed after using j...@gae, is that I
>>> want to use a framework that has a natural mapping to the datastore.
>>>
>>> I'm not saying that there is anything wrong with JDO/JPA, cloud2db or
>>> jiql in general. I'm just saying that, for me, it makes more sense to
>>> use a framework that exposes the true nature of the datastore (which
>>> is very different from a relational database), instead of hiding it
>>> under a portable abstraction layer. Simplicity and performance is more
>>> important than portability for me. That is of course not true for many
>>> other projects, so I'm only speaking from my perspective.
>>>
>>> If you can argue that jiql (or any other multi-platform framework like
>>> cloud2db, etc) can provide a natural mapping to the datastore AND be
>>> as efficient as the low-level wrapper

Re: [appengine-java] Re: Why should app startup times be a problem.

2010-03-30 Thread Ikai L (Google)
We're still working through the details of reserved instances. The
constructive feedback on this thread is useful; it is theoretically possible
to pay for an unused instance that requests spill into when they go over
capacity of the current spun up requests. That is - pay for one more
instance than you need to avoid a loading request - for many people, they
would go from 0-1, and for some folks, they would go from 1-2, and so
forth.

Even if this isn't the case when we first launch the feature (remember that
we are always iterating to improve App Engine), the issue with many of our
developers looking for this feature is that they are relatively low QPS
applications that experience loading requests on every single request. As a
result, a high percentage of their requests take several seconds, and these
are the developers we intend on serving with this feature. At the QPS tier
where you spin up additional instances to handle load, it is a much lower %
- an almost negligible % of requests that take several seconds. While this
is far from ideal, we've heard very little feedback from our developers
running high QPS (100s - 1000s QPS) applications about this. I suspect it
simply has to do with what users have expected with regards to latency
spikes with the internet in general and just pass it off. Heck, I refresh
pages several times at home sometimes, but that's because my DSL connection
is terrible ... and probably also related to the fact that my WiFi router is
next to a microwave. I'm not defending it, as in our perfect scenario all
requests are served in sub 200ms. Businesses may or may not be willing to
pay the cost to deal with these requests.

If any of you are running high QPS applications, have these "additional
loading requests" affected your business? If these requests have caused
measurable loss of revenue or usage, then you'd have to weigh this as well
as its opportunity cost against the (still undecided) cost of keeping
serving  instances ready.

On Tue, Mar 30, 2010 at 7:57 AM, Baz  wrote:

> Shawn,
>
> By the same token google could cut all their hardware in half and double
> page loads, check out this formula:
>
> NumberOfRequests / HardwareQuality = PageLoad
>
> Therefore, Google should power the entire GAE infrastructure with a netbook
> - yes each page would take 2.5 decades to load, but imagine the cost
> savings!
>
> The main point of my post is the model, not the money. I am more than
> willing to pay for AppEngine as I love it and think it's the future. The
> issue is that I don't want to pay and manage "instances" because in my
> opinion that goes against the model. I would prefer to pay a higher rate (or
> the equivalent money some other way) without the knowledge of instances.
>
> With all that said, and re-reading some other posts, I may actually be
> wrong here... To be sure, if I pay for a warmed instance and, say, my site
> gradually becomes more and more popular and gradually goes from 1 instance
> to 11 - have I received the benefit of a warmed instance at every step of
> the way? Is my twelfth instance now the "warm" one?
>
> Cheers,
> Baz
>
>  --
> 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.
>



-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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: Update to GAE/J 1.3.2 -> Project in Eclipse broken

2010-03-30 Thread Jason Parekh
Hi Joa,

Glad you were able to solve your problem.  Sorry, I should have pointed you
to the upgrade instructions to get you immediately going (BTW, they do
exist, though they are located in the Google Plugin for Eclipse docs:
http://code.google.com/eclipse/docs/updating_the_plugin.html ).

Do you know what went wrong with your first approach?  Using the zip file
for the App Engine SDK is still a supported use case, so there's value in
debugging that if you're available to help out.

Thanks!
jason

On Tue, Mar 30, 2010 at 11:10 AM, Joa  wrote:

>
>
> On Mar 29, 9:24 am, Jason Parekh  wrote:
> > Hi Moritz,
> >
> > Could you try the following:
>
>
> Thanks guys - I had to toy with this some more to find out to update
> GAE through Eclipse's plugin update mechanism. No downloading of the
> SDK and manually pointing to the new SDK 'round here. Would be a nice
> touch if the GAE team included some instructions like their peers on
> Android (and prolly other projects) 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.
>
>

-- 
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] Updating the Eclipse Plugin

2010-03-30 Thread Jason Parekh
Hey Steve,

The instructions are located on the Google Plugin for Eclipse website,
specifically at http://code.google.com/eclipse/docs/updating_the_plugin.html

Hope this
helps,
jason

On Tue, Mar 30, 2010 at 1:41 PM, Steve  wrote:

> Now that GAE 1.3.2 has been released I'd like to update my Eclipse
> plugin (indeed, when the GAE is started it warns me that a newer
> version is available).
>
> However, when I ask Eclipse to "Check for Updates" it reports nothing
> is available.
>
> There don't seem to be any update instructions, just "starting from
> scratch" instructions.
>
> When I did this for the previous version (1.3.0 -> 1.3.1), I ended up
> with everything in a right old mess.  Therefore I'd prefer to follow
> an official process.
>
> Have I missed some instructions somewhere ?
>
> 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-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.
>
>

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread Jeff Schnitzer
On Tue, Mar 30, 2010 at 8:03 AM, Guillermo Schwarz
 wrote:
>
> SQL can be run on top of a file system (fseek, read, write) or on top of a
> persistent hashmap (datastore).
>
> If you create a SQL interface on top of any of those, then it is a
> relational database, not a fake but a real relational database. Why would I
> want a relational database? Consistency, for starters. ACID transactions.
> Set operations.

...except that you *can't* actually create a performant relational
database on top of appengine.

Let's be realistic here.  There is one reason and one reason only why
modern RDBMSes can perform at anything remotely like the speeds
necessary for web applications:

 * Lots and lots of RAM, enough to cache whole indexes.

You don't have this in appengine.  You get, at best, somewhere around
110 megs.  How fast do you think an RDBMS is going to perform on a
machine that has been lobotomized to 100 megs of RAM???  If you have
an antique computer from the 1990s you can find out.

I have no doubt that you can create an RDBMS on top of the GAE
datastore.  I also have no doubt that trying to tune a Hibernate app
to run at reasonable speeds will be a nightmare that I never want to
experience.

Jeff

-- 
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] Parameter 0 of is of an unknown type 'java.lang.String/2004016611' - error when running through AppEngine+ GWT tutorial

2010-03-30 Thread vijay
hi,
I am using GWT 2.0.3 version, I am going through the steps mentioned in GWT
tutorial

http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

When trying to integrate login service I get following exception.

Mar 30, 2010 6:44:49 PM
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1269974689208000] javax.servlet.ServletContext log: loginService:
ERROR: Failed to parse the policy file
'/stockwatcher/748E07BA5F0BCE26285053278C0378CB.gwt.rpc'
java.text.ParseException: Expected: className, [true | false]
at
com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java:116)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java:234)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java:117)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:429)
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:234)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:352)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Mar 30, 2010 6:44:49 PM
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1269974689224000] javax.servlet.ServletContext log: loginService:
An IncompatibleRemoteServiceException was thrown while processing this call.
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: Parameter
0 of is of an unknown type 'java.lang.String/2004016611'
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:277)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl

Re: [appengine-java] Re: Why should app startup times be a problem.

2010-03-30 Thread Baz
Great information, Ikai.

I really feel that "instances" should be completely avoided in concept and
language on the GAE. What if the feature was simply an enable/disable deal
called "Warm Scale". If it were enabled, then your *next* instance would
always be warm, regardless of how many instances you already had. This would
be most noticeable and suitable for low QPS production apps that are
constantly going from 0 to 1 instances (as you mentioned), but it could
still be important for others, say, for a super-high-profile site, or a
situation where your QPS is right at the threshold of instances and
oscillating back and forth between two instances. Whatever the situation, if
the solution were generalized like that, and most importantly not tied to a
SPECIFIC NUMBER of instances, it would be up to the user to decide how
important it was for them and whether to enable it.

Cheers,
Baz

-- 
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] Eclipse plugin + Maven integration problem

2010-03-30 Thread Hannu Leinonen
Check out my blog post:
http://hamandeggs.wordpress.com/2010/01/26/how-to-gae-eclipse-maven/

It's for the "old" plugin version but still working with the new ones. I
haven't yet had time to figure out how to utilize the WAR directory
configuration. I hope you find this useful.


-Hannu

On 30.3.2010 16:31, Juan Edi wrote:
> Hi! I am currently running a GAE application using Maven and the maven-
> gae-plugin. I wanted to start using the Eclipse Plugin, since I read
> that launching de GAE Development Server using the plugin lugin allows
> changes to JSPs and static files to be reflected on the app without
> the need to restart.
> 
> I still cannot make the plugin work with my standard maven directory
> structure. Setting the WAR directory to "src/main/webapp" and trying
> to run/debug the application thows the following output:
> 
> Exception in thread "main" java.lang.AbstractMethodError:
> org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:
> 373)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
> 127)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
> 94)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:
> 662)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
> 708)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
> 313)
>   at java.util.prefs.XmlSupport.writeDoc(XmlSupport.java:259)
>   at java.util.prefs.XmlSupport.exportMap(XmlSupport.java:338)
>   at java.util.prefs.FileSystemPreferences
> $8.run(FileSystemPreferences.java:607)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at
> java.util.prefs.FileSystemPreferences.writeBackCache(FileSystemPreferences.java:
> 600)
>   at
> java.util.prefs.FileSystemPreferences.syncSpiPrivileged(FileSystemPreferences.java:
> 784)
>   at java.util.prefs.FileSystemPreferences.access
> $2300(FileSystemPreferences.java:33)
>   at java.util.prefs.FileSystemPreferences
> $13.run(FileSystemPreferences.java:754)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at
> java.util.prefs.FileSystemPreferences.syncSpi(FileSystemPreferences.java:
> 752)
>   at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
> 1317)
>   at java.util.prefs.AbstractPreferences.sync(AbstractPreferences.java:
> 1308)
>   at
> java.util.prefs.FileSystemPreferences.sync(FileSystemPreferences.java:
> 731)
>   at
> java.util.prefs.FileSystemPreferences.flush(FileSystemPreferences.java:
> 807)
>   at
> com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:
> 136)
>   at com.google.appengine.tools.development.DevAppServerMain
> $StartAction.apply(DevAppServerMain.java:150)
>   at com.google.appengine.tools.util.Parser
> $ParseResult.applyArgs(Parser.java:48)
>   at
> com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:
> 113)
>   at
> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:
> 89)
> Exception in thread "Thread-2" java.lang.AbstractMethodError:
> org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:
> 373)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
> 127)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:
> 94)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:
> 662)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
> 708)
>   at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:
> 313)
>   at java.util.prefs.XmlSupport.writeDoc(XmlSupport.java:259)
>   at java.util.prefs.XmlSupport.exportMap(XmlSupport.java:338)
>   at java.util.prefs.FileSystemPreferences
> $8.run(FileSystemPreferences.java:607)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at
> java.util.prefs.FileSystemPreferences.writeBackCache(FileSystemPreferences.java:
> 600)
>   at
> java.util.prefs.FileSystemPreferences.syncSpiPrivileged(FileSystemPreferences.java:
> 784)
>   at java.util.prefs.FileSystemPreferences.access
> $2300(FileSystemPreferences.java:33)
>   at java.util.prefs.FileSystemPreferences
> $13.run(FileSystemPreferences.java:754)
>   at java.security.AccessController.doPrivileged(Native Method)
>   at
> java.util.prefs.FileSystemPreferences.syncSpi(FileSystemPreferences.java:
> 752)
>   at java.util.prefs.AbstractPreferences.sync2(AbstractPreferences.java:
> 1317)
> 

[appengine-java] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread David Sowerby
Andreas, first thanks for the article, it was hugely interesting and
of course thanks to all who have given us some alternatives to argue
about!  A few themes seem to come out of this for me

1)  Some people are just either happier with what they know (SQL/
RDBMS) - perfectly understandable and probably more productive
initially at least, but if someone didn't move the goalposts now and
then we would never get any innovative change.

2)  Some just have to live with existing code and work with that.
That's life I guess.

3)  Others see the datastore as a component of a different way of
working which overall has some major benefits - making the use of the
datastore simple and efficient is just part of the equation.

4)  Abstraction is all very well - but if the trade off is a lack of
clarity or poor performance then it is in danger of being an objective
for its own sake.

I don't think anyone has mentioned the famous impedance mis-match
between OOP and RDBMS.  It seems to me that BigTable is a better match
to OOP than an RDBMS is - although I found JDO a struggle.

I have the luxury of developing a Java app from scratch, which of
course is not the same for everyone.  I did get JDO to work but it
does feel like I am making life hard for myself by doing so.  Now all
I have to do is decide which of the alternatives to go for .


On Mar 30, 7:33 pm, Jeff Schnitzer  wrote:
> On Tue, Mar 30, 2010 at 8:03 AM, Guillermo Schwarz
>
>  wrote:
>
> > SQL can be run on top of a file system (fseek, read, write) or on top of a
> > persistent hashmap (datastore).
>
> > If you create a SQL interface on top of any of those, then it is a
> > relational database, not a fake but a real relational database. Why would I
> > want a relational database? Consistency, for starters. ACID transactions.
> > Set operations.
>
> ...except that you *can't* actually create a performant relational
> database on top of appengine.
>
> Let's be realistic here.  There is one reason and one reason only why
> modern RDBMSes can perform at anything remotely like the speeds
> necessary for web applications:
>
>  * Lots and lots of RAM, enough to cache whole indexes.
>
> You don't have this in appengine.  You get, at best, somewhere around
> 110 megs.  How fast do you think an RDBMS is going to perform on a
> machine that has been lobotomized to 100 megs of RAM???  If you have
> an antique computer from the 1990s you can find out.
>
> I have no doubt that you can create an RDBMS on top of the GAE
> datastore.  I also have no doubt that trying to tune a Hibernate app
> to run at reasonable speeds will be a nightmare that I never want to
> experience.
>
> Jeff

-- 
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: Why should app startup times be a problem.

2010-03-30 Thread David Chandler
In the mean time, here are some ideas for reducing startup times by
shrinking our apps. I went from 8.1s to 2.5s mainly by eliminating
Guice, and I would expect similar results with Spring. I can
definitely live with 2.5s...

http://turbomanage.wordpress.com/2010/03/26/appengine-cold-starts-considered/

/dmc

On Mar 30, 3:04 pm, Baz  wrote:
> Great information, Ikai.
>
> I really feel that "instances" should be completely avoided in concept and
> language on the GAE. What if the feature was simply an enable/disable deal
> called "Warm Scale". If it were enabled, then your *next* instance would
> always be warm, regardless of how many instances you already had. This would
> be most noticeable and suitable for low QPS production apps that are
> constantly going from 0 to 1 instances (as you mentioned), but it could
> still be important for others, say, for a super-high-profile site, or a
> situation where your QPS is right at the threshold of instances and
> oscillating back and forth between two instances. Whatever the situation, if
> the solution were generalized like that, and most importantly not tied to a
> SPECIFIC NUMBER of instances, it would be up to the user to decide how
> important it was for them and whether to enable it.
>
> Cheers,
> Baz

-- 
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: Spring 2.5 Transactions - anyone got this working?

2010-03-30 Thread Carl Ballantyne
Hi objectuser,

Thanks for the links - very helpful. I have had a look and studied
them. I am trying to get your example to work but am getting the
error.

org.springframework.transaction.CannotCreateTransactionException:
Could not open JDO PersistenceManager for transaction; nested
exception is java.lang.IllegalStateException: No JDO
PersistenceManager bound to thread, and configuration does not allow
creation of non-transactional one here
at
org.springframework.orm.jdo.JdoTransactionManager.doBegin(JdoTransactionManager.java:
359)

As far as I can see I have set up everything as should be but am
missing something obvious because it just will not work. It might be
something to do with the aop config but I cannot be sure. I have read
the Spring documentation and your example which are very similar.
Below is my revised spring xml and I have included example dao code as
well. If anyone can see what I am doing wrong please correct me.
Thanks.

SPRING XML
-





































DAO
-

public class ProjectDaoJdoImpl implements ProjectDao {

private PersistenceManagerFactory pmf;

 public void setPmf(final PersistenceManagerFactory pmf) {
this.pmf = pmf;
}
 private PersistenceManager getPersistenceManager() {
 return pmf.getPersistenceManager();
}

 public Project read(Long id) {
PersistenceManager pm = getPersistenceManager();

try {
Project project = pm.getObjectById(Project.class,id);
return project;
} finally {
pm.close();
}

}

}

-- 
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: Spring 2.5 Transactions - anyone got this working?

2010-03-30 Thread Carl Ballantyne
Sorry as well at the moment I am only trying to get this to work on my
local version of appengine (the SDK). I will look at the workaround
posted at http://code.google.com/p/googleappengine/issues/detail?id=1381
once I have it all working.

-- 
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: Why should app startup times be a problem.

2010-03-30 Thread Ikai L (Google)
David, that post mirrors many of the points made here:

http://www.answercow.com/2010/03/google-app-engine-cold-start-guide-for.html

There's one or two more tips on that page.

On Tue, Mar 30, 2010 at 12:47 PM, David Chandler wrote:

> In the mean time, here are some ideas for reducing startup times by
> shrinking our apps. I went from 8.1s to 2.5s mainly by eliminating
> Guice, and I would expect similar results with Spring. I can
> definitely live with 2.5s...
>
>
> http://turbomanage.wordpress.com/2010/03/26/appengine-cold-starts-considered/
>
> /dmc
>
> On Mar 30, 3:04 pm, Baz  wrote:
> > Great information, Ikai.
> >
> > I really feel that "instances" should be completely avoided in concept
> and
> > language on the GAE. What if the feature was simply an enable/disable
> deal
> > called "Warm Scale". If it were enabled, then your *next* instance would
> > always be warm, regardless of how many instances you already had. This
> would
> > be most noticeable and suitable for low QPS production apps that are
> > constantly going from 0 to 1 instances (as you mentioned), but it could
> > still be important for others, say, for a super-high-profile site, or a
> > situation where your QPS is right at the threshold of instances and
> > oscillating back and forth between two instances. Whatever the situation,
> if
> > the solution were generalized like that, and most importantly not tied to
> a
> > SPECIFIC NUMBER of instances, it would be up to the user to decide how
> > important it was for them and whether to enable it.
> >
> > Cheers,
> > Baz
>
> --
> 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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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: Objectify - Twig - SimpleDS articles

2010-03-30 Thread nicolas melendez
i switch from JDO to Objectify i one Day.

i changed 42 classes (thats what my svn says), but the key to success the
migration was the tests:

 57 green tests before start + 1 factibility test for objectify in
transaction.

Now my code is clean y work faster,
NM

On Tue, Mar 30, 2010 at 4:38 PM, David Sowerby wrote:

> Andreas, first thanks for the article, it was hugely interesting and
> of course thanks to all who have given us some alternatives to argue
> about!  A few themes seem to come out of this for me
>
> 1)  Some people are just either happier with what they know (SQL/
> RDBMS) - perfectly understandable and probably more productive
> initially at least, but if someone didn't move the goalposts now and
> then we would never get any innovative change.
>
> 2)  Some just have to live with existing code and work with that.
> That's life I guess.
>
> 3)  Others see the datastore as a component of a different way of
> working which overall has some major benefits - making the use of the
> datastore simple and efficient is just part of the equation.
>
> 4)  Abstraction is all very well - but if the trade off is a lack of
> clarity or poor performance then it is in danger of being an objective
> for its own sake.
>
> I don't think anyone has mentioned the famous impedance mis-match
> between OOP and RDBMS.  It seems to me that BigTable is a better match
> to OOP than an RDBMS is - although I found JDO a struggle.
>
> I have the luxury of developing a Java app from scratch, which of
> course is not the same for everyone.  I did get JDO to work but it
> does feel like I am making life hard for myself by doing so.  Now all
> I have to do is decide which of the alternatives to go for .
>
>
> On Mar 30, 7:33 pm, Jeff Schnitzer  wrote:
> > On Tue, Mar 30, 2010 at 8:03 AM, Guillermo Schwarz
> >
> >  wrote:
> >
> > > SQL can be run on top of a file system (fseek, read, write) or on top
> of a
> > > persistent hashmap (datastore).
> >
> > > If you create a SQL interface on top of any of those, then it is a
> > > relational database, not a fake but a real relational database. Why
> would I
> > > want a relational database? Consistency, for starters. ACID
> transactions.
> > > Set operations.
> >
> > ...except that you *can't* actually create a performant relational
> > database on top of appengine.
> >
> > Let's be realistic here.  There is one reason and one reason only why
> > modern RDBMSes can perform at anything remotely like the speeds
> > necessary for web applications:
> >
> >  * Lots and lots of RAM, enough to cache whole indexes.
> >
> > You don't have this in appengine.  You get, at best, somewhere around
> > 110 megs.  How fast do you think an RDBMS is going to perform on a
> > machine that has been lobotomized to 100 megs of RAM???  If you have
> > an antique computer from the 1990s you can find out.
> >
> > I have no doubt that you can create an RDBMS on top of the GAE
> > datastore.  I also have no doubt that trying to tune a Hibernate app
> > to run at reasonable speeds will be a nightmare that I never want to
> > experience.
> >
> > Jeff
>
> --
> 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.
>
>

-- 
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: Why should app startup times be a problem.

2010-03-30 Thread Sarath
This is getting really interesting. I have been follwoing this post
from a couple of days.

I managed to see What exactly is ammounting to delayed startup.

Some have suggested to remove spring/di/jpa/jdo. While this is true,
it solves much of the problem - These are the reason why I would
choose java over python.

I may be wrong here - But I tried this experiment.

I had four versions of a simple java app.

one with grails
one with spring (full di - context: scan etc)
one with spring (lazyloading, )
one with slim1.0
one with NOTHING (only commons logging)

I realised there are two parts to the load time.

The load time from google.
The load time from the libraries.

I believe from a developers perspective the second one should NOT be
considered for optimization.

For #1 a recommendation is warm startup. While in theory it might
sound good, the elasticity and managment will take it back to EC2 type
like baz suggests.

For my experiment the results are like this

Version - 
Google Warmup - Framework Warmup
with grails 
-   ~9+ secs-   ~4secs
with spring (full di - context: scan etc)   -   
~4+ secs-   ~3 secs
with spring (lazyloading, ) -   
~4 secs -   ~2 secs
with slim1.0-   
~2-3 secs   -   <1 secs
with NOTHING (only commons logging) -   ~2 secs -   
<1 sec

Now I dont know what exactly Google spins down - I assume just the
apps - not the whole container. In which case, There is a lot of load
while loading the libraries. I can only guess, (corrections expected
from technical team at google) most of the time take should be during
the class loading. Grails/Spring have a bunch of libraries that are
almost 1 mb some times.

An assumable solution would be to preload / share these libraries in
the parent classloader and  have some kind of manifest either in app-
web.xml or manifest.mf  to use them.  It may not be a fully loaded
osgi type of a stack but a noval hierachied classloading with ways to
selectively load libraries. Otherwise there be some other classloading
mechanism that is fast. like probably from memcache.

Google tech team - to comment/

I will try to upload some actual numbers from my logs and post the
information.

-Sarath


On Mar 31, 1:54 am, "Ikai L (Google)"  wrote:
> David, that post mirrors many of the points made here:
>
> http://www.answercow.com/2010/03/google-app-engine-cold-start-guide-f...
>
> There's one or two more tips on that page.
>
> On Tue, Mar 30, 2010 at 12:47 PM, David Chandler wrote:
>
>
>
> > In the mean time, here are some ideas for reducing startup times by
> > shrinking our apps. I went from 8.1s to 2.5s mainly by eliminating
> > Guice, and I would expect similar results with Spring. I can
> > definitely live with 2.5s...
>
> >http://turbomanage.wordpress.com/2010/03/26/appengine-cold-starts-con...
>
> > /dmc
>
> > On Mar 30, 3:04 pm, Baz  wrote:
> > > Great information, Ikai.
>
> > > I really feel that "instances" should be completely avoided in concept
> > and
> > > language on the GAE. What if the feature was simply an enable/disable
> > deal
> > > called "Warm Scale". If it were enabled, then your *next* instance would
> > > always be warm, regardless of how many instances you already had. This
> > would
> > > be most noticeable and suitable for low QPS production apps that are
> > > constantly going from 0 to 1 instances (as you mentioned), but it could
> > > still be important for others, say, for a super-high-profile site, or a
> > > situation where your QPS is right at the threshold of instances and
> > > oscillating back and forth between two instances. Whatever the situation,
> > if
> > > the solution were generalized like that, and most importantly not tied to
> > a
> > > SPECIFIC NUMBER of instances, it would be up to the user to decide how
> > > important it was for them and whether to enable it.
>
> > > Cheers,
> > > Baz
>
> > --
> > 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.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

-- 
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-ap

Re: [appengine-java] Re: Error message after updating AppEngine in my project

2010-03-30 Thread Ikai L (Google)
I must have read this email wrong. I thought this was affecting deploys. I
see this error, but it isn't causing any problems - I'm still able to run my
application. Can you explain how this blocks you from developing with 1.3.2?


On Tue, Mar 30, 2010 at 10:31 AM, Ikai L (Google)  wrote:

> I'll have to try to reproduce this. In the meantime, use svn export:
>
> http://svnbook.red-bean.com/en/1.0/re10.html
>
> If it turns out the
> .metadata directory IS causing problems, we'll investigate what's causing
> this and either issue a fix or possibly document a better workaround.
>
>
> On Tue, Mar 30, 2010 at 12:09 AM, Spanishgringo wrote:
>
>> Same problem for me as well. :(  Back to 1.3.1 until someone can share
>> a fix...
>>
>> On Mar 30, 12:28 am, julianc  wrote:
>> > Similar problem here. Upgraded to 1.3.2 error, switched back to
>> > 1.3.1 ... everything fine again.
>> >
>> > Mar 29, 2010 11:24:44 PM
>> > com.google.appengine.tools.info.LocalVersionFactory getVersion
>> > INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
>> > java.util.zip.ZipException: error in opening zip file
>> > at java.util.zip.ZipFile.open(Native Method)
>> > at java.util.zip.ZipFile.(ZipFile.java:114)
>> > at java.util.jar.JarFile.(JarFile.java:133)
>> > at java.util.jar.JarFile.(JarFile.java:97)
>> > at
>> >
>> com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF
>> inder.java:
>> > 37)
>> > at
>> >
>> com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion
>> Factory.java:
>> > 65)
>> > at
>> >
>> com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav
>> a:
>> > 112)
>> > at
>> >
>> com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav
>> a:
>> > 91)
>> > at
>> >
>> com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
>> > 164)
>> > at
>> >
>> com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck
>> .java:
>> > 132)
>> > at com.google.appengine.tools.development.DevAppServerMain
>> > $StartAction.apply(DevAppServerMain.java:150)
>> > at com.google.appengine.tools.util.Parser
>> > $ParseResult.applyArgs(Parser.java:48)
>> > at
>> >
>> com.google.appengine.tools.development.DevAppServerMain.(DevAppServer
>> Main.java:
>> > 113)
>> > at
>> >
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa
>> in.java:
>> > 89)
>> > Mar 29, 2010 11:24:44 PM com.google.apphosting.utils.jetty.JettyLogger
>> > info
>> > INFO: Logging to JettyLogger(null) via
>> > com.google.apphosting.utils.jetty.JettyLogger
>> > Mar 29, 2010 11:24:44 PM
>> > com.google.apphosting.utils.config.AppEngineWebXmlReader
>> > readAppEngineWebXml
>> > INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
>> > Mar 29, 2010 11:24:44 PM
>> > com.google.apphosting.utils.config.AbstractConfigXmlReader
>> > readConfigXml
>> >
>> > On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
>> >
>> >
>> >
>> > > Not sure why this should be happening as the deploy script should be
>> > > ignoring this, but is it possible for you to do an "svn export" to
>> another
>> > > directory prior to a deploy?
>>
>> --
>> 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.
>>
>>
>
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> http://googleappengine.blogspot.com | http://twitter.com/app_engine
>



-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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] Russian characters in SDK datastore viewer

2010-03-30 Thread Ikai L (Google)
Are you using Java or Python? Can you check to see if you are using 1.3.2?

http://code.google.com/p/googleappengine/issues/detail?id=502

I've reproduced this using the Java SDK, but I want to check to see if it's
also problematic in Python.

On Mon, Mar 29, 2010 at 11:57 PM, Timofey Koolin  wrote:

> I can't read it.
>
> I can read it by API, I can see it into app engine server datastore
> viewer, but in local datastore viewer i see "???".
>
> --
> 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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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] JIQL and SQL on appengine

2010-03-30 Thread Jeff Schnitzer
Guillermo, Sandeep - you guys are both missing my point.

You're not giving me a SQL interface to my GAE datastore data.  You're
trying to turn the GAE datastore into an RDBMS.  There is a crucial
distinction.

I don't want to try to run Hibernate against GAE.  I don't want a fat
layer of very complicated software that 1) tries to map my java
objects to SQL and then 2) tries to map that SQL to the GAE datastore
- which really is closer to the original objects in structure.

For my operational needs, working with Objectify (or pick your tier)
is great.  However, my ability to run ad-hoc queries is severely
limited to GQL in the datastore viewer.  I want to be able to run
analytic SQL queries across my Objectify/JDO/Twig/Low-Level
API/whatever data stored in Appengine today.

I can't be certain from jiql's docs if it is the case, but Cloud2db's
docs suggest it is an "all or nothing" proposition.  Your only access
to data is the JDBC interface.  This is of no use to me.  I really
want to use your SQL engine against my data created with my
application.

Before you say "just use Hibernate", I'll repeat what I said in the
thread on Andreas' article:

 * There is no way you can build a performant RDBMS on GAE.

You don't have the key resource that makes RDBMSes fast:  RAM.  You
can't cache indexes in memory.  So all those nifty joins that
Hibernate likes to do are simply out of the question.  You're back to
tiptoeing through your application, limiting your use of Hibernate
features until - guess what - it works basically like the load/store
system presented by Objectify, Twig, SimpleDS, and Slim3.

Maybe I should put this a little differently.  Why will your RDBMS
interface to GAE perform any better than MySQL running on a late 1990s
PC with 128M of RAM?

The thing is, I could happily do analytical queries on a slow system.
I'm patient.  I can't do operational queries on a slow system because
I can't expect my users to be patient.

Jeff

On Tue, Mar 30, 2010 at 6:57 AM, Sandeep Sathaye
 wrote:
> Hi Jeff,
>
> You mentioned in your post about splitting your large requests into smaller
> requests and then collate the results. This is exactly how Cloud2db JDBC
> client driver works. For example if you have a large number of entities in
> your datastore which you want to process. You can just write a standard sql
> query and Cloud2db JDBC driver will handle splitting it into smaller chunks
> and return you the results. You will never be hit by 30s request time limit.
>
> You also mentioned about the GUI tools to access the data. All standard JDBC
> client tools work seamlessly with Cloud2db JDBC driver. We use Squirrel JDBC
> client extensively to access the data. This tool works very well.
>
> Thanks,
>
> Sandeep.
> On Tue, Mar 30, 2010 at 4:51 AM, Jeff Schnitzer  wrote:
>>
>> Hey, so one of the things I complained about in Andreas' great article
>> is the difficulty of doing analytics on appengine.  GAE is great for
>> operational systems, but ad-hoc queries require writing a bunch of
>> code that is further complicated by the
>> queue-30s-write-temp-data-to-datastore-requeue process.  Painful.
>>
>> I miss being able to run SQL.  I *don't* miss writing code against
>> JDBC, and I *don't* miss configuring Java<->SQL systems like
>> Hibernate, but I do miss the SQL command prompt when I want to know
>> how many users logged in last week or what they've been doing.
>>
>> I'm tantalized by systems like Cloud2db and Jiql but it seems like
>> you're focusing on building operational systems with JDBC.  I'm much
>> happier writing my operational code in java at the higher level of
>> objects and getting the better fidelity of mapping to native
>> operations that you will with Objectify, JDO, or whatnot.  Maybe there
>> are people who still write JDBC apps but they've got to be a pretty
>> masochistic lot.
>>
>> What I really want is a bit of software (perhaps a version) that I can
>> deploy into my application, and a command line (or GUI) tool I can use
>> on my local box.  The tool would take my SQL statements (including
>> joins and aggregation functions), turn this into a series of 30s
>> requests, collate the results, and print them.  It could take hours,
>> fine - as long as it eventually comes up with the answer.  I'd be
>> willing to pay several hundred dollars for a tool like this.
>>
>> Is there any chance that JIQL will go in that direction?  Or are you
>> thinking along the lines of the Cloud2db folks, basically "all or
>> nothing".  I don't want to write JDBC apps, I just want to
>> occasionally run some ad-hoc SQL against my existing apps.
>>
>> Thanks,
>> Jeff
>>
>> On Tue, Mar 30, 2010 at 12:51 AM, Andreas Borglin
>>  wrote:
>> > Hi again.
>> >
>> > I had a look at jiql.
>> > "jiql is a JDBC wrapper for accessing Google DataStore on Google App
>> > Engine for JAVA.
>> > jiql supports the use of standard SQL as a method for accessing
>> > the DataStore"
>> >
>> > Even if I had seen jiql earlier I wouldn't hav

[appengine-java] Re: App Engine SDK 1.3.2 is out!

2010-03-30 Thread Ikai Lan
I've reproduced the off-by-one error. Thanks for bringing this up.

On Mar 27, 8:32 am, "jacek.ambroziak" 
wrote:
> fetchData is very useful. At the moment its implementation seems to
> suffer from an off-by-one bug.
> For instance, fetchData(key, 0, 1024) returns an array of length 1025
> and
> blobstoreService.fetchData(blobKey, 0,
> BlobstoreService.MAX_BLOB_FETCH_SIZE)
> will, I guess, attempt to read one byte too many and it fails with
>
>   com.google.appengine.api.blobstore.BlobstoreFailureException: An
> unexpected error occurred.
>
> On Mar 25, 8:48 pm, "Ikai L (Google)"  wrote:
>
>
>
> > Check it out!
>
> >http://googleappengine.blogspot.com/2010/03/app-engine-sdk-132-releas...
>
> > Blog post:
>
> > App Engine SDK 1.3.2
> > Released
>
> > Today we are excited to announce the release of version 1.3.2 of the App
> > Engine SDK for both the Java and Python runtimes. 1.3.2 includes a number of
> > changes and bug fixes.
>
> > For this release, we have concentrated on removing a number of limitations
> > that have been affecting developers:
>
> >    - Blobstore API - A new method
> > (fetch_data
> > for
> >    Python, 
> > fetchData
> > for
> >    Java) allows your application to request the contents of a Blob from 
> > within
> >    your application’s code.
> >    - URLFetch API - We’ve expanded the number of ports you can access with
> >    the URLFetch API. You can now access ports 80-90, 440-450, and 
> > 1024-65535.
> >    - Mail API - We’ve expanded the allowed mail attachments to include
> >    common document extensions including .doc, .ppt, and .xls.
> >    - Task Queue API - We’ve increased the maximum total Task Queue refill
> >    rate to 50 per second.
>
> > We’re also happy to announce, based on your feedback, a new Denial of
> > Service (DoS) blocking system in App Engine. This system allows you to
> > blacklist specific IP addresses from accessing your application, and to
> > prevent them from costing your application money or eating up your quota.
> > You can also view the top IPs that have accessed your application in the
> > Admin Console, to help you figure out what IPs you may want to block. More
> > information on this feature is available for
> > Python
> > and Java .
>
> > There’s a lot of other changes and fixes in this release, including a new
> > Java version of the Appstats profiling tool, so read the release notes (
> > Python ,
> > Java)
> > for a complete list of changes and download the new versions of the
> > SDK
> > .
>
> > Release Notes:
>
> > Version 1.3.2 - March 25, 2010
>
> >    - New API to read the contents of uploaded Blobs (fetch_data)
> >    -http://code.google.com/p/googleappengine/issues/detail?id=2536
>
> >    - URLFetch now supports accessing ports 80-90, 440-450, and 1024-65535
> >    - Mail API now allows common document formats as attachments
> >       -http://code.google.com/p/googleappengine/issues/detail?id=494
> >    - The Task Queue API now supports adding multiple tasks in a single call
> >    to Queue.add()
> >    - Fixed charset handling for inbound emails
> >       -http://code.google.com/p/googleappengine/issues/detail?id=2326
> >    - Fixed issue with compositing background colors in dev_appserver
> >    - New feature in the datastore to specify whether to use strong or
> >    eventually consistent reads (the default is strong)
> >    - New datastore feature allows setting deadlines for operations
> >    - Increased the maximum Task Queue refill rate from 20/s to 50/s
> >    - Support for IP blacklisting to prevent denial of service (DoS) attacks
> >    - Fix an issue with Mac Launcher in Mac OSX 10.5.5
> >       -http://code.google.com/p/googleappengine/issues/detail?id=778
> >    - Fix issue with slow updates when there are many skipped files
> >       -http://code.google.com/p/googleappengine/issues/detail?id=2492
> >    - Fix issue with cursor not updating when using a
> > GqlQuery?
> >       -http://code.google.com/p/googleappengine/issues/detail?id=2757
>
> > You might also want to note that we've updated the public roadmap:
>
> >http://code.google.com/appengine/docs/roadmap.html
>
> > Features on Deck
>
> >    - SSL for third-party domains
> >    - Background servers capable of running for longer than 30s
> >    - Ability to reserve instances to reduce application loading overhead
> >    - Ability to select different availability vs. latency options for
> >    Da

[appengine-java] Re: App Engine Beginner + JDO beginner... Strange issue with Query

2010-03-30 Thread Guit

Anybody ? Someone look at my class and say to me ot should work but it
doesn t and i habe still no ide why ... Please :)
On 30 mar, 00:09, Guit  wrote:
> Hi everybody,
> I am trying to build my application and i am facing a very strange
> issue : here is the code :
> PersistenceManager pm=PMF.get().getPersistenceManager();
>
>                         Query query=pm.newQuery(Espace.class);
>                         //query.setFilter("nom == paramAuthor");
>                         //query.declareParameters("java.lang.String 
> paramAuthor");
>                         List results ;
>                         results=(List) query.execute();//"_66");
>                         for (int i=0;i                                 Espace es=results.get(i);
>                                 System.out.println(es.getNom());
>                         }
>                         return results;
> When i run it i obtain a long list of name :
> ...
> _65
> _66
> _67
> ...
>
> When I remove comment and execute the query , i have no result...
> I really don't understand why...
> If you have an idea... it would be very nice to help me :)
> Guit

-- 
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] Eventually consistent reads and JDO

2010-03-30 Thread Ikai L (Google)
Yep. The example is documented here:

http://googleappengine.blogspot.com/2010/03/read-consistency-deadlines-more-control.html

Query
q = pm.newQuery(Employee.class);
q.addExtension("datanucleus.appengine.datastoreReadConsistency",
"EVENTUAL");

On Fri, Mar 26, 2010 at 5:12 PM, Isdal  wrote:

> Hi all,
>
> Thanks for all new new features in 1.3.2!
>
> I was just wondering if it is possible to use the
> "ReadPolicy.Consistency.EVENTUAL" feature and still use the JDO
> interface.
>
> I am currently getting a PersistenceManager with:
> JDOHelper.getPersistenceManagerFactory("transactions-
> optional");
>
> Is there a way to tell the PersistenceManager to tell the datastore to
> accept eventually consistent reads? Most of my app can handle stale
> data, and any performance improvement would be great!
>
> Thanks!
>
> // Tomas
>
> --
> 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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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: Error message after updating AppEngine in my project

2010-03-30 Thread Geo
Thanks Ikai, for looking into the root cause.  I am confronting this
issue, and I am relatively new to the GAE  Eclipse plugin.  One of the
post before said that they were able to solve the issue by switching
back to 1.3.1, since I got this update using the eclipse software
manager,

how do I switch back now?

Thanks,

Geo

On Mar 30, 12:31 pm, "Ikai L (Google)"  wrote:
> I'll have to try to reproduce this. In the meantime, use svn export:
>
> http://svnbook.red-bean.com/en/1.0/re10.html
>
> If it turns out the .metadata
> directory IS causing problems, we'll investigate what's causing this and
> either issue a fix or possibly document a better workaround.
>
> On Tue, Mar 30, 2010 at 12:09 AM, Spanishgringo wrote:
>
>
>
> > Same problem for me as well. :(  Back to 1.3.1 until someone can share
> > a fix...
>
> > On Mar 30, 12:28 am, julianc  wrote:
> > > Similar problem here. Upgraded to 1.3.2 error, switched back to
> > > 1.3.1 ... everything fine again.
>
> > > Mar 29, 2010 11:24:44 PM
> > > com.google.appengine.tools.info.LocalVersionFactory getVersion
> > > INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
> > > java.util.zip.ZipException: error in opening zip file
> > >         at java.util.zip.ZipFile.open(Native Method)
> > >         at java.util.zip.ZipFile.(ZipFile.java:114)
> > >         at java.util.jar.JarFile.(JarFile.java:133)
> > >         at java.util.jar.JarFile.(JarFile.java:97)
> > >         at
>
> > com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF
> > inder.java:
> > > 37)
> > >         at
>
> > com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion
> > Factory.java:
> > > 65)
> > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav
> > a:
> > > 112)
> > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav
> > a:
> > > 91)
> > >         at
> > > com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
> > > 164)
> > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck
> > .java:
> > > 132)
> > >         at com.google.appengine.tools.development.DevAppServerMain
> > > $StartAction.apply(DevAppServerMain.java:150)
> > >         at com.google.appengine.tools.util.Parser
> > > $ParseResult.applyArgs(Parser.java:48)
> > >         at
>
> > com.google.appengine.tools.development.DevAppServerMain.(DevAppServer
> > Main.java:
> > > 113)
> > >         at
>
> > com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa
> > in.java:
> > > 89)
> > > Mar 29, 2010 11:24:44 PM com.google.apphosting.utils.jetty.JettyLogger
> > > info
> > > INFO: Logging to JettyLogger(null) via
> > > com.google.apphosting.utils.jetty.JettyLogger
> > > Mar 29, 2010 11:24:44 PM
> > > com.google.apphosting.utils.config.AppEngineWebXmlReader
> > > readAppEngineWebXml
> > > INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
> > > Mar 29, 2010 11:24:44 PM
> > > com.google.apphosting.utils.config.AbstractConfigXmlReader
> > > readConfigXml
>
> > > On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
>
> > > > Not sure why this should be happening as the deploy script should be
> > > > ignoring this, but is it possible for you to do an "svn export" to
> > another
> > > > directory prior to a deploy?
>
> > --
> > 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.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

-- 
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: Error message after updating AppEngine in my project

2010-03-30 Thread Ikai L (Google)
Geo, what is the issue? Does it actually break anything? We'll investigate
on our part, but if it doesn't actually prevent you from writing code
there's absolutely no reason to downgrade.

On Tue, Mar 30, 2010 at 2:19 PM, Geo  wrote:

> Thanks Ikai, for looking into the root cause.  I am confronting this
> issue, and I am relatively new to the GAE  Eclipse plugin.  One of the
> post before said that they were able to solve the issue by switching
> back to 1.3.1, since I got this update using the eclipse software
> manager,
>
> how do I switch back now?
>
> Thanks,
>
> Geo
>
> On Mar 30, 12:31 pm, "Ikai L (Google)"  wrote:
> > I'll have to try to reproduce this. In the meantime, use svn export:
> >
> > http://svnbook.red-bean.com/en/1.0/re10.html
> >
> > If it turns out the
> .metadata
> > directory IS causing problems, we'll investigate what's causing this and
> > either issue a fix or possibly document a better workaround.
> >
> > On Tue, Mar 30, 2010 at 12:09 AM, Spanishgringo  >wrote:
> >
> >
> >
> > > Same problem for me as well. :(  Back to 1.3.1 until someone can share
> > > a fix...
> >
> > > On Mar 30, 12:28 am, julianc  wrote:
> > > > Similar problem here. Upgraded to 1.3.2 error, switched back to
> > > > 1.3.1 ... everything fine again.
> >
> > > > Mar 29, 2010 11:24:44 PM
> > > > com.google.appengine.tools.info.LocalVersionFactory getVersion
> > > > INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
> > > > java.util.zip.ZipException: error in opening zip file
> > > > at java.util.zip.ZipFile.open(Native Method)
> > > > at java.util.zip.ZipFile.(ZipFile.java:114)
> > > > at java.util.jar.JarFile.(JarFile.java:133)
> > > > at java.util.jar.JarFile.(JarFile.java:97)
> > > > at
> >
> > >
> com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF
> > > inder.java:
> > > > 37)
> > > > at
> >
> > >
> com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion
> > > Factory.java:
> > > > 65)
> > > > at
> >
> > >
> com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav
> > > a:
> > > > 112)
> > > > at
> >
> > >
> com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav
> > > a:
> > > > 91)
> > > > at
> > > >
> com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
> > > > 164)
> > > > at
> >
> > >
> com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck
> > > .java:
> > > > 132)
> > > > at com.google.appengine.tools.development.DevAppServerMain
> > > > $StartAction.apply(DevAppServerMain.java:150)
> > > > at com.google.appengine.tools.util.Parser
> > > > $ParseResult.applyArgs(Parser.java:48)
> > > > at
> >
> > >
> com.google.appengine.tools.development.DevAppServerMain.(DevAppServer
> > > Main.java:
> > > > 113)
> > > > at
> >
> > >
> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa
> > > in.java:
> > > > 89)
> > > > Mar 29, 2010 11:24:44 PM
> com.google.apphosting.utils.jetty.JettyLogger
> > > > info
> > > > INFO: Logging to JettyLogger(null) via
> > > > com.google.apphosting.utils.jetty.JettyLogger
> > > > Mar 29, 2010 11:24:44 PM
> > > > com.google.apphosting.utils.config.AppEngineWebXmlReader
> > > > readAppEngineWebXml
> > > > INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
> > > > Mar 29, 2010 11:24:44 PM
> > > > com.google.apphosting.utils.config.AbstractConfigXmlReader
> > > > readConfigXml
> >
> > > > On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
> >
> > > > > Not sure why this should be happening as the deploy script should
> be
> > > > > ignoring this, but is it possible for you to do an "svn export" to
> > > another
> > > > > directory prior to a deploy?
> >
> > > --
> > > 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.
> >
> > --
> > Ikai Lan
> > Developer Programs Engineer, Google App Enginehttp://
> googleappengine.blogspot.com|http://twitter.com/app_engine
>
> --
> 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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://t

[appengine-java] Re: Error message after updating AppEngine in my project

2010-03-30 Thread Rahul
Ikai,

It doesn't break anything and neither does it stops from deploying but
it just looks ugly and we might miss the real error if any during the
deployment.

Thanks,
Rahul

On Mar 30, 8:43 pm, "Ikai L (Google)"  wrote:
> Geo, what is the issue? Does it actually break anything? We'll investigate
> on our part, but if it doesn't actually prevent you from writing code
> there's absolutely no reason to downgrade.
>
>
>
> On Tue, Mar 30, 2010 at 2:19 PM, Geo  wrote:
> > Thanks Ikai, for looking into the root cause.  I am confronting this
> > issue, and I am relatively new to the GAE  Eclipse plugin.  One of the
> > post before said that they were able to solve the issue by switching
> > back to 1.3.1, since I got this update using the eclipse software
> > manager,
>
> > how do I switch back now?
>
> > Thanks,
>
> > Geo
>
> > On Mar 30, 12:31 pm, "Ikai L (Google)"  wrote:
> > > I'll have to try to reproduce this. In the meantime, use svn export:
>
> > >http://svnbook.red-bean.com/en/1.0/re10.html
>
> > > If it turns out the
> > .metadata
> > > directory IS causing problems, we'll investigate what's causing this and
> > > either issue a fix or possibly document a better workaround.
>
> > > On Tue, Mar 30, 2010 at 12:09 AM, Spanishgringo  > >wrote:
>
> > > > Same problem for me as well. :(  Back to 1.3.1 until someone can share
> > > > a fix...
>
> > > > On Mar 30, 12:28 am, julianc  wrote:
> > > > > Similar problem here. Upgraded to 1.3.2 error, switched back to
> > > > > 1.3.1 ... everything fine again.
>
> > > > > Mar 29, 2010 11:24:44 PM
> > > > > com.google.appengine.tools.info.LocalVersionFactory getVersion
> > > > > INFO: Could not find API version from ../project/war/WEB-INF/lib/.svn
> > > > > java.util.zip.ZipException: error in opening zip file
> > > > >         at java.util.zip.ZipFile.open(Native Method)
> > > > >         at java.util.zip.ZipFile.(ZipFile.java:114)
> > > > >         at java.util.jar.JarFile.(JarFile.java:133)
> > > > >         at java.util.jar.JarFile.(JarFile.java:97)
> > > > >         at
>
> > com.google.appengine.tools.util.ApiVersionFinder.findApiVersion(ApiVersionF
> > > > inder.java:
> > > > > 37)
> > > > >         at
>
> > com.google.appengine.tools.info.LocalVersionFactory.getVersion(LocalVersion
> > > > Factory.java:
> > > > > 65)
> > > > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.getLocalVersion(UpdateCheck.jav
> > > > a:
> > > > > 112)
> > > > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.jav
> > > > a:
> > > > > 91)
> > > > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:
> > > > > 164)
> > > > >         at
>
> > com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck
> > > > .java:
> > > > > 132)
> > > > >         at com.google.appengine.tools.development.DevAppServerMain
> > > > > $StartAction.apply(DevAppServerMain.java:150)
> > > > >         at com.google.appengine.tools.util.Parser
> > > > > $ParseResult.applyArgs(Parser.java:48)
> > > > >         at
>
> > com.google.appengine.tools.development.DevAppServerMain.(DevAppServer
> > > > Main.java:
> > > > > 113)
> > > > >         at
>
> > com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa
> > > > in.java:
> > > > > 89)
> > > > > Mar 29, 2010 11:24:44 PM
> > com.google.apphosting.utils.jetty.JettyLogger
> > > > > info
> > > > > INFO: Logging to JettyLogger(null) via
> > > > > com.google.apphosting.utils.jetty.JettyLogger
> > > > > Mar 29, 2010 11:24:44 PM
> > > > > com.google.apphosting.utils.config.AppEngineWebXmlReader
> > > > > readAppEngineWebXml
> > > > > INFO: Successfully processed ../project/war/WEB-INF/appengine-web.xml
> > > > > Mar 29, 2010 11:24:44 PM
> > > > > com.google.apphosting.utils.config.AbstractConfigXmlReader
> > > > > readConfigXml
>
> > > > > On Mar 29, 7:04 pm, "Ikai L (Google)"  wrote:
>
> > > > > > Not sure why this should be happening as the deploy script should
> > be
> > > > > > ignoring this, but is it possible for you to do an "svn export" to
> > > > another
> > > > > > directory prior to a deploy?
>
> > > > --
> > > > 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.
>
> > > --
> > > Ikai Lan
> > > Developer Programs Engineer, Google App Enginehttp://
> > googleappengine.blogspot.com|http://twitter.com/app_engine
>
> > --
> > 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-app

Re: [appengine-java] Re: Objectify - Twig - SimpleDS articles

2010-03-30 Thread John Patterson


On 31 Mar 2010, at 02:38, David Sowerby wrote:

  Now all
I have to do is decide which of the alternatives to go for .


Twig has the prettiest representative... however she has a very  
negative attitude towards traditional persistence interfaces on the  
datastore:


http://code.google.com/p/twig-persist/#A_common_sentiment

--
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] Errors after updating to 1.3.2

2010-03-30 Thread Featheast Lee
I have updated my app engine to 1.3.2 a couple of days ago, and it
runs well on the cloud. Today, when I trying to some testing on my
local machine, an exception throws out whenever I try to use the PMF
code:
   PersistenceManager pm = PMF.get().getPersistenceManager();

Basically the exceptions stacks are:
   Internal Server Error (500) - The server encountered an
unexpected condition which prevented it from fulfilling the request
   
   Caused by: java.lang.NoSuchMethodError:
com.google.appengine.api.datastore.DatastoreServiceFactory.getDatastoreService(Lcom/
google/appengine/api/datastore/DatastoreServiceConfig;)Lcom/google/
appengine/api/datastore/DatastoreService;

At first, I thought it is the problem of my newly added code, however,
after several attempts, all failed no matter what change i made.
Then I thought it might be the issue of SDK, after I switched back my
app engine to 1.3.1, it works perfect.

But how can the same code runs well in the cloud, but failed in my
local machine with different versions?

Anyone can give me some idea? Thanks.

PS: my test code is a pretty simple client code generate a GET method
to the app engine project, and a datastore query will be called, the
exception happens when the PMF is called.

-- 
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] Errors after updating to 1.3.2

2010-03-30 Thread John Patterson
Looks like you have a class path problem.  Do you have different  
versions of the app engine jars in your WEB-INF/lib dir?


On 31 Mar 2010, at 09:18, Featheast Lee wrote:


I have updated my app engine to 1.3.2 a couple of days ago, and it
runs well on the cloud. Today, when I trying to some testing on my
local machine, an exception throws out whenever I try to use the PMF
code:
  PersistenceManager pm = PMF.get().getPersistenceManager();

Basically the exceptions stacks are:
  Internal Server Error (500) - The server encountered an
unexpected condition which prevented it from fulfilling the request
  
  Caused by: java.lang.NoSuchMethodError:
com 
.google 
.appengine 
.api.datastore.DatastoreServiceFactory.getDatastoreService(Lcom/

google/appengine/api/datastore/DatastoreServiceConfig;)Lcom/google/
appengine/api/datastore/DatastoreService;

At first, I thought it is the problem of my newly added code, however,
after several attempts, all failed no matter what change i made.
Then I thought it might be the issue of SDK, after I switched back my
app engine to 1.3.1, it works perfect.

But how can the same code runs well in the cloud, but failed in my
local machine with different versions?

Anyone can give me some idea? Thanks.

PS: my test code is a pretty simple client code generate a GET method
to the app engine project, and a datastore query will be called, the
exception happens when the PMF is called.

--
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-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: Russian characters in SDK datastore viewer

2010-03-30 Thread Timofey Koolin
I'm use Java SDK 1.3.2

On 31 мар, 01:55, "Ikai L (Google)"  wrote:
> Are you using Java or Python? Can you check to see if you are using 1.3.2?
>
> http://code.google.com/p/googleappengine/issues/detail?id=502
>
> I've reproduced this using the Java SDK, but I want to check to see if it's
> also problematic in Python.
>
>
>
>
>
> On Mon, Mar 29, 2010 at 11:57 PM, Timofey Koolin  wrote:
> > I can't read it.
>
> > I can read it by API, I can see it into app engine server datastore
> > viewer, but in local datastore viewer i see "???".
>
> > --
> > 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 > unsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

-- 
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: Errors after updating to 1.3.2

2010-03-30 Thread Featheast Lee
I tried to do what you mentioned here, but seems no lucky.

On Mar 31, 1:21 pm, John Patterson  wrote:
> Looks like you have a class path problem.  Do you have different  
> versions of the app engine jars in your WEB-INF/lib dir?
>
> On 31 Mar 2010, at 09:18, Featheast Lee wrote:
>
>
>
> > I have updated my app engine to 1.3.2 a couple of days ago, and it
> > runs well on the cloud. Today, when I trying to some testing on my
> > local machine, an exception throws out whenever I try to use the PMF
> > code:
> >       PersistenceManager pm = PMF.get().getPersistenceManager();
>
> > Basically the exceptions stacks are:
> >       Internal Server Error (500) - The server encountered an
> > unexpected condition which prevented it from fulfilling the request
> >       
> >       Caused by: java.lang.NoSuchMethodError:
> > com
> > .google
> > .appengine
> > .api.datastore.DatastoreServiceFactory.getDatastoreService(Lcom/
> > google/appengine/api/datastore/DatastoreServiceConfig;)Lcom/google/
> > appengine/api/datastore/DatastoreService;
>
> > At first, I thought it is the problem of my newly added code, however,
> > after several attempts, all failed no matter what change i made.
> > Then I thought it might be the issue of SDK, after I switched back my
> > app engine to 1.3.1, it works perfect.
>
> > But how can the same code runs well in the cloud, but failed in my
> > local machine with different versions?
>
> > Anyone can give me some idea? Thanks.
>
> > PS: my test code is a pretty simple client code generate a GET method
> > to the app engine project, and a datastore query will be called, the
> > exception happens when the PMF is called.
>
> > --
> > 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 
> > athttp://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: Workaround for Spring transactions throw GenericSignatureFormatError

2010-03-30 Thread Thomas
Hi kevin:

Yes, my workaround is just a proxy which route every pmf requests
back to the original instance return by
JDOHelper.getPersistenceManagerFactory.

I used jdo transaction manager and aop and it worked on gae host
after applying the workaround. My spring version is 2.0.8 but I think
it could also work on spring 2.5.

Thomas

-- 
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: Discussion on will-it-play-in-app-engine

2010-03-30 Thread Thomas
Workaround for issue 1381 (Spring transactions throw
GenericSignatureFormatError)
Please see the comment#20 of issue 1381. (
http://code.google.com/p/googleappengine/issues/detail?id=1381 )

-- 
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: App Engine SDK 1.3.2 is out!

2010-03-30 Thread Robin B
The docs do mention the index values are inclusive:

http://code.google.com/appengine/docs/python/blobstore/functions.html

"Byte indexes are inclusive, with the first byte having an index of 0.
For example, a start_index of 9 and an end_index of 19 will return up
to 11 bytes, starting from the 10th byte (index 9) in the value."

Robin

On Mar 30, 5:21 pm, Ikai Lan  wrote:
> I've reproduced the off-by-one error. Thanks for bringing this up.
>
> On Mar 27, 8:32 am, "jacek.ambroziak" 
> wrote:
>
>
>
> > fetchData is very useful. At the moment its implementation seems to
> > suffer from an off-by-one bug.
> > For instance, fetchData(key, 0, 1024) returns an array of length 1025
> > and
> > blobstoreService.fetchData(blobKey, 0,
> > BlobstoreService.MAX_BLOB_FETCH_SIZE)
> > will, I guess, attempt to read one byte too many and it fails with
>
> >   com.google.appengine.api.blobstore.BlobstoreFailureException: An
> > unexpected error occurred.
>
> > On Mar 25, 8:48 pm, "Ikai L (Google)"  wrote:
>
> > > Check it out!
>
> > >http://googleappengine.blogspot.com/2010/03/app-engine-sdk-132-releas...
>
> > > Blog post:
>
> > > App Engine SDK 1.3.2
> > > Released
>
> > > Today we are excited to announce the release of version 1.3.2 of the App
> > > Engine SDK for both the Java and Python runtimes. 1.3.2 includes a number 
> > > of
> > > changes and bug fixes.
>
> > > For this release, we have concentrated on removing a number of limitations
> > > that have been affecting developers:
>
> > >    - Blobstore API - A new method
> > > (fetch_data
> > > for
> > >    Python, 
> > > fetchData
> > > for
> > >    Java) allows your application to request the contents of a Blob from 
> > > within
> > >    your application’s code.
> > >    - URLFetch API - We’ve expanded the number of ports you can access with
> > >    the URLFetch API. You can now access ports 80-90, 440-450, and 
> > > 1024-65535.
> > >    - Mail API - We’ve expanded the allowed mail attachments to include
> > >    common document extensions including .doc, .ppt, and .xls.
> > >    - Task Queue API - We’ve increased the maximum total Task Queue refill
> > >    rate to 50 per second.
>
> > > We’re also happy to announce, based on your feedback, a new Denial of
> > > Service (DoS) blocking system in App Engine. This system allows you to
> > > blacklist specific IP addresses from accessing your application, and to
> > > prevent them from costing your application money or eating up your quota.
> > > You can also view the top IPs that have accessed your application in the
> > > Admin Console, to help you figure out what IPs you may want to block. More
> > > information on this feature is available for
> > > Python
> > > and Java .
>
> > > There’s a lot of other changes and fixes in this release, including a new
> > > Java version of the Appstats profiling tool, so read the release notes (
> > > Python ,
> > > Java)
> > > for a complete list of changes and download the new versions of the
> > > SDK
> > > .
>
> > > Release Notes:
>
> > > Version 1.3.2 - March 25, 2010
>
> > >    - New API to read the contents of uploaded Blobs (fetch_data)
> > >    -http://code.google.com/p/googleappengine/issues/detail?id=2536
>
> > >    - URLFetch now supports accessing ports 80-90, 440-450, and 1024-65535
> > >    - Mail API now allows common document formats as attachments
> > >       -http://code.google.com/p/googleappengine/issues/detail?id=494
> > >    - The Task Queue API now supports adding multiple tasks in a single 
> > > call
> > >    to Queue.add()
> > >    - Fixed charset handling for inbound emails
> > >       -http://code.google.com/p/googleappengine/issues/detail?id=2326
> > >    - Fixed issue with compositing background colors in dev_appserver
> > >    - New feature in the datastore to specify whether to use strong or
> > >    eventually consistent reads (the default is strong)
> > >    - New datastore feature allows setting deadlines for operations
> > >    - Increased the maximum Task Queue refill rate from 20/s to 50/s
> > >    - Support for IP blacklisting to prevent denial of service (DoS) 
> > > attacks
> > >    - Fix an issue with Mac Launcher in Mac OSX 10.5.5
> > >       -http://code.google.com/p/googleappengine/issues/detail?id=778
> > >    - Fix issue with slow updates when there are many skipped files
> > >       -http://code.google.com/p/googleappengine/issues/detail?id=2492
> > >    - Fix issue with cursor not updating when using a
> > > GqlQ

[appengine-java] Bug? FATAL [main] Main - No embedded stylesheet instruction for file

2010-03-30 Thread Zac Witte
I've been getting this whenever I try to use datastore-indexes.xml and
launch the development server. It doesn't seem to matter what I put in
there, if it detects that file, appengine explodes. Here's the full
output:

21:54:48,603 INFO  [main] Main  -
javax.xml.transform.TransformerFactory=null
21:54:48,604 INFO  [main] Main  - java.endorsed.dirs=/System/Library/
Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/endorsed
21:54:48,607 INFO  [main] Main  - launchFile: /Users/zacwitte/
Documents/workspace/.metadata/.plugins/
org.eclipse.wst.xsl.jaxp.launching/launch/launch.xml
21:54:48,647 FATAL [main] Main  - No embedded stylesheet instruction
for file: file:/Users/zacwitte/Documents/workspace/is.loc.api/war/WEB-
INF/datastore-indexes.xml
org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No
embedded stylesheet instruction for file: file:/Users/zacwitte/
Documents/workspace/is.loc.api/war/WEB-INF/datastore-indexes.xml
at
org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:
225)
at
org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:
186)
at
org.eclipse.wst.xsl.jaxp.debug.invoker.internal.Main.main(Main.java:
73)
Caused by:
org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No
embedded stylesheet instruction for file: file:/Users/zacwitte/
Documents/workspace/is.loc.api/war/WEB-INF/datastore-indexes.xml
at
org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:
214)
... 2 more


and the xml file









it also produces a blank datastore-indexes.out.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-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.