I've tried to get Apache FOP working 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 a FOP engine 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 get FOP working.

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

Reply via email to