[appengine-java] Re: FOP support / workaround

2009-12-08 Thread nicanor.babula
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 

Re: [appengine-java] Re: FOP support / workaround

2009-12-08 Thread Toby Reyelts
Neat! Care to elaborate?

On Tue, Dec 8, 2009 at 11:44 AM, nicanor.babula nicanor.bab...@gmail.comwrote:

 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
   

[appengine-java] Re: FOP support / workaround

2009-12-08 Thread nicanor.babula
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.comwrote:

  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