Announcement Announcement Module
Collapse
No announcement yet.
Can't fill JasperReports report including markup="html" Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Can't fill JasperReports report including markup="html"

    Hello, everyone.

    I have a web application which uses JasperReports, with the peculiarity that the templates it uses to generate the reports include the "markup" attribute, set to "html".

    As a consequence, when the web application (deployed on dmServer) tries to fill the report, I get this error in the trace.log file:

    Code:
    [2009-07-20 12:58:30.046] server-tomcat-thread-1   ce.server.catalina].[localhost].[/com.ce.sias].[default].unknown E Servlet.service() for servlet default threw exception
    java.lang.Error: can't load apple.laf.AquaLookAndFeel
    	at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1184)
    	at javax.swing.UIManager.initialize(UIManager.java:1265)
    	at javax.swing.UIManager.maybeInitialize(UIManager.java:1253)
    	at javax.swing.UIManager.getUI(UIManager.java:859)
    	at javax.swing.text.JTextComponent.updateUI(JTextComponent.java:308)
    	at javax.swing.text.JTextComponent.<init>(JTextComponent.java:282)
    	at javax.swing.JEditorPane.<init>(JEditorPane.java:173)
    	at javax.swing.JEditorPane.<init>(JEditorPane.java:265)
    	at net.sf.jasperreports.engine.util.JEditorPaneHtmlMarkupProcessor.convert(JEditorPaneHtmlMarkupProcessor.java:78)
    	at net.sf.jasperreports.engine.fill.JRFillTextElement.processMarkupText(JRFillTextElement.java:1376)
    	at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:391)
    	at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:357)
    	at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:260)
    	at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:486)
    	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1427)
    	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:729)
    	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:256)
    	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:114)
    	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:911)
    	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814)
    	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
    	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:421)
    	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:251)
    	at com.ce.sias.PdfController.generate(PdfController.java:117)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
    	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
    	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
    	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    	at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:195)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159)
    	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
    	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.valves.CometConnectionManagerValve.invoke(CometConnectionManagerValve.java:248)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at com.springsource.server.servlet.tomcat.internal.StandardApplicationNameTracker$ApplicationNameTrackingValve.invoke(StandardApplicationNameTracker.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
    	at com.springsource.server.concurrent.core.ExecutorServiceDelegate$StatisticsGatheringRunnable.run(ExecutorServiceDelegate.java:137)
    	at com.springsource.server.concurrent.core.ServerThreadPoolExecutor$1.run(ServerThreadPoolExecutor.java:145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    	at java.lang.Thread.run(Thread.java:613)
    It must be noted that:
    1. The same application, deployed on Tomcat, runs just fine.
    2. The same application, deployed in dmServer, but using templates without the markup="html" attribute, runs just fine.

    Andy Wilkinson has kindly suggested that the problem might be solved boot-delegating apple.laf package. So, as soon as I learn how to do that, I'll put it to test and report the result.

    I'm using dm-server-1.0.2.RELEASE, running on a Java 1.6.0_07 VM, running on a Mac OS X 10.5.6.

    I'm relatively new to dmServer, and any advice on this issue will be greatly appreciated.

  • #2
    Update: boot-delegating apple.laf.* doesn't seem to work

    Hello again.

    I've added apple.laf.* to the org.osgi.framework.bootdelegation path, both in <dmServer_path>/lib/java5-server.profile and <dmServer_path>/lib/java6-server.profile files. It now looks like:

    Code:
    org.osgi.framework.bootdelegation = \
     apple.laf.*,\
     com_cenqua_clover,\
     com.cenqua.*,\
     com.yourkit.*,\
     com.springsource.server.bootstrap,\
     com.springsource.server.bootstrap.*,\
     com.springsource.server.kernel.bootstrap,\
     com.springsource.server.osgi.*,\
     com.sun.*,\
     javax.xml.*,\
     org.apache.xerces.jaxp.*,\
     org.w3c.*,\
     org.xml.*,\
     sun.*
    However, after restarting the server, no difference could be appreciated in its behavior.

    Any further suggestions? Thanks in advance.

    Comment


    • #3
      Glad you made it over to the forums

      The boot delegation property is somewhat unintuitive. It works on package names, and a setting of apple.laf.* means boot delegate all of the sub-packages of apple.laf, but doesn't mean boot delegate the apple.laf package itself. If you want to boot delegate apple.laf and its subpackages (which I think is probably the best bet in your scenario) you'll need two entries: apple.laf, apple.laf.*

      Comment


      • #4
        As usual, you was right. Adding apple.laf, as well as apple.laf.* did the trick.

        Thank you!

        Comment

        Working...
        X