[appengine-java] Re: Google Analytics tracking code on GAE

2009-10-19 Thread Gaurav

common... gae does not interfere with your jsp or servlet output.
any javascript will work. i am using analytics code and a lot of other
javascript.
only explanation i can give is that you deployed to the wrong version,
or something
like that.

On Oct 19, 9:56 am, Prashant antsh...@gmail.com wrote:
 I am using GWT, Adsense, Analytics and YUI, all of them are working fine
 with 
 Servletshttp://code.google.com/appengine/docs/java/gettingstarted/creating.html
 .

 Anyway, today i tried javascript with JSP also and it 
 works,http://gaeapptest.appspot.com/test.jsp.

 You guys must be doing something wrong or may be your builder is not
 recompiling the JSPs every time you change your code and then you feel like
 GWE removed JS code ! try creating a new project and share some code next
 time if problem persists.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Caching using static fields

2009-10-19 Thread leszek

What about using memcache as keeping cache version counter ? When
update is needed than this counter is increased. Every requests keeps
local number and at the beginning compare local counter against
memcache counter. If not equal than refresh local cache and local
cache number.
If memcache counter if not available (expired) than assume it as equal
0 and behave accordingly. It could mean unnecessary cache refreshing
from time to time if memcache expires.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: receiving mail demo

2009-10-19 Thread Prashant
msg.getContent ()  should return Multipart but here in GAE it returns
ByteArrayInputStream . i tried reading Object after wrapping
ByteArrayInputStream into ObjectStream but it doesn't work this way either.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Simple question: How to decrease a counter in a transaction

2009-10-19 Thread dflorey

Hi all,
I need help!
I'm using concurrent tasks executed in a task queue. Let's say I want
to spawn 100 concurrent tasks and do something once they are all done.
I thought this is simple by just storing the total number of spawned
tasks into the datastore and let each task decrease the number by 1.
The value should be 0 when all tasks are done.
This is my code snippet to decrease the value:

Transaction tx = datastore.beginTransaction();
try {
Entity entity = datastore.get(tx, KeyFactory.createKey(kind, key));
Long number = (Long) entity.getProperty(column);
if (number == null || number == 0) {
tx.commit();
return 0;
}
number -= 1;
entity.setProperty(column, number);
datastore.put(tx, entity);
tx.commit();
return number;
} catch (Exception e) {
throw new DBException(Failed to decrease counter, force retry!, e);
} finally {
if (tx.isActive()) {
tx.rollback();
}
}

Something must be wrong with my code as from time to time two
concurrent tasks return the same number after decreasing the value.
Can someone please give me an advice?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Caching using static fields

2009-10-19 Thread Raviv Pavel

Thanks leszek,

I agree that keeping an indicator in memcache is much better than
keeping the data itself there. I was trying to avoid checking memcache
on every request, but I guess there is no way around that :)


On Oct 19, 10:11 am, leszek leszek.ptokar...@gmail.com wrote:
 What about using memcache as keeping cache version counter ? When
 update is needed than this counter is increased. Every requests keeps
 local number and at the beginning compare local counter against
 memcache counter. If not equal than refresh local cache and local
 cache number.
 If memcache counter if not available (expired) than assume it as equal
 0 and behave accordingly. It could mean unnecessary cache refreshing
 from time to time if memcache expires.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] about missing values

2009-10-19 Thread Prashant
hi,

i added a new column to my data table, as it is newly added it is showing
missing as column values in datastore. now i want to initialize those
missing values to some value, say 0. how do i do that programmatically? i
tried using column == null as filter but that doesn't work.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Task Queue Quota

2009-10-19 Thread Tung Tran

I'm using Task Queue quite a bit in my app, and it finally hit the
10,000 quota last night. At the time the dashboard said the quota will
be reset in 3 hours, which I guess it'd be at midnight PST. This
morning however it is still not reset, and now the dashboard says the
quota reset time will be in 18 hours.

Are there anyone having the same issue? I don't know if it'd get reset
today. There is still no billable quota for the task queue so event if
I'd like to pay for extra quota I can't, for now.

Appreciate any insights.
Regards,
Tung
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Task Queue Quota

2009-10-19 Thread Prashant
 i heard 100,000 is task queue quota when billing is enabled.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: How to get eclipse with google app engine plugin to copy jars to /war/WEB-INF/lib

2009-10-19 Thread Jason Parekh
Hi Esteban,
That seems like a reasonable use case.  There is a feature request to allow
configurable severity of problems, I'd recommend you star it.  See
http://code.google.com/p/google-web-toolkit/issues/detail?id=3902 .

Thanks,
jason

On Sat, Oct 17, 2009 at 3:24 PM, Esteban Ignacio Masoero 
emaso...@getsense.com.ar wrote:

 I noticed that as brendan says, if you add external jars that are not
 located in war/WEB-INF/lib, a warning appears. However, I'd like to be able
 to specify that I want that jar to be excluded from the server's
 classpath, and consecuently stop getting that warning.

 What do you think?

 Esteban


 On Mon, Sep 28, 2009 at 11:15 AM, Jason Parekh jasonpar...@gmail.comwrote:

 Thanks for pointing this out Brendan, I've opened bug
 http://code.google.com/p/google-web-toolkit/issues/detail?id=4083 .
 Roy, I tried exporting (i.e. ticking under order/export) the user library
 and the warning was still missing.

 jason


 On Sun, Sep 27, 2009 at 10:38 PM, Roy Smith roy.smith@googlemail.com
  wrote:

 I haven't tested this, but is the issue simply that you haven't ticked
 the jars/libraries in the Order/Export tab?


 On Sun, Sep 27, 2009 at 10:59 PM, brendan brendanpdohe...@gmail.comwrote:


 After reading the other thread and doing some testing, I have found
 how to get the warning in the problems view.

 On the Project Properties  Java Build Path  Libraries screen in
 eclipse, I had been clicking the 'Add Library' button, then selecting
 'User Library', and then selecting or creating a new user library.
 This was handy because I could group together several jars (such as
 guice-2.0.jar, aopalliance.jar and guice-servlet.jar) as one thing I
 called GUICE_2_0.  However I don't get the warning in problems view.

 Instead from the Project Properties  Java Build Path  Libraries
 screen in eclipse, I should have clicked the 'Add External Jars'
 button, and then selected the jars individually. I now get warnings
 for each jar in problems view.  Something like The following
 classpath entry 'C:\temp\jar\aopalliance.jar' will not be available on
 the server's classpath.

 On Sep 22, 2:05 am, Allen Firstenberg g...@addventure.com wrote:
  This issue was first raised back on April 16th:
 http://groups.google.com/group/google-appengine-java/browse_thread/th.
 ..
 
  At the time, the Google team gave a couple of suggestions, admitted
 that
  some work needed to be done in this area, and said that they were
 tracking
  this internally.  If there has been an update to the issue since -
 I've
  missed it.
 
 
 
  On Mon, Sep 21, 2009 at 8:12 AM, brendan brendanpdohe...@gmail.com
 wrote:
 
   I've just spent a couple hours tracking down an issue.  It turns out
   that i was missing gin.jar and junit.jar from my /war/WEB-INF/lib
   directory.
 
   Using eclipse I have specified a number of User Libraries, and
 have
   added those to the Libraries section of the Java Build path in my
   project properties.
 
   It would be handy if the jars specified in the User Libraries
 section
   were copied over to /war/WEB-INF/lib automatically.  Otherwise I
 worry
   what happens when I update the central location where the jars are
   stored, but forget to copy some of them over to /war/WEB-INF/lib.
 
   Thanks,
   Brendan









 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Load order WEB-INF/classes not always before WEB-INF/*.jar?

2009-10-19 Thread Marc Guillemot

Hi,

my application encounters occasionally strange errors that I can only 
explain by an incorrect load order (Servlet spec specifies that the 
webapp class loader must load first from WEB-INF/classes and then from 
WEB-INF/lib/*.jar). Is it possible?

For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 
classes and I've put my hacked version of these classes in 
WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This 
means that these two classes exist twice in the classpath what should 
not be a problem as WEB-INF/classes has priority but some error messages 
show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used 
from time to time.

Cheers,
Marc.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Spring MVC and fileupload

2009-10-19 Thread Abhinav Lele
Hi,
I have been trying to upload a file
using is.hax.spring.web.multipart.StreamingMultipartResolver (
http://github.com/pjesi/springextras ). Can anyone post an example code
including the code for PropertyEditorSupport (if required)and the bean
definition.

[
http://groups.google.com/group/google-appengine-java/browse_thread/thread/c035d054f0715b6a?pli=1#]
this didn't help. Please help.

--
Abhinav

-_[No constructors were harmed in the writing of this post. Any resemblance
to objects living or dead is purely coincidental]_-

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException

2009-10-19 Thread Marc Guillemot

Hi,

any progress on this issue?

Is it possible that it comes from a bug in Jasper, not able to recognize 
RuntimeException occurring in a PrivilegedExceptionAction?

// org.apache.jasper.runtime.PageContextImpl

public void handlePageException(final Throwable t) throws IOException,
 ServletException {
   if (t == null)
 throw new NullPointerException(null Throwable);

   if (SecurityUtil.isPackageProtectionEnabled()) {
 try {
   AccessController.doPrivileged(
   new PrivilegedExceptionActionVoid() {
 public Void run() throws Exception {
   doHandlePageException(t);
   return null;
 }
   });
 } catch (PrivilegedActionException e) {
   Exception ex = e.getException();
   if (ex instanceof IOException) {
 throw (IOException) ex;
   } else {
 throw (ServletException) ex; -- here?
   }
 }
   } else {
 doHandlePageException(t);
   }

}

Cheers,
Marc.

Toby Reyelts a écrit :
 There's an outstanding issue in the version of Jasper App Engine is 
 currently using that can cause exceptions escaping a JSP to be 
 incorrectly cast to ServletException. As a temporary workaround, you can 
 wrap the body of your JSP in a try-catch block to get the actual exception.
 
 On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek blessedg...@gmail.com 
 mailto:blessedg...@gmail.com wrote:
 
 
 http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp
 
 Any idea what this error log means? LoggedIn.jsp is a rather simple
 jsp, getting a temp authtoken and exchanging it for a permanent one.
 My app runs fine on local eclipse plugin, but on deployment this error
 resulted.
 
 07-30 07:30AM 49.848
 /TableMgr/LoggedIn.jsp
 java.lang.ClassCastException: java.lang.NullPointerException cannot be
 cast to javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException
 (PageContextImpl.java:754)
 
 
 
 
  


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Load order WEB-INF/classes not always before WEB-INF/*.jar?

2009-10-19 Thread Toby Reyelts
Hey Marc,
We're not aware of this being a problem. As far as we know, we're conforming
to the standard by preferring classes in WEB-INF/lib. Can you reproduce this
definitively? For example, check the value of
TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation().
If you can provide a sample app that shows this behavior, that would be
great.

On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.frwrote:


 Hi,

 my application encounters occasionally strange errors that I can only
 explain by an incorrect load order (Servlet spec specifies that the
 webapp class loader must load first from WEB-INF/classes and then from
 WEB-INF/lib/*.jar). Is it possible?

 For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2
 classes and I've put my hacked version of these classes in
 WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This
 means that these two classes exist twice in the classpath what should
 not be a problem as WEB-INF/classes has priority but some error messages
 show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used
 from time to time.

 Cheers,
 Marc.

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Load order WEB-INF/classes not always before WEB-INF/*.jar?

2009-10-19 Thread Toby Reyelts
On Mon, Oct 19, 2009 at 11:26 AM, Toby Reyelts to...@google.com wrote:

 Hey Marc,
 We're not aware of this being a problem. As far as we know, we're
 conforming to the standard by preferring classes in WEB-INF/lib.


Sorry, that should be preferring classes in WEB-INF/classes.


 Can you reproduce this definitively? For example, check the value of
 TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation().
 If you can provide a sample app that shows this behavior, that would be
 great.


 On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.frwrote:


 Hi,

 my application encounters occasionally strange errors that I can only
 explain by an incorrect load order (Servlet spec specifies that the
 webapp class loader must load first from WEB-INF/classes and then from
 WEB-INF/lib/*.jar). Is it possible?

 For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2
 classes and I've put my hacked version of these classes in
 WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This
 means that these two classes exist twice in the classpath what should
 not be a problem as WEB-INF/classes has priority but some error messages
 show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used
 from time to time.

 Cheers,
 Marc.

 



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException

2009-10-19 Thread Don Schwarz
Yes, this is:
https://issues.apache.org/bugzilla/show_bug.cgi?id=31171

We need to bundle a later version of Jasper with the App Engine SDK to fix
this.

On Mon, Oct 19, 2009 at 10:24 AM, Marc Guillemot mguille...@yahoo.frwrote:


 Hi,

 any progress on this issue?

 Is it possible that it comes from a bug in Jasper, not able to recognize
 RuntimeException occurring in a PrivilegedExceptionAction?

 // org.apache.jasper.runtime.PageContextImpl

 public void handlePageException(final Throwable t) throws IOException,
 ServletException {
   if (t == null)
 throw new NullPointerException(null Throwable);

   if (SecurityUtil.isPackageProtectionEnabled()) {
 try {
   AccessController.doPrivileged(
   new PrivilegedExceptionActionVoid() {
 public Void run() throws Exception {
   doHandlePageException(t);
   return null;
 }
   });
 } catch (PrivilegedActionException e) {
   Exception ex = e.getException();
   if (ex instanceof IOException) {
 throw (IOException) ex;
   } else {
 throw (ServletException) ex; -- here?
   }
 }
   } else {
 doHandlePageException(t);
   }

 }

 Cheers,
 Marc.

 Toby Reyelts a écrit :
  There's an outstanding issue in the version of Jasper App Engine is
  currently using that can cause exceptions escaping a JSP to be
  incorrectly cast to ServletException. As a temporary workaround, you can
  wrap the body of your JSP in a try-catch block to get the actual
 exception.
 
  On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek blessedg...@gmail.com
  mailto:blessedg...@gmail.com wrote:
 
 
  http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp
 
  Any idea what this error log means? LoggedIn.jsp is a rather simple
  jsp, getting a temp authtoken and exchanging it for a permanent one.
  My app runs fine on local eclipse plugin, but on deployment this
 error
  resulted.
 
  07-30 07:30AM 49.848
  /TableMgr/LoggedIn.jsp
  java.lang.ClassCastException: java.lang.NullPointerException cannot
 be
  cast to javax.servlet.ServletException
 at
 org.apache.jasper.runtime.PageContextImpl.handlePageException
  (PageContextImpl.java:754)
 
 
 
 
  


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Load order WEB-INF/classes not always before WEB-INF/*.jar?

2009-10-19 Thread Marc Guillemot

Hi Toby,

thanks for the quick answer. I'll open an issue if I'm able to make the 
problem reproducible.

Cheers,
Marc.

Toby Reyelts a écrit :
 Hey Marc,
 
 We're not aware of this being a problem. As far as we know, we're 
 conforming to the standard by preferring classes in WEB-INF/lib. Can you 
 reproduce this definitively? For example, check the value of 
 TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation().
  
 If you can provide a sample app that shows this behavior, that would be 
 great.
 
 On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.fr 
 mailto:mguille...@yahoo.fr wrote:
 
 
 Hi,
 
 my application encounters occasionally strange errors that I can only
 explain by an incorrect load order (Servlet spec specifies that the
 webapp class loader must load first from WEB-INF/classes and then from
 WEB-INF/lib/*.jar). Is it possible?
 
 For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2
 classes and I've put my hacked version of these classes in
 WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This
 means that these two classes exist twice in the classpath what should
 not be a problem as WEB-INF/classes has priority but some error messages
 show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used
 from time to time.
 
 Cheers,
 Marc.
 
 
 
 
  


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException

2009-10-19 Thread Marc Guillemot

This seems to be a really old issue that relates to something 
different... or do you mean that GAE uses a 5 years old version of Jasper?

I've just look at the current sources of PageContextImpl
http://svn.apache.org/repos/asf/tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java
and it seems to me that the problem still exists there.

Cheers,
Marc.

Don Schwarz a écrit :
 Yes, this is:
 
 https://issues.apache.org/bugzilla/show_bug.cgi?id=31171
 
 We need to bundle a later version of Jasper with the App Engine SDK to 
 fix this.
 
 On Mon, Oct 19, 2009 at 10:24 AM, Marc Guillemot mguille...@yahoo.fr 
 mailto:mguille...@yahoo.fr wrote:
 
 
 Hi,
 
 any progress on this issue?
 
 Is it possible that it comes from a bug in Jasper, not able to recognize
 RuntimeException occurring in a PrivilegedExceptionAction?
 
 // org.apache.jasper.runtime.PageContextImpl
 
 public void handlePageException(final Throwable t) throws IOException,
 ServletException {
   if (t == null)
 throw new NullPointerException(null Throwable);
 
   if (SecurityUtil.isPackageProtectionEnabled()) {
 try {
   AccessController.doPrivileged(
   new PrivilegedExceptionActionVoid() {
 public Void run() throws Exception {
   doHandlePageException(t);
   return null;
 }
   });
 } catch (PrivilegedActionException e) {
   Exception ex = e.getException();
   if (ex instanceof IOException) {
 throw (IOException) ex;
   } else {
 throw (ServletException) ex; -- here?
   }
 }
   } else {
 doHandlePageException(t);
   }
 
 }
 
 Cheers,
 Marc.
 
 Toby Reyelts a écrit :
   There's an outstanding issue in the version of Jasper App Engine is
   currently using that can cause exceptions escaping a JSP to be
   incorrectly cast to ServletException. As a temporary workaround,
 you can
   wrap the body of your JSP in a try-catch block to get the actual
 exception.
  
   On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek
 blessedg...@gmail.com mailto:blessedg...@gmail.com
   mailto:blessedg...@gmail.com mailto:blessedg...@gmail.com wrote:
  
  
   http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp
  
   Any idea what this error log means? LoggedIn.jsp is a rather
 simple
   jsp, getting a temp authtoken and exchanging it for a
 permanent one.
   My app runs fine on local eclipse plugin, but on deployment
 this error
   resulted.
  
   07-30 07:30AM 49.848
   /TableMgr/LoggedIn.jsp
   java.lang.ClassCastException: java.lang.NullPointerException
 cannot be
   cast to javax.servlet.ServletException
  at
 org.apache.jasper.runtime.PageContextImpl.handlePageException
   (PageContextImpl.java:754)
  
  
  
  
   
 
 
 
 
 
  


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: GAE Performance

2009-10-19 Thread Diana Cruise

Shawn, the docs link you site is riddled with numbers (easy to get
lost in them and what they truely mean)...which is why I included a
simplest of scenarios above, that being to simply add a home
addressbook entry attached to a User.  Surely someone has a sizeable
production system today in GAE that could share load results and real
costs.  If noone does, then that is also very troubling.

Gaurav, I assume too that reading is NOT the problem and by this post
am hoping to get real-world numbers to a simple update transaction.
But, we need production app feedback from the most popular apps out
there.  Is there such a list for Java for GAE yet?  Surely, there are
large production apps by now?

On Oct 19, 2:17 am, Gaurav ano...@gmail.com wrote:
 GAE performs best for simultaneous read operations. So there could be
 virtually any no.
 of users reading at the same time, no issue. But when it comes to
 making updates
 performance degradation is significant.
 To get a better understanding of how gae performs under heavy load, I
 recommend
 this video :http://www.youtube.com/watch?v=AgaL6NGpkB8

 On Oct 19, 7:09 am, Shawn Brown big.coffee.lo...@gmail.com wrote:



  Hi,

   I have read that a particular User can process 1-10 request per
   second.  Is this a limit of the free quota or does paid quota also
   have this limitation.

  Where and what did you read?

  That doesn't seem consistent with the published limits.  I guess it
  depends on what they were doing with the 
  app.http://code.google.com/appengine/docs/quotas.html

  Shawn- Hide quoted text -

 - Show quoted text -
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: receiving mail demo

2009-10-19 Thread Don Schwarz
Prashant, are you following the directions at:
http://code.google.com/appengine/docs/java/mail/receiving.html

?

On Mon, Oct 19, 2009 at 3:42 AM, Prashant antsh...@gmail.com wrote:

 msg.getContent ()  should return Multipart but here in GAE it returns
 ByteArrayInputStream . i tried reading Object after wrapping
 ByteArrayInputStream into ObjectStream but it doesn't work this way either.


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Load order WEB-INF/classes not always before WEB-INF/*.jar?

2009-10-19 Thread Toby Reyelts
If you can send your app-id (privately if you want), we'll see if we can
investigate some on our end.

On Mon, Oct 19, 2009 at 11:35 AM, Marc Guillemot mguille...@yahoo.frwrote:


 Hi Toby,

 thanks for the quick answer. I'll open an issue if I'm able to make the
 problem reproducible.

 Cheers,
 Marc.

 Toby Reyelts a écrit :
  Hey Marc,
 
  We're not aware of this being a problem. As far as we know, we're
  conforming to the standard by preferring classes in WEB-INF/lib. Can you
  reproduce this definitively? For example, check the value of
 
 TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation().
  If you can provide a sample app that shows this behavior, that would be
  great.
 
  On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.fr
  mailto:mguille...@yahoo.fr wrote:
 
 
  Hi,
 
  my application encounters occasionally strange errors that I can only
  explain by an incorrect load order (Servlet spec specifies that the
  webapp class loader must load first from WEB-INF/classes and then
 from
  WEB-INF/lib/*.jar). Is it possible?
 
  For the details: to allow HtmlUnit to work with AppEngine, I've
 hacked 2
  classes and I've put my hacked version of these classes in
  WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This
  means that these two classes exist twice in the classpath what should
  not be a problem as WEB-INF/classes has priority but some error
 messages
  show that the original version in WEB-INF/lib/htmlunit-x.x.jar is
 used
  from time to time.
 
  Cheers,
  Marc.
 
 
 
 
  


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: receiving mail demo

2009-10-19 Thread Prashant
yes, every thing is working fine except that I am not able to fetch message
body in suitable format.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Eclipse Plugin and add libraries

2009-10-19 Thread Bobby Hargett Jr.

I am not a eclipse plugin in pro, but I think that when I add a user
library to my java app engine project it select it to be exported, I
get runtime errors saying the classes could not be found.  The only
way to get it to work is by copying it by had to the lib directory.
Is this a bug in the plugin?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: JPA and Scala

2009-10-19 Thread Mark Essel

Hello Chris. I'm also interested in building a scala app on the Google
App Engine. I have a simple working (empty) lift/scala template here:
http://dl.getdropbox.com/u/1127092/lift4gaeTEMPLATE.zip

But I haven't been able to cross the bridge from scala GAE app to wave
robot.
As I understand it there are examples of java wave robots floating
around so I tried using their guidance
Settings for bots: http://code.google.com/apis/wave/extensions/robots/
Java wave bot: http://www.vogella.de/articles/GoogleWave/article.html#robot

Once I get this working I'll add it the code/how to information to
this google wave:
https://wave.google.com/wave/#restored:search:by%253Ame,restored:wave:googlewave.com!w%252BRz-PM7LmK




On Oct 14, 1:02 am, chrislewis burningodzi...@gmail.com wrote:
 Hi all,

 I've spent hours wrestling with getting some form of a working dev
 environment for aScala(Lift) app on app engine. Gettingscalagoing
 is cake, lift not much harder. The pain point is using the datastore.
 Given the choice between JDO and JPA, I'm choosing JPA. After spending
 hours getting a frankenbuild working, I'm now at issues with the
 datastore that have me stumped. Using the following class,
 successfully built and enhanced, appengine (under eclipse) throws the
 following error when I try to merge() an entity:

 javax.jdo.JDOFatalInternalException: It's illegal to call
 jdoCopyKeyFieldsToObjectId for a class with SingleFieldIdentity.

 The class:

 import javax.persistence._

 @Entity
 class Author {

   @Id
   @GeneratedValue{ val strategy = GenerationType.IDENTITY }
   var id: java.lang.Long = _

   var name: String = _

 }

 Can anyone shed some light on this? Thanks!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Memory Limit

2009-10-19 Thread Joebi

Hi,

I have a web application which does some search and refines the
results using NLP techniques.
When I load this web app, I use an initialization servlet to load the
model files and other related resources in the memory. But I am
getting an error saying Error: Server Error. The server encountered
an error and could not complete your request.

I am trying to see how to increase the VM size while deploying the
application. In my local development server of app engine, I have set -
Xms1024m -Xmx2048m. Is there a way to specify this limit for the
production deployment ? Do I have to take any other route to
circumvent this problem ?

thanks for ur thots and time
Joe

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Is JDO really recommended?

2009-10-19 Thread 荒浪一城

Hi all.

Is there a person who has dissatisfaction in current JDO?
Do not you think that the solution is low-level API?


When JDO is used, it is easy for us who become accustomed to the O/R
mapping possibly.
You might think solving. I think that I am also certainly easy.
However, I think that it is a trap.


When JDO is used to some degree, the limit is sure to be seen.
It tries to apply the specification made for RDBMS to a different
Key-Value type data store by force originally.
And, do you really solve it?


I think that I should grope for the specification and the method of
agreement to it in the Key-Value type data store.


In JDO and low-level API, the performance is also different at all.
JDO high performance certainly.
However, there is still a lot of trouble in JDO. Low-level API is a
low function like the name.


However, low-level API is simple and low the study cost.
Moreover, the performance is high, and mysterious existence to seem to
teach us a mystery the data store original.
Naturally, the rapper that covers low-level API is needed.


Do not you misinterpret it though original architecture is different?
DLL hell, XML hell, and annotation hell. My anxiety is to become a nest hell.


I think that I should deepen the discussion more.
To begin with, the aspect of API design that is appropriate for the
Key-Value type data store is also necessary.


Even if the individual (one) says dissatisfaction, it is likely to be
disregarded.
However, if everyone thinks like that, it becomes a request of the market.


I'm sorry in poor English. This is an automatic translation.



-- 
---
 Kazuki Aranam)

 Email: kazuki.aran...@gmail.com
 http://d.hatena.ne.jp/kazuki-aranami/
 ---

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] How much time should it take to upload(deploy) a new version of an application?

2009-10-19 Thread pradeep

Hi,
   It takes me around 2 hours or so to deploy my simple application
with 5 jsp s and 2 Java files. Is this normal? Should it take this
much time to deploy? I have 128kbps internet connection.

I tried with appcfg.sh as well as Eclipse plugin.

Pasting my console:

sprad...@spradeep-laptop:~/eclipse_goog/plugins/
com.google.appengine.eclipse.sdkbundle_1.2.6.v200910130758/appengine-
java-sdk-1.2.6/bin$ ./appcfg.sh update /home/spradeep/app/war
Reading application configuration data...
Beginning server interaction for app-pradeep...
0% Creating staging directory
5% Scanning for jsp files.
8% Compiling jsp files.
11% Compiling java files.
20% Scanning files on local disk.
25% Initiating update.
28% Cloning 3 static files.
31% Cloning 41 application files.
40% Uploading 13 files.
Takes 20 to 30 mins.No Network activity in system
monitor.
Uploaded 3 files
Takes 20 to 30 mins.No Network activity in system
monitor.
etc

Thanks!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Error 500 - Loading data to memory during startup

2009-10-19 Thread Joe Prasanna kumar
Hi,
I am working with my friend to build an app (hoogentia.appspot.com) which
requires loading some learned model files to memory. I have a startup
servlet that does this (loading model files to memory). Since it needs more
mem, I run this app in dev mode with memory setting of -Xms1024m -Xmx2048m. I
dont have any issues in development but when i deploy it to app engine and
access my application, the startup servlet is invoked and it comes up with
an Error 500. I am not getting any useful info from the logs. I am assuming
the issue is with jvm settings for app engine in production. I looked at
this thread (
http://groups.google.com/group/google-appengine-java/browse_thread/thread/031d8875b6c8f1a7)
and modified appcfg.sh to
java -Xmx2000m -cp $SDK_LIB/appengine-tools-api.jar \
com.google.appengine.tools.admin.AppCfg $* 

After doing an update, I still get the 500 Error.
In dev mode, it takes like 80 seconds for the model to get loaded in memory.

Any thoughts / help / suggestions greatly appreciated,
thanks
Joe.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] programatically upload files to datastore

2009-10-19 Thread Houston startup coder

I need to upload images, sound files and text documents from a mostly
standalone client PC application to a GAE app. I'm following the file
upload example in the Google App Engine for Java documentation and
using the Apache Commons ServletFileUpload to stream in the data and
then save it with the PersistenceManager.

Uploading through a servlet seems just fine, but I took a step back to
wonder whether a servlet was the best way to upload these files to GAE
since this isn't a human choosing files on a webpage but rather some
software programatically sending the files up to the server.  Is a
servlet my best choice in this case?

Thanks...

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] XMPP bot and Java applets

2009-10-19 Thread Backpack

Hi guys, in my never ending quest to enable xmpp bots in html using
javascript, now I decided to try the java applet approach.

Here is how I think it should be done, easy for the consumer is my
motto:

applet id='xmpp' code='xmpp.class' width=0 height=0 /

// javascript methods
xmpp = document.applets['xmpp']
xmpp.connect('talk.google.com','5223')
xmpp.login('myjid','mypass')
xmpp.chat('my...@appspot.com')
xmpp.send('hi bot')
xmpp.disconnect()

// javascript events
xmpp.onreceived(message){ alert(message); }
xmpp.onerror(message){ alert(message); }

So, in essence, just basic javascript stuff to connect to our java
applet and start sending messages back and forth to our appengine bot.

The xmpp javascript lib will be just an interface to the java applet
methods which will do the heavy work.

Now the question, is anybody interested in joining such a project? My
java knowledge is rusty and I'm gonna need all the help a java guru
can provide.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Servelts versus JSPS

2009-10-19 Thread Hung

So i've been a little confused about the different responsibilities of
Servlets versus JSP.  I'm very new the GAE and got confused when
looking at the guestbook tutorial.  It seems that
GuestBookServlet.java has no responsibilities after guestbook.jsp was
created.  However, the mapping of it in the xml says otherwise.  I
know we should keep responsibilities between levels separate and it
seems to me that the JSP should be responsible purely with the user
interface and the servlets should be in charge of compiling all the
data and deciding which datastore object i should be storing it to.

If anyone could help clear this up for me that would be really
helpful.

Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Gradual move from XAMPP to app engine

2009-10-19 Thread Itzik Yatom

Hi all

I have been developing web sites using GWT at the client and Apache
web server with PHP and My SQL DB.
The server side is responsible for data access, mail and some other
server jobs

These days I am considering using Google App engine as my server. I
don't want to through all the code I have written in PHP and develop
everything from scratch.

My question is there a way to combine in a web site HTTP calls to the
Apache server and to the app engine, both from a browser client that
is developed with GWT.

Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Where to report an error?

2009-10-19 Thread Joe


I am getting this error since Friday Oct. 16th:

Error: Server Error
The server encountered an error and could not complete your request.

If the problem persists, please report your problem and mention this
error message and the query that caused it.


The stack trace tells me very little about the error. Stranger still,
everything worked, and I made no changes, this error just starting
happening. I waited over the weekend to see if it would go away, but
no dice.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Failing to retrieve child-objects in a one-to-many JDO relation in datastore

2009-10-19 Thread Lars

Hi,
I am failing to retrieve child-objects in a one-to-many JDO relation
in the datastore. The case is as follows;

I have two classes (Parent  Child, code-snippet below) with a defined
one-to-many relation.
It is no problem storing the structure with the 'store'-operation
defined below. This is easily verified by web-browsing the datastore.

However, when retrievning the parent-object from the datastore
('fetchParents'), the ''childs' attribute is always null. What must be
done to (auto-)populate this attribute from the datastore?
Also, the 'parent'-attribute of the Child-objects will also be null if
they are fetched in a similar way.

All clues appreciated...

Lars

- - - - - - - Code samples below - - - - - -

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class ParentDTO  {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName=datanucleus, key=gae.encoded-pk,
value=true)
private String encodedKey;

@Persistent
public String name;

@Persistent(mappedBy=parent)
public ListChild childs;

public ParentDTO()
{

}

public void add(Child c)
{
if (childs == null)
childs = new ArrayListChild();
kids.add(c);
}
}

 - - - -

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Child {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName=datanucleus, key=gae.encoded-pk,
value=true)
public String encodedKey;
@Persistent
public String name;

@Persistent
public Parent parent;

public Child()
{
}

public String getEncodedKey() {
return encodedKey;
}
}

- - - - -

Storing to datastore (works perfectly)

public void store()
{
Parent p = new Parent();
p.navn = nils;

Child c = new Child();
c.name = jim;
p.add(c);

c = new ChildDTO();
c.name = anne;
p.add(c);

PersistenceManager pm = 
PMF.get().getPersistenceManager();
try {
pm.makePersistent(p);
} catch (Exception ee) {
res = ee.getMessage();
} finally {
pm.close();
}
}

 - - - - - - Fetching data (not working)

public String fetchParents()
{
String res = ;
PersistenceManager pm = PMF.get().getPersistenceManager();

javax.jdo.Query query = pm.newQuery(Parent.class);
ListParent parents = (ListParent) query.execute();
IteratorParent iterF = parents.iterator();
while (iterF.hasNext()) {
Parent f = iterF.next();
res = res + : + f.name;
if (f.childs != null) { // this is the problem 
- 'this.childs' is
always null
IteratorChild iterI = 
f.childs.iterator();
while (iterI.hasNext()) {
Child idto = iterI.next();
res = res +  + idto.name;
}
}
}
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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: JPA vs. JDO: Different naming convention when mapping to Entity (uppercase vs. case sensitive)

2009-10-19 Thread Max Ross
I'm glad you found it easy to switch, that's what we want to hear!

Max

On Sun, Oct 18, 2009 at 7:13 AM, Raphael André Bauer 
raphael.andre.ba...@gmail.com wrote:


 On Fri, Oct 16, 2009 at 10:09 PM, Max Ross 
 maxr+appeng...@google.commaxr%2bappeng...@google.com
 wrote:
  I'm surprised to hear that you're getting USER with JDO as opposed to
 User.
  Can you send me your jdoconfig.xml?  Are you passing any additional
 options
  when you create the PersistenceManagerFactory?
 
  FYI everything you need to know about changing this behavior is here, but
 it
  shouldn't be necessary on App Engine because our JDO/JPA implementation
  defaults to PreserveCase
 
 http://www.datanucleus.org/products/accessplatform_1_0/jdo/orm/datastore_identifiers.html

 Hey Max,

 thanks for your quick reply. After cleaning up I saw that my build
 process copied a wrong jdoconfig.xml causing the uppercase behaviour.
 Thanks for pointing me to that.

 Maybe it's interesting for you (@google) to know that it is pretty
 straight forward to change from JPA to JDO. I did not use any fancy
 JPA features, but all I had to do is updating my persistent classes
 and creating the default jdoconfig.xml. My app now runs with JDO and
 there was no need to convert the raw data in the datastore. Nice :)


 Raphael
 
  Max
  On Fri, Oct 16, 2009 at 10:52 AM, Raphael André Bauer
  raphael.andre.ba...@gmail.com wrote:
 
  Hi,
 
 
  I am currently trying to switch my app from JPA to JDO.
  Works fine, but there is one stopper in the moment:
 
  A class called User will be stored as Entity User by JPA and as
  Entity USER by JDO.
 
  Is there a way to tell JDO (or datanucleus) to retain the
  upper/lowercase chars when creating a mapping from a class to an
  entity by default?
 
 
  thanks,
 
  ra
 
 
 
 
  
 

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: programatically upload files to datastore

2009-10-19 Thread Abhinav Lele
Could you share your code for the servlet that handles file uploads. I have
been not able to get that working. Thanks in advance
--
Abhinav

-_[No constructors were harmed in the writing of this post. Any resemblance
to objects living or dead is purely coincidental]_-


On Mon, Oct 19, 2009 at 7:40 AM, Houston startup coder 
stephenh...@gmail.com wrote:


 I need to upload images, sound files and text documents from a mostly
 standalone client PC application to a GAE app. I'm following the file
 upload example in the Google App Engine for Java documentation and
 using the Apache Commons ServletFileUpload to stream in the data and
 then save it with the PersistenceManager.

 Uploading through a servlet seems just fine, but I took a step back to
 wonder whether a servlet was the best way to upload these files to GAE
 since this isn't a human choosing files on a webpage but rather some
 software programatically sending the files up to the server.  Is a
 servlet my best choice in this case?

 Thanks...

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Selecting more than 1000 rows ?

2009-10-19 Thread Jason (Google)
You can use setRange if you want to retrieve entities from a specified
offset from the start of the results list, which comes in handy for paging.
You can also use it to set a limit, capping the number of returned results.

- Jason

On Wed, Oct 14, 2009 at 3:22 AM, Sreekanth Raju sraj...@gmail.com wrote:

 then what is the use of

 query.setRange()


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: The request to API call datastore_v3.Put() was too large exception

2009-10-19 Thread Jason (Google)
Thanks for following up, Pion. The maximum entity limits in the local
development environment should mirror the limits/quotas in the production
environment, meaning you should see an error when passing more than 500
entities into put(). Please post a new bug report to the issue tracker, and
thanks for the catch.

http://code.google.com/p/googleappengine/issues/list

- Jason

On Wed, Oct 14, 2009 at 12:49 PM, Pion onlee2...@gmail.com wrote:


 Thanks Jason.

 This is local environment during my stress test. I have not uploaded
 this app on the production yet.
 I have set the limit per your advice below.

 Again, thanks.

 On Oct 14, 11:18 am, Jason (Google) apija...@google.com wrote:
  Did you see this in the local development environment or production?
  According tohttp://
 code.google.com/appengine/docs/java/datastore/overview.html#Qu...,
  the maximum number of entities for any batch write is 500. If you're not
  running this in production, I would first try running this there since
  you'll likely run into the 30 second request time limit when trying to
  persist such a large number of entities in a single request. You should
 look
  into task queues to split this write into several requests/tasks.
  - Jason
 
  On Sun, Oct 11, 2009 at 3:09 PM, Pion onlee2...@gmail.com wrote:
 
   I am using java.util.ListKey put(java.lang.IterableEntity
   entities) as shown on
 
  http://code.google.com/appengine/docs/java/javadoc/com/google/appengi.
 ..
   .
 
   I received the The request to API call datastore_v3.Put() was too
   large. exception -- see the details below.
 
   I put 3,600+ entities. I tested with 3,000 entities without any
   problem.
 
   Is there any method to find out the max entities could be put?
 
   Thanks in advance for your help.
 
   com.google.apphosting.api.ApiProxy$RequestTooLargeException: The
   request to API call datastore_v3.Put() was too large.
  at
   com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall
   (ApiProxyLocalImpl.java:97)
  at
 com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:79)
  at
   com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall
   (DatastoreApiHelper.java:48)
  at com.google.appengine.api.datastore.DatastoreServiceImpl$2.run
   (DatastoreServiceImpl.java:170)
  at
   com.google.appengine.api.datastore.TransactionRunner.runInTransaction
   (TransactionRunner.java:30)
  at com.google.appengine.api.datastore.DatastoreServiceImpl.put
   (DatastoreServiceImpl.java:158)
  at com.google.appengine.api.datastore.DatastoreServiceImpl.put
   (DatastoreServiceImpl.java:144)
  at com.col.server.MDsIriQueue.add(MDsIriQueue.java:55)
  at com.col.server.TMDsIriQueue.testAdd2(TMDsIriQueue.java:63)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke
   (NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke
   (DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at junit.framework.TestCase.runTest(TestCase.java:164)
  at junit.framework.TestCase.runBare(TestCase.java:130)
  at junit.framework.TestResult$1.protect(TestResult.java:106)
  at junit.framework.TestResult.runProtected(TestResult.java:124)
  at junit.framework.TestResult.run(TestResult.java:109)
  at junit.framework.TestCase.run(TestCase.java:120)
  at junit.framework.TestSuite.runTest(TestSuite.java:230)
  at junit.framework.TestSuite.run(TestSuite.java:225)
  at org.junit.internal.runners.JUnit38ClassRunner.run
   (JUnit38ClassRunner.java:79)
  at
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
   (JUnit4TestReference.java:46)
  at org.eclipse.jdt.internal.junit.runner.TestExecution.run
   (TestExecution.java:38)
  at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
   (RemoteTestRunner.java:467)
  at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
   (RemoteTestRunner.java:683)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
   (RemoteTestRunner.java:390)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
   (RemoteTestRunner.java:197)
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: ETA is invalid in hosted development environment

2009-10-19 Thread Max Ross
Hi Victor,

There is a bug in the local task queue implementation that considers some
legal ETA values to be invalid.  We've already made the fix but
unfortunately we didn't get it into 1.2.6 so it won't be available until
1.2.7.

Max

On Sun, Oct 18, 2009 at 9:02 AM, victor victoraco...@gmail.com wrote:


 I keep getting this error when I use the TaskOptions.etaMillis
 option in task queue. I do not get this error when I deploy my app in
 google app engine. If anybody has some clues that will be great.

 SEVERE: ETA is invalid :
 java.lang.IllegalArgumentException: ETA is invalid :
at
 com.google.appengine.api.labs.taskqueue.QueueApiHelper.translateError
 (QueueApiHelper.java:86)
at
 com.google.appengine.api.labs.taskqueue.QueueApiHelper.makeSyncCall
 (QueueApiHelper.java:32)
at com.google.appengine.api.labs.taskqueue.QueueImpl.add
 (QueueImpl.java:220)
at com.google.appengine.api.labs.taskqueue.QueueImpl.add
 (QueueImpl.java:210)
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Memory Limit

2009-10-19 Thread Philippe Marschall



On Oct 17, 12:09 pm, Joebi joebi.m...@gmail.com wrote:
 Hi,

 I have a web application which does some search and refines the
 results using NLP techniques.
 When I load this web app, I use an initialization servlet to load the
 model files and other related resources in the memory. But I am
 getting an error saying Error: Server Error. The server encountered
 an error and could not complete your request.

 I am trying to see how to increase the VM size while deploying the
 application. In my local development server of app engine, I have set -
 Xms1024m -Xmx2048m. Is there a way to specify this limit for the
 production deployment ?

No. You might find some reverseengineered  information about the
limits here:

http://kohlerm.blogspot.com/2009/04/some-facts-about-java-used-by-googles.html

Cheers
Philippe
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Tutorial for datastore with low-level api?

2009-10-19 Thread Jason (Google)
Currently, most datastore examples use JDO, and the only official
documentation available for the low-level API are the Javadocs that you
linked to in your first post. It's a fairly straightforward API, however, so
you shouldn't need too much training. Just get a reference to a
DatastoreService instance and use it to get and retrieve Entity objects:

DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
...

If you have any specific questions or find any descriptions confusing,
please let me know and I'll be happy to work through these issues with you.

- Jason

On Thu, Oct 15, 2009 at 1:45 PM, Iqbal Yusuf Dipu
iqbalyusufd...@gmail.comwrote:


 Hi,

 Is there any online reference material with some examples available
 for low-level api with datastore in Java without using JDO/JPA? The
 main app engine site has only reference to api doc for datastore.


 http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html

 Thanks.
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Eclipse Plugin and add libraries

2009-10-19 Thread Jason Parekh
Hi Bobby,
It's a tricky situation :)  We've so far required the user to place JARs in
the war/WEB-INF/lib directory.  However, if we notice the user has an
external jar that is not in this library, we provide a warning and a
quickfix to copy the JAR to the lib directory.

There's a bug (
http://code.google.com/p/google-web-toolkit/issues/detail?id=4083) that
points out what you're seeing:  the user library isn't found at runtime and
there wasn't a warning/quickfix provided to copy it into the lib directory.

jason

On Fri, Oct 16, 2009 at 2:33 PM, Bobby Hargett Jr. brharg...@gmail.comwrote:


 I am not a eclipse plugin in pro, but I think that when I add a user
 library to my java app engine project it select it to be exported, I
 get runtime errors saying the classes could not be found.  The only
 way to get it to work is by copying it by had to the lib directory.
 Is this a bug in the plugin?

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: A GAE_HOME eclipse variable that points to the default app engine sdk location

2009-10-19 Thread Jason Parekh
Hi Esteban,
This sounds like something the plugin should definitely do, I saw the
feature request you've opened, thanks!

jason

On Thu, Oct 15, 2009 at 9:21 PM, Esteban Ignacio Masoero 
emaso...@getsense.com.ar wrote:

 Any comments about this issue?


 On Thu, Oct 15, 2009 at 3:45 AM, Esteban Ignacio Masoero 
 emaso...@getsense.com.ar wrote:

 Hi:
 I was programming some unit tests according to this page (
 http://code.google.com/intl/en/appengine/docs/java/howto/unittesting.html ),
 and it says that you need to add to your classpath two jars (
 appengine-api-stubs.jar and appengine-local-runtime.jar), because they
 are not located by default in the sdk jars.

 As I'm not the only one working on my current project, we created  two
 classpath variables to point to those jars
 (ECLIPSE_HOME/plugins/.../1.2.5/.../blah.jar). Then, when updating to sdk
 1.2.6 I realized that it's easy to forget updating these variables (and an
 annoying repetitive task to do!), and it wouldn't be bad to have a GAE_HOME
 variable that points to the currently default gae sdk (so these classpath
 variables would have something like GAE_HOME:/../blah.jar).

 Is there a possibility that gae plugin can take care of it? or is there
 any other solution to the problem I'm facing?

 Thanks,

 Esteban



 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Logging in GAE/J

2009-10-19 Thread Jason (Google)
Can you try log.info() instead? Passing strings to System.out should
automatically log at the INFO level also:

http://code.google.com/appengine/docs/java/runtime.html#Logging

- Jason

On Wed, Oct 14, 2009 at 2:31 PM, Thai Dang Vu tdan...@gmail.com wrote:

 I put my logging.properties in the WEB-INF directory. That properties file
 looks like this:

 handlers = java.util.logging.ConsoleHandler
 java.util.logging.ConsoleHandler.formatter =
 java.util.logging.SimpleFormatter
 .level = WARNING

 com.att.level = FINEST

 I use commons-logging to get the log instance:
 private final Log log = LogFactory.getLog(getClass());

 but this statement in the com.att.web.servlet.mvc.SpringMVCController.java
 doesn't print anything
 log.debug(hi hic hic);

 I absolutely miss something, but what is that?

 Thank you.


 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: MemcacheService - get all keys

2009-10-19 Thread fx.mueller

I am currently facing the same problem. Does anybody (maybe from
Google) know if the keyset() method provided by JCache is going to be
implemented for the MemcacheService?


thanks,

fx


On Oct 16, 2:24 am, Peter Liu tinyee...@gmail.com wrote:
 I believe you can't. I tried to find out before but there's no such
 method in the low level api. The JCache API there's a method to get
 all entries but google didn't implement that.

 So I think the answer is no.

 You can removeall keyshowever.

 On Oct 14, 2:19 pm, keyurva keyu...@gmail.com wrote:

  Any suggestions?

  On Oct 14, 10:10 am, keyurva keyu...@gmail.com wrote:

   Is there a way to get keys of all objects stored in thememcache?

   My usecase is that my keys are all strings and they have a certain
   hierarchical structure. So for instance my keys could be
   folder.home, folder.home.file.test1.txt, folder.home.test2.txt,
   etc.

   So when I delete the home folder, I delete the folder.home key in
  memcachebut I would also like to delete all child keys of
   folder.home.

   Currently I do this by maintaining a List of keys myself and go from
   there. But this of course is not an optimal nor a correct solution.

   Thanks,
   Keyur


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: MemcacheService - get all keys

2009-10-19 Thread Don Schwarz
As far as I know we have no plans to support this.
However, feel free to star this issue to register your need for this
functionality:

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

On Mon, Oct 19, 2009 at 1:37 PM, fx.mueller fr.x.muel...@gmail.com wrote:


 I am currently facing the same problem. Does anybody (maybe from
 Google) know if the keyset() method provided by JCache is going to be
 implemented for the MemcacheService?


 thanks,

 fx


 On Oct 16, 2:24 am, Peter Liu tinyee...@gmail.com wrote:
  I believe you can't. I tried to find out before but there's no such
  method in the low level api. The JCache API there's a method to get
  all entries but google didn't implement that.
 
  So I think the answer is no.
 
  You can removeall keyshowever.
 
  On Oct 14, 2:19 pm, keyurva keyu...@gmail.com wrote:
 
   Any suggestions?
 
   On Oct 14, 10:10 am, keyurva keyu...@gmail.com wrote:
 
Is there a way to get keys of all objects stored in thememcache?
 
My usecase is that my keys are all strings and they have a certain
hierarchical structure. So for instance my keys could be
folder.home, folder.home.file.test1.txt, folder.home.test2.txt,
etc.
 
So when I delete the home folder, I delete the folder.home key in
   memcachebut I would also like to delete all child keys of
folder.home.
 
Currently I do this by maintaining a List of keys myself and go from
there. But this of course is not an optimal nor a correct solution.
 
Thanks,
Keyur
 
 
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] View this page Will it play in App Engine

2009-10-19 Thread Jason (Google)

Added bullet to OSGi heading with info. on Lemmon, a GAE/J-compatible
port of Felix OSGi.

Click on 
http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
- or copy  paste it into your browser's address bar if that doesn't
work.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Logging in GAE/J

2009-10-19 Thread Esteban Masoero

Have you tried using jdk14 to get the logger instance? ( 
java.util.logging.Logger.getLogger(getClass().getName()) )
If you're not forced to use commons logging, you could change to that. 
If you are forced and trying util logging works fine, at least you'll be 
getting closer to the problem.

Jason (Google) escribió:
 Can you try log.info http://log.info() instead? Passing strings to 
 System.out should automatically log at the INFO level also:

 http://code.google.com/appengine/docs/java/runtime.html#Logging

 - Jason

 On Wed, Oct 14, 2009 at 2:31 PM, Thai Dang Vu tdan...@gmail.com 
 mailto:tdan...@gmail.com wrote:

 I put my logging.properties in the WEB-INF directory. That
 properties file looks like this:

 handlers = java.util.logging.ConsoleHandler
 java.util.logging.ConsoleHandler.formatter =
 java.util.logging.SimpleFormatter
 .level = WARNING

 com.att.level = FINEST

 I use commons-logging to get the log instance:
 private final Log log = LogFactory.getLog(getClass());

 but this statement in the
 com.att.web.servlet.mvc.SpringMVCController.java doesn't print
 anything
 log.debug(hi hic hic);

 I absolutely miss something, but what is that?

 Thank you.





 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Open Social in GAE

2009-10-19 Thread Jason (Google)
No, the Java flavor of Shindig can't be run on App Engine, although I've
heard that there's a Python port that can be run on App Engine using the
Python runtime.

- Jason

On Thu, Oct 15, 2009 at 9:24 AM, mangrar mang...@gmail.com wrote:


 I'm planning doing an application that supports Open social to let
 users adding gadgets. Does anybody knows if it is possible running
 Apache Shinding (Open Social container) in 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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Open Social in GAE

2009-10-19 Thread Jason (Google)
I'll also point out that the OpenSocial client libraries for Java and Python
are both supported in App Engine:

http://code.google.com/p/opensocial-java-client/
http://code.google.com/p/opensocial-python-client/

- Jason

On Mon, Oct 19, 2009 at 11:51 AM, Jason (Google) apija...@google.comwrote:

 No, the Java flavor of Shindig can't be run on App Engine, although I've
 heard that there's a Python port that can be run on App Engine using the
 Python runtime.

 - Jason


 On Thu, Oct 15, 2009 at 9:24 AM, mangrar mang...@gmail.com wrote:


 I'm planning doing an application that supports Open social to let
 users adding gadgets. Does anybody knows if it is possible running
 Apache Shinding (Open Social container) in 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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Debate sobre will-it-play-in-app-engine

2009-10-19 Thread Jason (Google)
I found this thread, which appears to indicate that it does with a little
tweaking:

http://groups.google.com/group/google-appengine-java/browse_thread/thread/2bf379fa908a75f1

- Jason

On Thu, Oct 15, 2009 at 9:37 AM, mangrar mang...@gmail.com wrote:


 What about apache Velocity template engine? does it work?
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: java.lang.NoClassDefFoundError: javax.swing.tree.TreeNode is a restricted class.

2009-10-19 Thread Jason (Google)
We're looking into this now. The root cause appears to be a UI dependency in
the Freemarker template system. For now, a workaround is available in this
thread:

http://groups.google.com/group/google-appengine-java/browse_thread/thread/dd84e44f604498c4

- Jason

On Fri, Oct 16, 2009 at 8:03 PM, Abhinav Lele abhinav.l...@gmail.comwrote:

 I also got the same error when i tried to switch to sdk 1.2.6 from 1.2.5.
 In my case I was using freemarker and spring. As soon I included the
 spring.ftl in my template I got this error.
 --
 Abhinav

 -_[No constructors were harmed in the writing of this post. Any resemblance
 to objects living or dead is purely coincidental]_-



 On Sat, Oct 17, 2009 at 12:22 AM, Philippe Marschall 
 philippe.marsch...@gmail.com wrote:




 On Oct 16, 12:52 pm, venkat vsath...@gmail.com wrote:
  I am able to post and run my app from the appspot successfully. But
  when I run the app locally I receive the above error.
  JSP is not able to run struts tag.
  Here is a little long error info:
  javax.servlet.ServletException: java.lang.NoClassDefFoundError:
  javax.swing.tree.TreeNode is a restricted class. Please see the
  Google  App Engine developer's guide for more details.

 As the exception says javax.swing.tree.TreeNode is a restricted class,
 that means you don't have access to it. Access restrictions are only
 active on the actual GAE server, not in the development environment.

 Cheers
 Philippe



 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Local server works, Appspot fails with java.lang.StackOverflowError when Spring AOP is enabled

2009-10-19 Thread Toby Reyelts
Kris,

Can you send us your app id (privately if you wish) ?

On Mon, Oct 19, 2009 at 3:57 PM, Kris krisajenk...@gmail.com wrote:


 I'm also getting this StackOverflowError, but the app engine log view
 is truncated, so I can't see the initial cause.  Is there any way to
 see the whole log message, so I can try to help track it down/produce
 a test case?

 Cheers,
 Kris

 On Oct 7, 4:36 pm, Toby Reyelts to...@google.com wrote:
  Unfortunately this is an issue that will be very difficult for us to
 solve
  unless you can provide us with a simple reproducing app that we can use
 to
  debug. If the issue is important to you, that is the most important thing
  you can do to help us.On Wed, Oct 7, 2009 at 6:57 AM, Dave Cheong 
 d...@davecheong.com wrote:
 
   Hi there,
 
   I'm having the same problem and was wondering if you or anyone else
   out there have found a solution.
   I'm currently using GAE/J 1.2.5 and Spring 2.5.
 
   Like the previous author, everything works locally but I get a
   StackOverflowError on Appspot. However, if I comment out ...
 
   aop:aspectj-autoproxy/
 
   ... things work on Appspot.
 
   Any help provided is much appreciated.
 
   thanks,
   dave
 
   On Aug 26, 3:38 pm, Gabriel Moreira gabrielmore...@gmail.com wrote:
My app is using Spring 3.0.
 
If i disable Spring AOP, my app runs fine both on local and appspot.
 
But when i enable Spring AOP (tested with advice or aspects), in
 local
runtime everything is fine and works, but in appspot im getting this
error:
 
java.lang.StackOverflowError
at java.lang.String.endsWith(Unknown Source)
at sun.security.provider.PolicyFile.canonPath(Unknown Source)
at java.io.FilePermission$1.run(Unknown Source)
at java.io.FilePermission$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.FilePermission.init(Unknown Source)
at java.io.FilePermission.init(Unknown Source)
at
   sun.net.www.protocol.file.FileURLConnection.getPermission(Unknown
Source)
at sun.misc.URLClassPath.check(Unknown Source)
at sun.misc.URLClassPath$FileLoader.getResource(Unknown
 Source)
at sun.misc.URLClassPath$FileLoader.findResource(Unknown
 Source)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at
   com.google.apphosting.runtime.security.UserClassLoader.findResource
(UserClassLoader.java:631)
at java.lang.ClassLoader.getResource(Unknown Source)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:665)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:659)
at java.security.AccessController.doPrivileged(Native Method)
at
   com.google.apphosting.runtime.security.UserClassLoader.findResource
(UserClassLoader.java:659)
at java.lang.ClassLoader.getResource(Unknown Source)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:665)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:659)
at java.security.AccessController.doPrivileged(Native Method)
at
   com.google.apphosting.runtime.security.UserClassLoader.findResource
(UserClassLoader.java:659)
at java.lang.ClassLoader.getResource(Unknown Source)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:665)
at
 com.google.apphosting.runtime.security.UserClassLoader$4.run
(UserClassLoader.java:659)
at java.security.AccessController.doPrivileged(Native Method)
at
com.google.apphosting.runtime.security.UserClassLoader.findResour...
 
My applicationContext.xml:
 
?xml version=1.0 encoding=UTF-8?
beans xmlns=http://www.springframework.org/schema/beans;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xmlns:aop=http://www.springframework.org/schema/aop;
xmlns:context=http://www.springframework.org/schema/context;
xmlns:tx=http://www.springframework.org/schema/tx;
xsi:schemaLocation=
 http://www.springframework.org/schema/beans
 
  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
   http://www.springframework.org/schema/aop
 
  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
   http://www.springframework.org/schema/tx
 
  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
   http://www.springframework.org/schema/context
 
  

[appengine-java] having problems with JDO query serialization to memcache...

2009-10-19 Thread Larry Cable

quick question: should I be able to directly serialize (Cache.put
(...)) results of JDO queries into Memcache?

It appears not ...

I have the following class(es):

@PersistenceCapable(identityType=IdentityType.APPLICATION,
objectIdClass=CityState.CityStateKey.class, cacheable=true,
detachable=true)
public class CityState implements Serializable {
public static class CityStateKey implements Serializable {

@NotPersistent
private static Pattern p = 
Pattern.compile(^(.*),\\s?([A-Za-z]{2})
$);

public CityStateKey() { }

public CityStateKey(String keyValue) {
final Matcher m = p.matcher(keyValue.trim());
if (m.matches()) {
city  = m.group(1);
state = State.valueOf((m.group(2))).name();
} else
throw new 
IllegalArgumentException(keyValue);
}

/* (non-Javadoc)
 * @see java.lang.Object#hashCode()
 */
@Override
public int hashCode() {
// elided ...
}

/* (non-Javadoc)
 * @see java.lang.Object#equals(java.lang.Object)
 */
@Override
public boolean equals(Object obj) {
// elided...
}

public String toString() { return (city + Address.COMMASPACE +
state); }

public Stringstate;
public Stringcity;
}

public CityState(final String city, final String state) {
this.city  = city.trim();
this.state = state;
}

@Override
public String getCity() {
return city;
}

@Override
public String getState() {
return state;
}

/* (non-Javadoc)
 * @see java.lang.Object#hashCode()
 */
@Override
public int hashCode() {
 // elided...
}

/* (non-Javadoc)
 * @see java.lang.Object#equals(java.lang.Object)
 */
@Override
public boolean equals(Object obj) {
// elided...
}

@Override
public String toString() { return city + Address.COMMASPACE +
state; }

@Persistent(primaryKey=true) public String state; // should be
State GAE/JDO does not support...
@Persistent(primaryKey=true) public String city;
}

when I query select from CityState via JDO I get a
StreamingQueryResult ...

if I attempt to put that as a value into memcache I get the typical
NotSerializableException indicating that
an object in the graph is not serializable ...

any thoughts/suggestions, clearly the (simple) app domain objects are
(both) serializable as are the
internal fields ...

Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Java vs. Python X-AppEngine-Estimated-CPM-US-Dollars

2009-10-19 Thread Jason (Google)
In general, and as the numbers that you've shared also back up, spinning up
a new instance of a Java application does take more resources, both CPU and
time, than starting up a new Python application. We are making back-end
improvements in the next couple of releases to improve these  times,
particularly those whose imported libraries/frameworks consistently cause
them to time out on first startup.

If you build an application that is hit excessively, particularly if you
have an application with a fairly consistent rate of traffic, then you
shouldn't have to worry about this too much since your instances will likely
stay consistently warm and not spin down. Thus, you'll see far more
cheap Java requests than very expensive since instances aren't likely to
be spun down between requests.

- Jason

On Fri, Oct 16, 2009 at 6:45 AM, Toby tobias.ro...@sunnymail.mobi wrote:


 That is an interesting thread.  I was asking myself the same question.
 My problem is, that I have some expensive initialization that is done
 when the webapp is initialized.  I recognized that the very first
 request (after a longer time of idle) takes a lot of time. And as you
 say is expensive.
 I wonder if it would make sense to have a cron job that runs every
 minute to prevent this?


 On Oct 15, 10:52 pm, Timwillhack timwillh...@gmail.com wrote:
  I should probably point out that when I say 'Timed out' I really mean,
  clean start after waiting say 10 minutes to refresh a page, its not a
  30 second endless while loop or anything, its actually just outputting
  one character from a string array.
 
  On Oct 15, 2:46 pm, Timwillhack timwillh...@gmail.com wrote:
 
   I was just curious if the initialization of the Java VM is actually
   charged a client?  Here are some sample headers from Java vs. Python
   after letting the server timeout:
 
   VERY EXPENSIVE JAVA (timed out - guessing restarting VM):
   X-AppEngine-Estimated-CPM-US-Dollars: $0.149171
   X-AppEngine-Resource-Usage: ms=4152 cpu_ms=6440 api_cpu_ms=0
 
   X-AppEngine-Estimated-CPM-US-Dollars: $0.145377
   X-AppEngine-Resource-Usage: ms=3890 cpu_ms=6276 api_cpu_ms=0
 
   Cheap JAVA (quick refresh):
   X-AppEngine-Estimated-CPM-US-Dollars: $0.000168
   X-AppEngine-Resource-Usage: ms=41 cpu_ms=3 api_cpu_ms=0
 
   X-AppEngine-Estimated-CPM-US-Dollars: $0.000189
   X-AppEngine-Resource-Usage: ms=19 cpu_ms=4 api_cpu_ms=0
 
   CHEAP PYTHON FRESH START (waited about 10 mins before connecting):
   X-AppEngine-Estimated-CPM-US-Dollars: $0.002778
   X-AppEngine-Resource-Usage: ms=103 cpu_ms=116 api_cpu_ms=0
 
   X-AppEngine-Estimated-CPM-US-Dollars: $0.002778
   X-AppEngine-Resource-Usage: ms=106 cpu_ms=116 api_cpu_ms=0
 
   PYTHON RECONNECT QUICKLY:
   X-AppEngine-Estimated-CPM-US-Dollars: $0.000231
   X-AppEngine-Resource-Usage: ms=7 cpu_ms=6 api_cpu_ms=0
 
   Python is reporting very very very cheaper pricing per 1000.  Is this
   the case or does google not really charge for the initialization for
   java?  I sat here refreshing a page with a friend doing the same, out
   of the 40 or so requests about 4 were skyrocketed in price.  This
   makes me very wary about making something that is hit excessively,
   since it seems like each instance is only taking 10 requests each per
   minute or whatver
 
   Yuck, are my numbers flawed or something?  Or is Python just so much
   more efficient to use on 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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: URLFetchService down?

2009-10-19 Thread Jason (Google)
Hi David. I believe you're referring to a different problem. The default
timeout limit for URL Fetch requests is 5 seconds. If Twitter's API has
especially high latencies (i.e.  5 seconds), your requests may be timing
out. If you can, I suggest modifying the library to have a higher timeout --
currently, you can configure this up to 10 seconds.

http://code.google.com/appengine/docs/java/urlfetch/overview.html#Requests

- Jason

On Fri, Oct 16, 2009 at 12:51 PM, da...@twitmart.org da...@twitmart.orgwrote:



 Twitter API calls (using twitter4j) from App Engine fail far more
 often than they succeed, when the same calls work fine from the same
 code running on a non-App Engine platform.
 http://mrblog.org/2009/10/16/twitmart-ported-off-of-google-app-engine/

 Are you saying this is going to be fixed?  That's really good news, if
 so.

 On Oct 6, 9:26 am, Don Schwarz schwa...@google.com wrote:
  This was not caused by any problem with the URLFetch service.  As you can
  see from our Status Site, URLFetch is fine:
 http://code.google.com/status/appengine/detail/urlfetch/2009/10/06#ae...
 
  This was most likely caused by a request exceeding the 30 second deadline
  while initializing the URLFetchServicePb class.  I believe you've posted
  about this problem in the past.
 
  We have what we think is a general fix for this issue in the next
 release,
  which is due out very shortly.  In the mean time, I've reloaded your app
  (but you can do this yourself by redeploying if necessary).
 
  Sorry for the inconvenience,
  Don
 
  On Tue, Oct 6, 2009 at 11:20 AM, hansamann sven.hai...@googlemail.com
 wrote:
 
 
 
 
 
   Hi all,
 
   since at least a couple of hours I can see this exception in the logs:
 
   [groovytweets/79.336780622574504562].stdout: StackTrace Sanitizing
   stacktrace:
   java.lang.NoClassDefFoundError: Could not initialize class
   com.google.appengine.api.urlfetch.URLFetchServicePb$URLFetchRequest
  at
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertToPb
   (URLFetchServiceImpl.java:77)
  at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch
   (URLFetchServiceImpl.java:29)
  at twitter4j.http.Response.init(Response.java:82)
  at twitter4j.http.HttpClient.httpRequest(HttpClient.java:459)
  at twitter4j.http.HttpClient.get(HttpClient.java:420)
  at twitter4j.Twitter.get(Twitter.java:280)
  at twitter4j.Twitter.get(Twitter.java:330)
  at twitter4j.Twitter.getFriendsTimeline(Twitter.java:678)
  at sun.reflect.GeneratedMethodAccessor920.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
 Source)
  at java.lang.reflect.Method.invoke(Method.java:40)
 
   Why is it that NoClassDefFoundErrors have to be thrown, it sounds like
   someone removed a jar file out of the running application's memory...
   hmm. This happened quite a lot of times now, is that really the
   'official' exception whenever the service is down?
 
   Cheers
   Sven
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: GAE Performance

2009-10-19 Thread Don Schwarz
Is each User a root entity (i.e. an entity with no parent) ?
If so, then each User is its own Entity Group, and therefore you can sustain
1-10 requests/second of writes to each individual user.
On Mon, Oct 19, 2009 at 4:01 PM, Diana Cruise diana.l.cru...@gmail.comwrote:


 This is exactly what I'm am talking about...in my case the User and
 UserAddr are both in the same Entity Group.  So, are you saying that
 my application which has a global presence in GAE can only support 25
 simultaneous Users performing this update in under 5 seconds?

 Again, I take 1-10 requests per second response and go with the avg of
 5/s.  Add up 25 Users simultaneously hitting this Entity Group and
 that consumes a full 5 seconds.  So, if you have 25 Users doing the
 same update over and over they will each have about a 5 second
 response.

 I know I am wrong because this is way LOW for a Google platform or any
 other...I just am NOT hearing or seeing numbers that say otherwise.

 If you clarify for me that this Entity Group performance stat of 1-10/
 s is granular to the Row then we're on to something...  That would
 tell me that my scenario above only applies if ALL Users were logged
 into the same account!!!  If the Entity Group performance stat is
 granular to the Row then that would mean an infinite number of Users
 would average 5 updates per second.  Please tell me this is TRUE!

 Otherwise, if this Entity Group performance stat of 1-10/s is granular
 to the whole group (is ALL rows) then the performance is dire as I
 described originally.  Please tell me it isn't so!

 On Oct 19, 11:10 am, Don Schwarz schwa...@google.com wrote:
  It's 1-10 updates per second per Entity Group:
 http://code.google.com/appengine/docs/java/datastore/transactions.htm...
 
  You need to break your design up into Entity Groups according to which
  pieces will need to be updated in a single transaction.  In the best
 case,
  each entity can be its own entity group and the only restriction is that
 you
  update each entity no more often than 1-10 times per second.
 
  For example, it would not be a good idea to store a global counter in one
  entity unless you planned to update it no more than 1-10 times per
 second.
   The solution to this is to use sharded counters:
 
  http://code.google.com/appengine/articles/sharding_counters.html
 
  On Mon, Oct 19, 2009 at 11:06 AM, Diana Cruise diana.l.cru...@gmail.com
 wrote:
 
 
 
 
 
   Shawn, the 1-10s per Update was sited from Max Ross' I/O Video and
   I've seen it in various talks/docs along the way...
 
   On Oct 19, 11:03 am, Diana Cruise diana.l.cru...@gmail.com wrote:
Shawn, the docs link you site is riddled with numbers (easy to get
lost in them and what they truely mean)...which is why I included a
simplest of scenarios above, that being to simply add a home
addressbook entry attached to a User.  Surely someone has a sizeable
production system today in GAE that could share load results and real
costs.  If noone does, then that is also very troubling.
 
Gaurav, I assume too that reading is NOT the problem and by this post
am hoping to get real-world numbers to a simple update transaction.
But, we need production app feedback from the most popular apps out
there.  Is there such a list for Java for GAE yet?  Surely, there are
large production apps by now?
 
On Oct 19, 2:17 am, Gaurav ano...@gmail.com wrote:
 
 GAE performs best for simultaneous read operations. So there could
 be
 virtually any no.
 of users reading at the same time, no issue. But when it comes to
 making updates
 performance degradation is significant.
 To get a better understanding of how gae performs under heavy load,
 I
 recommend
 this video :http://www.youtube.com/watch?v=AgaL6NGpkB8
 
 On Oct 19, 7:09 am, Shawn Brown big.coffee.lo...@gmail.com
 wrote:
 
  Hi,
 
   I have read that a particular User can process 1-10 request per
   second.  Is this a limit of the free quota or does paid quota
 also
   have this limitation.
 
  Where and what did you read?
 
  That doesn't seem consistent with the published limits.  I guess
 it
  depends on what they were doing with the app.
  http://code.google.com/appengine/docs/quotas.html
 
  Shawn- Hide quoted text -
 
 - Show quoted text -- Hide quoted text -
 
- Show quoted text -- Hide quoted text -
 
  - Show quoted text -
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: cron job at a specific day of every month

2009-10-19 Thread Jason (Google)
The documentation does not indicate that you can do this, although I haven't
personally tested this case. You're certainly welcome to try it, but in the
probable case where it doesn't work, you can use the schedule formats given
in the docs:

http://code.google.com/appengine/docs/java/config/cron.html

- Jason

On Fri, Oct 16, 2009 at 8:38 AM, dogan kaya berktas dkberk...@gmail.comwrote:


 I want to run a cron job every 25th of every month, Can I do that ?

 Should I say sth like evert 25th of jan, feb 
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Lists vs Sets performance

2009-10-19 Thread Jason (Google)
Choose the Collection which meets your requirements -- if you don't want to
inadvertently add two or more objects representing the same Key, then use a
Set, and if you need this set of Keys to be sorted, then use a SortedSet. If
this isn't a requirement, go ahead and use a List or Collection, as these
are likely to be negligibly faster. But, I doubt that you'll see a huge
performance difference using a Set versus a List, for example, especially if
you're lists are small.

- Jason

On Thu, Oct 15, 2009 at 7:10 AM, Nacho Coloma icol...@gmail.com wrote:


 Hi,

 If I plan to use a property to store a Relation Index such as a
 ListKey, SetKey or SortedSetKey, which one should give best
 performance supposing order is not relevant? My intuition says to go
 with Set or SortedSet, but I wanted to ask first.

 Best regards,

 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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: getting multiple objects fails

2009-10-19 Thread Jason (Google)
The getObjectsById function hasn't been optimized to perform a batch get, so
you're just as well-off issuing multiple calls to getObjectById. If you need
to issue a batch get, you'll need to use the low-level API.

- Jason

On Fri, Oct 16, 2009 at 12:21 AM, Rusty Wright rwright.li...@gmail.comwrote:


 Here's my code; the first call on the persistence manager, getObjectsById
 (note plural Objects) fails.  But then later down it iterates over the Keys
 and that succeeds.  The log output is below the code.  On the get of
 multiple objects it's blowing up on Key User(10002)/DesiredDate(3006) but
 you can see in the log output that it succeeds when it gets them one by one.

public CollectionDesiredDate getDesiredDates(final CollectionString
 desiredDateIds) {
final SetKey keys = new HashSetKey();

for (final String eachId : desiredDateIds)
keys.add(KeyFactory.stringToKey(eachId));

try {
@SuppressWarnings(unchecked)
final CollectionDesiredDate result =
 getPersistenceManager().getObjectsById(keys);

return (result);
}
catch (final Exception e) {
this.log.error(desiredDate query failed, e);
}

/*
 * one or more of the keys is bogus; iterate and fetch
 * individually.
 */

final ListDesiredDate desiredDates = new ArrayListDesiredDate();

for (final Key eachKey : keys) {
this.log.debug(getting:  + eachKey);

try {
final DesiredDate desiredDate =
 getPersistenceManager().getObjectById(DesiredDate.class, eachKey);

desiredDates.add(desiredDate);
}
catch (final Exception e) {
this.log.error(desiredDate query failed, e);
this.log.error(desiredDate not found:  + eachKey);
}
}

return (desiredDates);
}


 I 10-16 12:04AM 39.810 [rusty-sandbox/4.337068117851573108].stdout:
 ERROR: 07:04:39,805:
 com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:55):
 desiredDate query failed
 javax.jdo.JDOObjectNotFoundException: No such object
 FailedObject:User(10002)/DesiredDate(3006)
at
 org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:323)
at
 org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1676)
at
 org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1700)
at
 org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1745)
at
 com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:50)
at
 com.objecteffects.sample.impl.service.DesiredDateService.deleteDesiredDatesById(DesiredDateService.java:116)
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.Method_$3.run(Method_.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:162)
at
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:131)
at
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:40)
at
 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at
 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at
 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy12.deleteDesiredDatesById(Unknown Source)
at
 com.objecteffects.sample.web.action.ListActionBean.delete(ListActionBean.java:45)
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.Method_$3.run(Method_.java:164)
at 

[appengine-java] Possible to Add Child to Owned One to Many Relationship Without Loading All Children?

2009-10-19 Thread lent

Hi

We're using JPA and we have an owned one to many relationship that has
many children (we create this owned relationship so that any
combination of children can be updated in a transaction).  When we add
an additional child, we add it to the parent's children list.  This
seems to cause a loading of all children and hence takes a long time
due to the large number of children.  Is there any way to add a child
without causing this loading to happen (some other way to set the
parent without getting the parent's children list and adding to it)?

Thanks,
Len
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: getting multiple objects fails

2009-10-19 Thread Rusty Wright

Ok, thanks.


Jason (Google) wrote:
 The getObjectsById function hasn't been optimized to perform a batch 
 get, so you're just as well-off issuing multiple calls to getObjectById. 
 If you need to issue a batch get, you'll need to use the low-level API.
 
 - Jason
 
 On Fri, Oct 16, 2009 at 12:21 AM, Rusty Wright rwright.li...@gmail.com 
 mailto:rwright.li...@gmail.com wrote:
 
 
 Here's my code; the first call on the persistence manager,
 getObjectsById (note plural Objects) fails.  But then later down it
 iterates over the Keys and that succeeds.  The log output is below
 the code.  On the get of multiple objects it's blowing up on Key
 User(10002)/DesiredDate(3006) but you can see in the log output that
 it succeeds when it gets them one by one.
 
public CollectionDesiredDate getDesiredDates(final
 CollectionString desiredDateIds) {
final SetKey keys = new HashSetKey();
 
for (final String eachId : desiredDateIds)
keys.add(KeyFactory.stringToKey(eachId));
 
try {
@SuppressWarnings(unchecked)
final CollectionDesiredDate result =
 getPersistenceManager().getObjectsById(keys);
 
return (result);
}
catch (final Exception e) {
this.log.error(desiredDate query failed, e);
}
 
/*
 * one or more of the keys is bogus; iterate and fetch
 * individually.
 */
 
final ListDesiredDate desiredDates = new
 ArrayListDesiredDate();
 
for (final Key eachKey : keys) {
this.log.debug(getting:  + eachKey);
 
try {
final DesiredDate desiredDate =
 getPersistenceManager().getObjectById(DesiredDate.class, eachKey);
 
desiredDates.add(desiredDate);
}
catch (final Exception e) {
this.log.error(desiredDate query failed, e);
this.log.error(desiredDate not found:  + eachKey);
}
}
 
return (desiredDates);
}
 
 
 I 10-16 12:04AM 39.810
 [rusty-sandbox/4.337068117851573108].stdout: ERROR: 07:04:39,805:
 
 com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:55):
 desiredDate query failed
 javax.jdo.JDOObjectNotFoundException: No such object
 FailedObject:User(10002)/DesiredDate(3006)
at
 
 org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:323)
at
 
 org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1676)
at
 
 org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1700)
at
 
 org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1745)
at
 
 com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:50)
at
 
 com.objecteffects.sample.impl.service.DesiredDateService.deleteDesiredDatesById(DesiredDateService.java:116)
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.Method_$3.run(Method_.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at
 
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:162)
at
 
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:131)
at
 
 com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:40)
at
 
 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at
 
 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
 
 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
 
 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at
 
 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
 
 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy12.deleteDesiredDatesById(Unknown Source)
at
 
 

[appengine-java] Re: java.lang.AbstractMethodError at com.google.appengine.tools.development.DevAppServerImpl.getUserPermissions() moving from SDK 1.2.5 to 1.2.6

2009-10-19 Thread Esteban Ignacio Masoero
If you're not doing junit tests, you should add the VM parameter that
eclipse asks for when editing running configurations and that should do.
If you're also doing junit tests, then you should add appengine-agent.jar to
your classpath. There's an issue created about this:
http://code.google.com/p/googleappengine/issues/detail?id=2280

Regards,

Esteban


On Mon, Oct 19, 2009 at 9:14 PM, David david.glas...@gmail.com wrote:


 Same, any update on this?

 On Oct 14, 8:41 am, Patrizio Munzi patrizio.mu...@eris4.com wrote:
  Hi,
  I'm getting this error moving from SDK 1.2.5 to
 1.2.6:--2009-10-14 08:32:11.270::WARN:  EXCEPTION
  java.lang.AbstractMethodError:
 com.google.appengine.tools.development.DevAppServerImpl.getUserPermissions()Ljava/security/Permissions;
  at
 com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:122)
  at java.lang.Thread.setContextClassLoader(Unknown Source)
  at
 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:739)
  at
 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
  at
 com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
  at
 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
  at
 com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342)
  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.headerComplete(HttpConnection.java:830)
  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
  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)
  2009-10-14 08:32:11.286::WARN:  handle failed
  java.lang.IllegalStateException: Request in context!
  at org.mortbay.jetty.Request.recycle(Request.java:163)
  at org.mortbay.jetty.HttpConnection.reset(HttpConnection.java:470)
  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:450)
  at
 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
  at
 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)---
  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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Framework for java/jsp based dev supported by GAE

2009-10-19 Thread Derek Berube
That is an Apache Xalan error message.  Try putting the xalan.jar,  
xercesImpl.jar xml-apis.jar, xsltc.jar and serializer.jar from 
http://xml.apache.org/xalan-j/downloads.html 
  into the WEB-INF/lib directory.  That should fix your problem.

I have also created a Google Code project to contain the project that  
was built during the process of documenting the configuration of JSF2  
on GAE: http://code.google.com/p/jsf2gae/

Derek


On Oct 19, 2009, at 2:49 PM, Vik wrote:

 Hie Derek

 So here another error i m facing after modifying web.xml. any  
 suggestions?


 Failed startup of context  
 com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext 
 @1e779a7{/,/base/data/home/apps/sakshumwebjsf/1.337116897991188426}
 com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!  
 Translet class loaded, but unable to create translet instance.
   at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 
 354)
   at com.sun.faces.config.ConfigureListener.contextInitialized 
 (ConfigureListener.java:219)
   at org.mortbay.jetty.handler.ContextHandler.startContext 
 (ContextHandler.java:530)
   at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
   at org.mortbay.jetty.webapp.WebAppContext.startContext 
 (WebAppContext.java:1218)
   at org.mortbay.jetty.handler.ContextHandler.doStart 
 (ContextHandler.java:500)
   at org.mortbay.jetty.webapp.WebAppContext.doStart 
 (WebAppContext.java:448)
   at org.mortbay.component.AbstractLifeCycle.start 
 (AbstractLifeCycle.java:40)
   at  
 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler 
 (AppVersionHandlerMap.java:191)
   at  
 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler 
 (AppVersionHandlerMap.java:168)
   at  
 com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest 
 (JettyServletEngineAdapter.java:127)
   at com.google.apphosting.runtime.JavaRuntime.handleRequest 
 (JavaRuntime.java:239)
   at com.google.apphosting.base.RuntimePb$EvaluationRuntime 
 $6.handleBlockingRequest(RuntimePb.java:5135)
   at com.google.apphosting.base.RuntimePb$EvaluationRuntime 
 $6.handleBlockingRequest(RuntimePb.java:5133)
   at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest 
 (BlockingApplicationHandler.java:24)
   at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 
 363)
   at com.google.net.rpc.impl.Server$2.run(Server.java:814)
   at com.google.tracing.LocalTraceSpanRunnable.run 
 (LocalTraceSpanRunnable.java:56)
   at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan 
 (LocalTraceSpanBuilder.java:516)
   at com.google.net.rpc.impl.Server.startRpc(Server.java:769)
   at com.google.net.rpc.impl.Server.processRequest(Server.java:351)
   at com.google.net.rpc.impl.ServerConnection.messageReceived 
 (ServerConnection.java:437)
   at com.google.net.rpc.impl.RpcConnection.parseMessages 
 (RpcConnection.java:319)
   at com.google.net.rpc.impl.RpcConnection.dataReceived 
 (RpcConnection.java:290)
   at com.google.net.async.Connection.handleReadEvent(Connection.java: 
 436)
   at com.google.net.async.EventDispatcher.processNetworkEvents 
 (EventDispatcher.java:762)
   at com.google.net.async.EventDispatcher.internalLoop 
 (EventDispatcher.java:207)
   at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 
 101)
   at com.google.net.rpc.RpcService.runUntilServerShutdown 
 (RpcService.java:251)
   at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run 
 (JavaRuntime.java:396)
   at java.lang.Thread.run(Unknown Source)
 Caused by: javax.xml.transform.TransformerConfigurationException:  
 Translet class loaded, but unable to create translet instance.
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses
  
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance
  
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer 
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer
  
 (Unknown Source)
   at com.sun.faces.config.ConfigManager$ParseTask.getTransformer 
 (ConfigManager.java:965)
   at com.sun.faces.config.ConfigManager$ParseTask.getDocument 
 (ConfigManager.java:905)
   at com.sun.faces.config.ConfigManager$ParseTask.call 
 (ConfigManager.java:831)
   at com.sun.faces.config.ConfigManager$ParseTask.call 
 (ConfigManager.java:787)
   at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at com.sun.faces.config.ConfigManager.getConfigDocuments 
 (ConfigManager.java:656)
   at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 
 337)
   ... 30 more
 C10-18 02:43AM 44.862

 

[appengine-java] Re: Framework for java/jsp based dev supported by GAE

2009-10-19 Thread Derek Berube
Looks like I need to update the doc.  I've added the Apache Xalan  
libraries into my project and now it works as well - 
http://jsf2template.wildstartech.com/ 
.

Looks to be a difference between the SDK running locally and the  
runtime environment on the server.

I'm going to dig into the error code and look for some bugs, but the  
fix from my previous note should get you going.

Derek


On Oct 19, 2009, at 2:49 PM, Vik wrote:

 Hie Derek

 So here another error i m facing after modifying web.xml. any  
 suggestions?


 Failed startup of context  
 com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext 
 @1e779a7{/,/base/data/home/apps/sakshumwebjsf/1.337116897991188426}
 com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!  
 Translet class loaded, but unable to create translet instance.
   at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 
 354)
   at com.sun.faces.config.ConfigureListener.contextInitialized 
 (ConfigureListener.java:219)
   at org.mortbay.jetty.handler.ContextHandler.startContext 
 (ContextHandler.java:530)
   at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
   at org.mortbay.jetty.webapp.WebAppContext.startContext 
 (WebAppContext.java:1218)
   at org.mortbay.jetty.handler.ContextHandler.doStart 
 (ContextHandler.java:500)
   at org.mortbay.jetty.webapp.WebAppContext.doStart 
 (WebAppContext.java:448)
   at org.mortbay.component.AbstractLifeCycle.start 
 (AbstractLifeCycle.java:40)
   at  
 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler 
 (AppVersionHandlerMap.java:191)
   at  
 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler 
 (AppVersionHandlerMap.java:168)
   at  
 com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest 
 (JettyServletEngineAdapter.java:127)
   at com.google.apphosting.runtime.JavaRuntime.handleRequest 
 (JavaRuntime.java:239)
   at com.google.apphosting.base.RuntimePb$EvaluationRuntime 
 $6.handleBlockingRequest(RuntimePb.java:5135)
   at com.google.apphosting.base.RuntimePb$EvaluationRuntime 
 $6.handleBlockingRequest(RuntimePb.java:5133)
   at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest 
 (BlockingApplicationHandler.java:24)
   at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 
 363)
   at com.google.net.rpc.impl.Server$2.run(Server.java:814)
   at com.google.tracing.LocalTraceSpanRunnable.run 
 (LocalTraceSpanRunnable.java:56)
   at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan 
 (LocalTraceSpanBuilder.java:516)
   at com.google.net.rpc.impl.Server.startRpc(Server.java:769)
   at com.google.net.rpc.impl.Server.processRequest(Server.java:351)
   at com.google.net.rpc.impl.ServerConnection.messageReceived 
 (ServerConnection.java:437)
   at com.google.net.rpc.impl.RpcConnection.parseMessages 
 (RpcConnection.java:319)
   at com.google.net.rpc.impl.RpcConnection.dataReceived 
 (RpcConnection.java:290)
   at com.google.net.async.Connection.handleReadEvent(Connection.java: 
 436)
   at com.google.net.async.EventDispatcher.processNetworkEvents 
 (EventDispatcher.java:762)
   at com.google.net.async.EventDispatcher.internalLoop 
 (EventDispatcher.java:207)
   at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 
 101)
   at com.google.net.rpc.RpcService.runUntilServerShutdown 
 (RpcService.java:251)
   at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run 
 (JavaRuntime.java:396)
   at java.lang.Thread.run(Unknown Source)
 Caused by: javax.xml.transform.TransformerConfigurationException:  
 Translet class loaded, but unable to create translet instance.
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses
  
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance
  
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer 
 (Unknown Source)
   at  
 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer
  
 (Unknown Source)
   at com.sun.faces.config.ConfigManager$ParseTask.getTransformer 
 (ConfigManager.java:965)
   at com.sun.faces.config.ConfigManager$ParseTask.getDocument 
 (ConfigManager.java:905)
   at com.sun.faces.config.ConfigManager$ParseTask.call 
 (ConfigManager.java:831)
   at com.sun.faces.config.ConfigManager$ParseTask.call 
 (ConfigManager.java:787)
   at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at com.sun.faces.config.ConfigManager.getConfigDocuments 
 (ConfigManager.java:656)
   at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 
 337)
   ... 30 more
 C10-18 02:43AM 44.862

 Uncaught exception from servlet
 

[appengine-java] Re: Failing to retrieve child-objects in a one-to-many JDO relation in datastore

2009-10-19 Thread Max Zhu
Hi Lars,

Try to annotate your relationship as follows:

   @Persistent(mappedBy=parent, default-fetch-group=true)
   public ListChild childs;

On Tue, Oct 20, 2009 at 12:19 AM, Lars lsor...@gmail.com wrote:


 Hi,
 I am failing to retrieve child-objects in a one-to-many JDO relation
 in the datastore. The case is as follows;

 I have two classes (Parent  Child, code-snippet below) with a defined
 one-to-many relation.
 It is no problem storing the structure with the 'store'-operation
 defined below. This is easily verified by web-browsing the datastore.

 However, when retrievning the parent-object from the datastore
 ('fetchParents'), the ''childs' attribute is always null. What must be
 done to (auto-)populate this attribute from the datastore?
 Also, the 'parent'-attribute of the Child-objects will also be null if
 they are fetched in a similar way.

 All clues appreciated...

 Lars

 - - - - - - - Code samples below - - - - - -

 @PersistenceCapable(identityType = IdentityType.APPLICATION)
 public class ParentDTO  {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName=datanucleus, key=gae.encoded-pk,
 value=true)
private String encodedKey;

@Persistent
public String name;

@Persistent(mappedBy=parent)
public ListChild childs;

public ParentDTO()
{

}

public void add(Child c)
{
if (childs == null)
childs = new ArrayListChild();
kids.add(c);
}
 }

  - - - -

 @PersistenceCapable(identityType = IdentityType.APPLICATION)
 public class Child {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName=datanucleus, key=gae.encoded-pk,
 value=true)
public String encodedKey;
@Persistent
public String name;

@Persistent
public Parent parent;

public Child()
{
}

public String getEncodedKey() {
return encodedKey;
}
 }

 - - - - -

 Storing to datastore (works perfectly)

public void store()
{
Parent p = new Parent();
p.navn = nils;

Child c = new Child();
c.name = jim;
p.add(c);

c = new ChildDTO();
c.name = anne;
p.add(c);

PersistenceManager pm =
 PMF.get().getPersistenceManager();
try {
pm.makePersistent(p);
} catch (Exception ee) {
res = ee.getMessage();
} finally {
pm.close();
}
}

  - - - - - - Fetching data (not working)

public String fetchParents()
{
String res = ;
PersistenceManager pm =
 PMF.get().getPersistenceManager();

javax.jdo.Query query = pm.newQuery(Parent.class);
ListParent parents = (ListParent) query.execute();
IteratorParent iterF = parents.iterator();
while (iterF.hasNext()) {
Parent f = iterF.next();
res = res + : + f.name;
if (f.childs != null) { // this is the
 problem - 'this.childs' is
 always null
IteratorChild iterI =
 f.childs.iterator();
while (iterI.hasNext()) {
Child idto = iterI.next();
res = res +  + idto.name
 ;
}
}
}
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-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Selecting more than 1000 rows ?

2009-10-19 Thread Sreekanth Raju
ok, let's say i want to retrieve entity from result list starting from index
1100 to 1150.

how to achieve this ?

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