Poor handling of null request in DashboardMacroSupport.getRequestParameter() during exports (such as HTML and PDF)

XMLWordPrintable

      The spaces list macro will throw the following exceptions during a PDF export.

      java.lang.NullPointerException
              at com.atlassian.confluence.renderer.radeox.macros.DashboardMacroSupport.getRequest(DashboardMacroSupport.java:274)
              at com.atlassian.confluence.renderer.radeox.macros.DashboardMacroSupport.getRequestParameter(DashboardMacroSupport.java:266)
              at com.atlassian.confluence.renderer.radeox.macros.DashboardMacroSupport.getSpacesSelectedTab(DashboardMacroSupport.java:205)
              at com.atlassian.confluence.renderer.radeox.macros.SpacesListMacro.getHtml(SpacesListMacro.java:64)
              at com.atlassian.confluence.renderer.radeox.macros.AbstractHtmlGeneratingMacro.execute(AbstractHtmlGeneratingMacro.java:42)
              at com.atlassian.renderer.macro.RadeoxCompatibilityMacro.execute(RadeoxCompatibilityMacro.java:149)
              at com.atlassian.confluence.renderer.v2.macros.RadeoxCompatibilityMacro.execute(RadeoxCompatibilityMacro.java:27)
              at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
              at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:254)
              at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:150)
              at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
              at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:126)
              at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:114)
              at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:99)
              at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
              at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:46)
              at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
              at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
              at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
              at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
      

      and

      	2007-12-21 16:05:29,975 ERROR [Export Space task] [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: spaces-list
      	 -- url: /spaces/doexportspace.action | userName: pcurren | action: doexportspace
      	java.lang.NullPointerException
      		at com.atlassian.confluence.renderer.radeox.macros.AbstractHtmlGeneratingMacro.buildBaseUrl(AbstractHtmlGeneratingMacro.java:117)
      		at com.atlassian.confluence.renderer.radeox.macros.SpacesListMacro.getHtml(SpacesListMacro.java:77)
      		at com.atlassian.confluence.renderer.radeox.macros.AbstractHtmlGeneratingMacro.execute(AbstractHtmlGeneratingMacro.java:42)
      		at com.atlassian.renderer.macro.RadeoxCompatibilityMacro.execute(RadeoxCompatibilityMacro.java:149)
      		at com.atlassian.confluence.renderer.v2.macros.RadeoxCompatibilityMacro.execute(RadeoxCompatibilityMacro.java:27)
      		at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
      		at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:254)
      		at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:150)
      		at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
      		at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:126)
      		at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:114)
      		at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:99)
      		at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
      		at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:46)
      		at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
      		at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
      		at sun.reflect.GeneratedMethodAccessor283.invoke(Unknown Source)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      		at java.lang.reflect.Method.invoke(Method.java:585)
      		at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
      		at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
      		at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      		at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      		at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
      		at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
      		at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
      		at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      		at $Proxy40.convertWikiToXHtml(Unknown Source)
      		at com.atlassian.confluence.renderer.DefaultWikiStyleRenderer.convertWikiToXHtml(DefaultWikiStyleRenderer.java:19)
      		at com.atlassian.confluence.importexport.impl.WikiExporter.exportWikiToXHtml(WikiExporter.java:132)
      		at com.atlassian.confluence.importexport.impl.WikiExporter.exportWikiToXslFo(WikiExporter.java:142)
      		at com.atlassian.confluence.importexport.impl.WikiExporter.exportWikiToXslFo(WikiExporter.java:102)
      		at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      		at java.lang.reflect.Method.invoke(Method.java:585)
      		at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:260)
      		at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207)
      		at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:250)
      		at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
      

      These errors boil down to the fact that the Macro expects to be called from an HTTP request but in the case of an export it is not.

              Assignee:
              dave (Inactive)
              Reporter:
              Paul Curren
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: