[appengine-java] Re: Spring Security with GAE - Adding object into HttpServletRequest does not appear to be working
What you could do, is check the logs, in your admin panel. They show which error is generated, and at which line. I had a similar problem once, and that helped. On Dec 24, 9:46 pm, sulaimanmra...@googlemail.com sulaimanmra...@googlemail.com wrote: Hi, I've created a GAE web application using Spring 3.0 and Spring Security 2.0.5. After a little heartache and help from reading the posts on the forum, I managed to get it all working locally, with users able to register, validate their accounts via email and login in securely. When a user logs in, I wanted to make their details available across the site. I did this by creating an Interceptor, responsible for pulling the prinicipal from the Spring Security Authentication class (retrieved from the SecurityContextHolder) and then placing the object in the HttpServletRequest object. Below is a snippet of code from the interceptor. public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { try { Member member = securityContext.getMember(); request.setAttribute(user, member); log.info(injecting user into request); } catch(SecurityRuntimeException e) { // do nothing - will be thrown if no user is logged in } } The user's information is wrapped in a 'Member' object, with the securityContext responsible for retrieving it from the SecurityContextHolder. Locally, on the GAE development environment, everything works fine! The interceptor correctly places the principal in the request and my JSP's can readily access it. However, when I deploy the application to the app engine, it does not appear to work. The logs have not provided any clue as to why the request does not appear to have the principal in it. Is there any reason why the interceptor would not work on the app engine? Or, is it ill-advised to add objects into the HttpServletRequest? I'm tearing my hair out with why it's not working, and it's the only thing within my application that isn't! So any help or advice offered is much appreciated. I'm hoping to have my code up in the Google Code repository so if anyone wants to have a look, they're more than welcome. Thanks! Sully -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Eclipse AppEngine Plugin
Yes, it certainly could. For every version of eclipse, there is a specific update of the Google Plugin you need. For Galileo, you nee this: http://dl.google.com/eclipse/plugin/3.5 Make sure you've got that one, instead of the 3.4 one or something. On Dec 24, 10:40 am, Ambiency k.hankin...@btinternet.com wrote: I have recently upgraded eclipse to Galileo. Previously, with Ganymede, I had no problems running an app locally using the Google Appengine plugin. I now cannot run Appengine code (run as ...Google Web App). I get an exception 'javax.xml.parsers.FactoryConfigurationError: Provider oracle.xml.jaxp.JXDocumentBuilderFactory not found' I have now also tried running my Ganymede installation and that falls over during a build with the same message. Could this be related to the Eclipse upgrade? Regards Kevin -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Generating QR Codes with ZXing
Here is my ZXing ByteMatrix to PNG encoder, derived from the PNGEncoder from KeyPoint Software distributed under the LGPL license. It generates GrayScale only PNG bar codes. /* * Copyright (C) 2009 Francois Masurel * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/ . */ package com.mably.cms.utils.zxing; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.CRC32; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream; import com.google.zxing.common.ByteMatrix; /** * PngEncoder takes a Java Image object and creates a byte string which can be * saved as a PNG file. The Image is presumed to use the DirectColorModel. * * p * Thanks to Jay Denny at KeyPoint Software http://www.keypoint.com/ who let me * develop this code on company time. * /p * * p * You may contact me with (probably very-much-needed) improvements, comments, * and bug fixes at: * /p * * p * codeda...@catcode.com/code * /p * * p * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * /p * * p * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * /p * * p * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA A copy of the GNU LGPL * may be found at codehttp://www.gnu.org/copyleft/lesser.html/ code * /p * * @author J. David Eisenberg * @version 1.5, 19 Oct 2003 * * CHANGES: 19-Nov-2002 : CODING STYLE CHANGES ONLY (by David * Gilbert for Object Refinery Limited); 19-Sep-2003 : Fix for * platforms using EBCDIC (contributed by Paulo Soares); 19- Oct-2003 : * Change private fields to protected fields so that PngEncoderB can * inherit them (JDE) Fixed bug with calculation of nRows */ public class ByteMatrixPngEncoder extends Object { /** IHDR tag. */ protected static final byte IHDR[] = { 73, 72, 68, 82 }; /** IDAT tag. */ protected static final byte IDAT[] = { 73, 68, 65, 84 }; /** IEND tag. */ protected static final byte IEND[] = { 73, 69, 78, 68 }; /** Constants for filter (NONE) */ protected static final int FILTER_NONE = 0; protected static final byte BLACK = (byte) 0x00; protected static final byte WHITE = (byte) 0xFF; /** The png bytes. */ protected byte[] pngBytes; /** The prior row. */ protected byte[] priorRow; /** The left bytes. */ protected byte[] leftBytes; /** The width. */ protected int width, height; /** The byte position. */ protected int bytePos, maxPos; /** CRC. */ protected CRC32 crc = new CRC32(); /** The CRC value. */ protected long crcValue; /** The bytes-per-pixel. */ protected int bytesPerPixel; /** The compression level. */ protected int compressionLevel; private ByteMatrix matrix; /** * Class constructor specifying Image source to encode, whether to encode * alpha, filter to use, and compression level. * * @param image *A Java Image object * @param encodeAlpha *Encode the alpha channel? false=no; true=yes * @param whichFilter *0=none, 1=sub, 2=up * @param compLevel *0..9 * @see java.awt.Image */ public ByteMatrixPngEncoder(ByteMatrix matrix, int compLevel) { this.matrix = matrix; this.width = matrix.getWidth(); this.height = matrix.getHeight(); this.bytesPerPixel = 1; if (compLevel = 0 compLevel = 9) { this.compressionLevel = compLevel; } } /** * Creates an array of bytes that is the PNG
Re: [appengine-java] mail message
HI Thank you, i didn't see any setting in the link , can you please tell me setting Thanks venkat On Thu, Dec 24, 2009 at 1:04 PM, venkat satyanarayana nidadavolu.ven...@gmail.com wrote: Hi , i ma tring to send mail with google app engine with java my code : Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); String msgBody = test; try { Message msg = new MimeMessage(session); try { msg.setFrom(new InternetAddress( nidadavolu.ven...@gmail.com, Example.com Admin)); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { msg.addRecipient(Message.RecipientType.TOhttp://message.recipienttype.to/ , new InternetAddress( nidadavolu.ven...@gmail.com , Mr. User)); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } msg.setSubject(Your Example.com account has been activated); msg.setText(msgBody); Transport.send(msg); } catch (AddressException e) { // ... } catch (MessagingException e) { // ... } but i didn't get any error , but we are not receaving mail thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Relational Table using JDO
We have build a software product to provide such functionality. You can check it out at http://www.cloud2db.com. On Fri, Dec 25, 2009 at 9:36 PM, Michael Chan hsmc...@gmail.com wrote: You can do some sort of relational mappings between entities but not to the full extend like RDBMS. Have you worked through the examples in http://code.google.com/appengine/docs/java/datastore/ yet? On Fri, Dec 25, 2009 at 9:36 PM, TiagoP pix...@gmail.com wrote: Hi all, I have a simple doubt that I would like to see explained. I know a bit of relational databases but I don't understand how I can do the same using JDO. As for example, I have a table users-plans which combines the table user to the table plans. In table plans I have all the plans and I just match it to the user in a middle table. Could someone explain how this would work in GAE? Thanks and Merry Christmas! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Michael Hoi Sang Chan MSc Advanced Software Engineering Department of Computer Science King's College London Strand, LONDON WC2R 2LS Tel: +447881900965 -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: So I found out I can't simulate post in a cron job and pass parameters after ? in URL
Sounds like you might want to use a simple cron job to insert a task into a task queue. You can easily handle task parameters with Deferred.defer(): http://turbomanage.wordpress.com/2009/11/20/deferred-defer-is-a-thing-of-beauty/ /dmc On Dec 24, 12:43 am, Tb tho...@bertranfamily.com wrote: I know it kinda looks ugly since I had to add a doGet method to my servlet to call doPost with the request and response objects... but it was going to get the job done! Or so I thought... I'm getting a com.google.apphosting.utils.config.AppEngineConfigException: XML error validating exception when GAE tries to match my cron.xml to the xsd file. The url looks something like this /doCall? user=testrank=1. Am I missing something or there's no way to set-up a real cron job with command-line arguments and that kind of stuff? We can just do a dumb get to a servlet? Like I said, I may be missing something... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Spring Security with GAE - Adding object into HttpServletRequest does not appear to be working
Hi Bert, Thanks for the response. I've managed to fix the problem by adding some logging to my application and looking to see what came out using the admin panel. The problem was something in my code. The object I was placing into the request was in fact null! Silly error. Thanks for you help. On Dec 26, 8:44 am, Bert Peters bert.ljpet...@gmail.com wrote: What you could do, is check the logs, in your admin panel. They show which error is generated, and at which line. I had a similar problem once, and that helped. On Dec 24, 9:46 pm, sulaimanmra...@googlemail.com sulaimanmra...@googlemail.com wrote: Hi, I've created a GAE web application using Spring 3.0 and Spring Security 2.0.5. After a little heartache and help from reading the posts on the forum, I managed to get it all working locally, with users able to register, validate their accounts via email and login in securely. When a user logs in, I wanted to make their details available across the site. I did this by creating an Interceptor, responsible for pulling the prinicipal from the Spring Security Authentication class (retrieved from the SecurityContextHolder) and then placing the object in the HttpServletRequest object. Below is a snippet of code from the interceptor. public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { try { Member member = securityContext.getMember(); request.setAttribute(user, member); log.info(injecting user into request); } catch(SecurityRuntimeException e) { // do nothing - will be thrown if no user is logged in } } The user's information is wrapped in a 'Member' object, with the securityContext responsible for retrieving it from the SecurityContextHolder. Locally, on the GAE development environment, everything works fine! The interceptor correctly places the principal in the request and my JSP's can readily access it. However, when I deploy the application to the app engine, it does not appear to work. The logs have not provided any clue as to why the request does not appear to have the principal in it. Is there any reason why the interceptor would not work on the app engine? Or, is it ill-advised to add objects into the HttpServletRequest? I'm tearing my hair out with why it's not working, and it's the only thing within my application that isn't! So any help or advice offered is much appreciated. I'm hoping to have my code up in the Google Code repository so if anyone wants to have a look, they're more than welcome. Thanks! Sully -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Set the Timezone
Thank you I will try this! kind regards, George. On Dec 25, 10:24 am, Yasuo Higa higaya...@gmail.com wrote: Hi George, Is there a way to set the timezone for my application? TimeZone.setDefault(TimeZone.getTimeZone(GMT-8:00)); Have you actually *tested* this on App Engine? Yes. This should be inserted in the servlet initialization code? You can insert the code when the servlet initializes as follows: @Override public void init() throws ServletException { TimeZone.setDefault(TimeZone.getTimeZone(GMT-8:00)); } When I reply something, I always try it. Hope this helps, Yasuo Higa -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] jdoql contains method
I'm trying to use the contains method in a query and having some trouble. The query is formatted like this: select from Transactions where userName == 'auser' account == 'anAccount' desc.contains(ing) order by transDate desc, categoryName desc is a column in my Transactions table. Don't think I'm quite understanding how the contains method works and how to implement in a query. I get this error returned on my jsp when I try to run that query: org.datanucleus.store.appengine.query.DatastoreQuery $UnsupportedDatastoreFeatureException: Problem with query -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Time Zone not being set on the Mac
The time zone doesn't seem to be set correctly on the mac. This same code seems to work on the windows. The example uses PST but I've tried GMT-8 and others and it doesn't seem to matter. It likes UTC. Test case: TimeZone.setDefault(TimeZone.getTimeZone(PST)); System.out.println(NOW= + new Date() + TZ= + TimeZone.getDefault ()); NOW=Sat Dec 26 23:17:05 UTC 2009 TZ=sun.util.calendar.ZoneInfo [id=UTC,offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] D Is there something special that needs to be done on the Mac? thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: So I found out I can't simulate post in a cron job and pass parameters after ? in URL
Successfully tested! Thanks a bunch! On Dec 26, 8:20 am, David Chandler turboman...@gmail.com wrote: Sounds like you might want to use a simple cron job to insert a task into a task queue. You can easily handle task parameters with Deferred.defer(): http://turbomanage.wordpress.com/2009/11/20/deferred-defer-is-a-thing... /dmc On Dec 24, 12:43 am, Tb tho...@bertranfamily.com wrote: I know it kinda looks ugly since I had to add a doGet method to my servlet to call doPost with the request and response objects... but it was going to get the job done! Or so I thought... I'm getting a com.google.apphosting.utils.config.AppEngineConfigException: XML error validating exception when GAE tries to match my cron.xml to the xsd file. The url looks something like this /doCall? user=testrank=1. Am I missing something or there's no way to set-up a real cron job with command-line arguments and that kind of stuff? We can just do a dumb get to a servlet? Like I said, I may be missing something... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: google docs error when trying to retrieve docs in GAE/J
Hi Zack, I has some (bad) experience with the google docs api. there are two options that I know of that might cause the error you see. 1. you have a missing jar in your bin folder. 2. GAE strange behavior I've noticed (not sure If i should call it a bug). I assume you have explorer option one and it is not the case. regarding option 2. I have witnessed the following: a. many times a call to the DocsService.get*** will fail with no apparent reason. subsequent calls may succeed. What I did is , I've set a retry counter and simply caught the exceptions and retried calling them. for most api setting the counter to 5 did the trick. for others I needed 10. b. the code examples in google docs code simply didn't work. In order to work around this issue I played around with the API until I was able to hack something. (use the local GAE for these games). I know my answer may not be a solution for you but at least its nice to know that I wasn't the only one having issues with Google Docs APIs. Thanx. Lior On Dec 27, 3:03 am, zackmac zack.macom...@gmail.com wrote: I'm just trying to do an initial google docs example but am getting an error at the DocumentListFeed call (DocumentListFeed feed = service.getFeed(documentListFeedUrl, DocumentListFeed.class)): com.google.gdata.util.ResourceNotFoundException: Not Found This is my full code listing (with user and pwd changed): DocsService service = new DocsService(TEST); service.setUserCredentials(my_u...@gmail.com,my_pwd); URL documentListFeedUrl = new URL(http://docs.google.com/feeds/ documents/private/full); DocumentListFeed feed = service.getFeed(documentListFeedUrl, DocumentListFeed.class); I've read some forums on this but it seems like I have everything in place that's needed... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Data Nucleus Enhancer Exception
Hi, This happens from time to time on the google app engine eclipse plugin. so If you are using eclipse,clean and build your project. open the enhancer console ( in eclipse) and verify that it ran correctly. Thanx, Lior On Dec 25, 11:33 am, Vik vik@gmail.com wrote: Hie While trying to do executeQuery i get the follow exception: SEVERE: Exception is :Persistent class Class vik.sakshum.sakshumweb.server.model.jdo.Subscribe does not seem to have been enhanced. You may want to rerun the enhancer and check for errors in the output. has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class. javax.jdo.JDOUserException: Persistent class Class vik.sakshum.sakshumweb.server.model.jdo.Subscribe does not seem to have been enhanced. You may want to rerun the enhancer and check for errors in the output. has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class. at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(Nuc leusJDOHelper.java:375) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:230) at vik.sakshum.sakshumweb.server.model.DoSubscribe.execute(DoSubscribe.java:35 ) at vik.sakshum.sakshumweb.server.SubscribeModule$1$2.buttonClick(SubscribeModu le.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 9) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime .java:100) at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:487) at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161) at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1105) at com.vaadin.ui.Button.fireClick(Button.java:341) at com.vaadin.ui.Button.changeVariables(Button.java:177) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables (AbstractCommunicationManager.java:1058) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlReq uest(AbstractCommunicationManager.java:559) at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(Commu nicationManager.java:260) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractA pplicationServlet.java:438) at com.vaadin.terminal.gwt.server.GAEApplicationServlet.service(GAEApplication Servlet.java:231) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1093) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi lter.java:51) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans actionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile Filter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn gineWebAppContext.java:70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandle r.handle(JettyContainerService.java:352) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java :844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396 ) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java: 442) NestedThrowablesStackTrace: Persistent class Class vik.sakshum.sakshumweb.server.model.jdo.Subscribe does not seem to have been