Hi Richy, Thanks for sharing your experience!
When I did the adaptation of Restlet to GAE (resulting in the new "org.restlet.gae.jar" available in recent snapshots), I took the source code and had to remove many classes that didn't compile due to the lack of sockets and SSL support (mainly the internal connectors). I'm surprised that the "org.restlet.jar" works despite this and I'm not sure if we should support this usage scenario. In addition, "org.restlet.gae.jar" includes the ServerServlet, the JavaMail and the JDK's Net connectors. In the future, it will leverage other GAE APIs. Regarding FreeMarker, the ContextTemplateLoader I just added to SVN trunk will probably help simplifying its usage in GAE with Restlet. Let me know if you have a chance to test it. Best regards, Jerome Louvel -- Restlet ~ Founder and Lead developer ~ http://www.restlet.org Noelios Technologies ~ Co-founder ~ http://www.noelios.com -----Message d'origine----- De : [email protected] [mailto:[email protected]] Envoyé : samedi 11 avril 2009 14:49 À : [email protected] Objet : RE: Re: Google AppEngine and Restlet After a bit of experimentation I have managed to get a Restlet/Freemarker stack running on GAE. The basic steps I took were : 1. Modify ServletConverter and ServletContextAdapter as detailed below. Basically this means replacing the calls to new ServletLogger with Logger.getLogger e.g. in the ServletConverter constructor do something like... super(new Context(Logger.getLogger(ServletConverter.class.getName()))); 2. Add org.freemarker.jar, org.restlet.jar, org.restlet.ext.servlet.jar and org.restlet.ext.freemarker.jar to the WEB-INF/lib of your google app project and add to the build path. 3. Follow usual setup for getting Restlet working in a Servlet environment. Folow the HelloWorld tutorial in the getting started docs - it should work fine locally (even without doing step 1. However, you'll need to replace these calls in order to get it to run in the real GAE) 4. Freemarker was a little more tricky, but not much. Create a freemarker configuration that uses the class template loader and put this in the Restlet Application context attributes. 5. Make sure your templates are somewhere on the class path. 6. Use the TemplateRepresentation along with your freemarker config from the context attributes 7. Make sure it works locally and upload to the app engine. Hopefully I'll get a chance to write this up properly over easter, but it wasn't too bad and looks promising so far. Cheers, Richy http://wiredupandfiredup.com ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=16485 97 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=1732294

