Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-2808

Export as HTML throws URISyntaxException when Page with attachment contains a whitespace in the page name.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • 1.9 M2
    • 1.5.2
    • {Unused} Export
    • None
    • Tomcat 5.5.27
    • patch
    • Unit

    Description

      I want to export a page as HTML.

      • The page contains one attachment: commentsView.jpg
      • The name of the page contains a whitespace: "My Page"

      I know that the exception is thrown because of the whitespace in the pagename. But people are used to create such pages. And XWiki allows it.

      During the (successfull) export I get the following exception:

      java.net.URISyntaxException: Illegal character in path at index 31: file://attachment/xwiki.Main.My Page.commentsView.jpg
      at java.net.URI$Parser.fail(URI.java:2816)
      at java.net.URI$Parser.checkChars(URI.java:2989)
      at java.net.URI$Parser.parseHierarchical(URI.java:3073)
      at java.net.URI$Parser.parse(URI.java:3021)
      at java.net.URI.<init>(URI.java:578)
      at com.xpn.xwiki.web.ExportURLFactory.createAttachmentURL(ExportURLFactory.java:241)
      at com.xpn.xwiki.web.ExportURLFactory.createAttachmentURL(ExportURLFactory.java:255)
      at com.xpn.xwiki.doc.XWikiDocument.getAttachmentURL(XWikiDocument.java:757)
      at com.xpn.xwiki.api.Document.getAttachmentURL(Document.java:436)
      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.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
      at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
      at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:448)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:88)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:178)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:143)
      at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:107)
      at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1596)
      at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:608)
      at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
      at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:88)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:178)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:143)
      at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:107)
      at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1596)
      at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:608)
      at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:295)
      at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:245)
      at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:203)
      at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:294)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:194)
      at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:88)
      at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:74)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
      at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:178)
      at org.xwiki.velocity.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:143)
      at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:107)
      at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1596)
      at com.xpn.xwiki.export.html.HtmlPackager.renderDocument(HtmlPackager.java:177)
      at com.xpn.xwiki.export.html.HtmlPackager.renderDocuments(HtmlPackager.java:230)
      at com.xpn.xwiki.export.html.HtmlPackager.export(HtmlPackager.java:270)
      at com.xpn.xwiki.web.ExportAction.exportHTML(ExportAction.java:170)
      at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:59)
      at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:216)
      at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:115)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at com.xpn.xwiki.web.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:287)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:595)

      Attachments

        Activity

          People

            arunreddy Arun Reddy
            hor Reto Hotz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: