Sure thing!
http://nicanorcristian.blogspot.com/2009/11/apache-fop-on-google-application-engine.html

On Dec 8, 5:57 pm, Toby Reyelts <to...@google.com> wrote:
> Neat! Care to elaborate?
>
> On Tue, Dec 8, 2009 at 11:44 AM, nicanor.babula 
> <nicanor.bab...@gmail.com>wrote:
>
> > I got FOP working.
>
> > On Oct 19, 6:37 pm, Stakka <henrik.lindqv...@gmail.com> wrote:
> > > I've tried to get ApacheFOPworking on GAE, using java.awt.* classes
> > > from Harmony.
> > > I came to the conclusion it's just to much work.
>
> > > Problems:
> > > * Implement the required java.awt.* and javax.imageio.* classes.
> > > * Implement a complete Graphics2D in java. JVMs use the OS native
> > > drawing APIs.
> > > * Implement font management, atleast TrueType. Same problem here, JVMs
> > > use native.
>
> > > If there was aFOPengine using iText instead, it would be easier.
> > > iText uses alot less awt classes and got its own font manager.
>
> > > Good luck - please post if you getFOPworking.
>
> > > On Oct 19, 10:21 am, "nicanor.babula" <nicanor.bab...@gmail.com>
> > > wrote:
>
> > > > Got that solved by ignoring "external-graphics" tags. Now I am stuck
> > > > with another restricted class:
> > > > Error for /TestFOP
> > > > java.lang.NoClassDefFoundError: java.awt.geom.AffineTransform is a
> > > > restricted class. Please see the Google App Engine developer's guide
> > > > for more details.
> > > >         at
>
> > com.google.apphosting.runtime.security.shared.stub.java.awt.geom.AffineTransform.<clinit>
> > > > (AffineTransform.java)
> > > >         at org.apache.xmlgraphics.java2d.GraphicContext.<init>
> > > > (GraphicContext.java:59)
> > > >         at org.apache.fop.render.intermediate.IFGraphicContext.<init>
> > > > (IFGraphicContext.java:42)
> > > >         at org.apache.fop.render.intermediate.IFRenderer.<init>
> > > > (IFRenderer.java:127)
> > > >         at
> > > > org.apache.fop.render.RendererFactory.createRendererForDocumentHandler
> > > > (RendererFactory.java:313)
> > > >         at
> > org.apache.fop.render.RendererFactory.tryIFDocumentHandlerMaker
> > > > (RendererFactory.java:290)
> > > >         at org.apache.fop.render.RendererFactory.createRenderer
> > > > (RendererFactory.java:270)
> > > >         at
> > org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:
> > > > 69)
> > > >         at org.apache.fop.area.AreaTreeHandler.setupModel
> > > > (AreaTreeHandler.java:130)
> > > >         at
> > org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:
> > > > 102)
> > > >         at org.apache.fop.render.RendererFactory.createFOEventHandler
> > > > (RendererFactory.java:359)
> > > >         at
> > org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:105)
> > > >         at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:100)
> > > >         at org.apache.fop.apps.Fop.<init>(Fop.java:78)
> > > >         at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:255)
> > > >         at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:232)
> > > >         at cri.almaitalia.AlmaOffice.server.Servlets.TestFOP.genPDF
> > > > (TestFOP.java:90)
> > > >         at cri.almaitalia.AlmaOffice.server.Servlets.TestFOP.doPost
> > > > (TestFOP.java:56)
> > > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
> > > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> > > >         at
> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> > > > 487)
> > > >         at
> > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > > (ServletHandler.java:1093)
> > > >         at
> > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter
> > > > (SaveSessionFilter.java:35)
> > > >         at
> > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > > (ServletHandler.java:1084)
> > > >         at
> > > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
> > > > (TransactionCleanupFilter.java:43)
> > > >         at
> > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > > (ServletHandler.java:1084)
> > > >         at 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.runtime.jetty.AppVersionHandlerMap.handle
> > > > (AppVersionHandlerMap.java:238)
> > > >         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
> > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
> > > > (RpcRequestParser.java:76)
> > > >         at
> > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> > > >         at
>
> > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest
> > > > (JettyServletEngineAdapter.java:139)
> > > >         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)
> > > > Anyone? No ideas?
>
> > > > thx.
>
> > --
>
> > 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<google-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.


Reply via email to