[appengine-java] Re: Spring Security with GAE - Adding object into HttpServletRequest does not appear to be working

2009-12-26 Thread Bert Peters
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

2009-12-26 Thread Bert Peters
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

2009-12-26 Thread mably
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

2009-12-26 Thread venkat satyanarayana
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

2009-12-26 Thread Sandeep Sathaye
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

2009-12-26 Thread David Chandler
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

2009-12-26 Thread sulaimanmra...@googlemail.com
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

2009-12-26 Thread George Moschovitis
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

2009-12-26 Thread zackmac
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

2009-12-26 Thread todd hoff
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

2009-12-26 Thread Tb
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

2009-12-26 Thread Lior Harsat
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

2009-12-26 Thread Lior Harsat
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