You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Daniel Farinha <da...@ktorn.com> on 2004/02/18 17:48:02 UTC

Error rendering Velocity template: null

I'm currently having problems with this exception:

org.apache.turbine.util.TurbineException: Error rendering Velocity template:
null

The background to this, as summarized as possible:

1) working on CHTML support for JetSpeed 1.4, based on the existing WML support
(following Marco Mari's previous patch) - so the problem applies to WML

2) the above exception occurs when you either:
   a) add a new portlet to a WML page, via the Customizer. This has been
reported before.
   b) when you create a new WML page, regardeless of adding portlets or not

As mentioned in this mailing list before, both can be fixed manually, by editing
the user's WML PSML files, and adding:
   a) <control name="ClearPortletControl"/> to each portlet entry
   b) adding both <control name="ClearPortletControl"/> and <controller
name="FlowPortletController"/> to the same file, before the list of portlet
entries

But this meant that the Customizer couldn't be used for WML or any media based
on it.

I hacked CustomizeSetAction.java and PsmlManagerAction.java so that those
entries get added from the Customizer. It did work for the simple portlets
(based on FileWatchPortlet). From the customizer I could create a new WML/CHTML
page, add portlets, and access them from the mobile device. But I was still
feeling that hack was just temporarily hiding the problem.

Sure enough, now that I'm adapting the Customiser itself for CHTML, I'm again
getting the dreaded Error rendering Velocity template: null. And now there's no
PSML file to hack that I know of.

I'm considering either re-writing the CHTML support based on HTML rather than
WML, or tackling this problem straight-on, by downloading the Velocity source
and stepping-through the code.

In the mean time, any hints would be greatly appreciated.

Here's a dump of the whole exception, from jetspeed.log:

java.lang.NullPointerException
	at java.util.Hashtable.get(Hashtable.java:329)
	at
org.apache.velocity.runtime.resource.ResourceCacheImpl.get(ResourceCacheImpl.jav
a:92)
	at
org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceMan
agerImpl.java:332)
	at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:869
)
	at
org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:3
41)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:477)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:456)
rethrown as 
org.apache.turbine.util.TurbineException: Error rendering Velocity template:
null
	at
org.apache.turbine.services.velocity.TurbineVelocityService.renderingError(Turbi
neVelocityService.java:533)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.decodeRequest(Turbin
eVelocityService.java:499)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(Turbin
eVelocityService.java:336)
	at
org.apache.turbine.services.velocity.TurbineVelocity.handleRequest(TurbineVeloci
ty.java:143)
	at
org.apache.jetspeed.portal.controls.VelocityPortletControl.getContent(VelocityPo
rtletControl.java:176)
	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(Ubersp
ectImpl.java:305)
	at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:235)
	at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:2
13)
	at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:25
8)
	at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:269)
	at org.apache.velocity.Template.merge(Template.java:294)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:487)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:456)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.decodeRequest(Turbin
eVelocityService.java:494)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(Turbin
eVelocityService.java:336)
	at
org.apache.turbine.services.velocity.TurbineVelocity.handleRequest(TurbineVeloci
ty.java:143)
	at
org.apache.turbine.modules.screens.VelocityDirectScreen.buildTemplate(VelocityDi
rectScreen.java:123)
	at
org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:13
0)
	at org.apache.turbine.modules.Screen.build(Screen.java:99)
	at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:129)
	at
org.apache.turbine.util.template.TemplateScreen.toString(TemplateScreen.java:126
)
	at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:32
9)
	at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
	at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.jav
a:109)
	at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:269)
	at org.apache.velocity.Template.merge(Template.java:294)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:487)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:456)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.decodeRequest(Turbin
eVelocityService.java:384)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(Turbin
eVelocityService.java:278)
	at
org.apache.turbine.services.velocity.TurbineVelocity.handleRequest(TurbineVeloci
ty.java:107)
	at
org.apache.turbine.modules.navigations.VelocityNavigation.buildTemplate(Velocity
Navigation.java:132)
	at
org.apache.turbine.modules.navigations.TemplateNavigation.doBuild(TemplateNaviga
tion.java:103)
	at org.apache.turbine.modules.Navigation.build(Navigation.java:98)
	at
org.apache.turbine.modules.NavigationLoader.eval(NavigationLoader.java:129)
	at
org.apache.turbine.util.template.TemplateNavigation.toString(TemplateNavigation.
java:125)
	at
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:32
9)
	at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:269)
	at org.apache.velocity.Template.merge(Template.java:294)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:487)
	at org.apache.velocity.app.Velocity.mergeTemplate(Velocity.java:456)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.decodeRequest(Turbin
eVelocityService.java:494)
	at
org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(Turbin
eVelocityService.java:336)
	at
org.apache.turbine.services.velocity.TurbineVelocity.handleRequest(TurbineVeloci
ty.java:143)
	at
org.apache.turbine.modules.layouts.VelocityDirectLayout.doBuild(VelocityDirectLa
yout.java:106)
	at org.apache.turbine.modules.Layout.build(Layout.java:91)
	at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:123)
	at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:169)
	at org.apache.turbine.modules.Page.build(Page.java:90)
	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123)
	at org.apache.turbine.Turbine.doGet(Turbine.java:563)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt
erChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2
56)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1
91)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java
:171)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
n(Http11Protocol.java:549)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:66
6)
	at java.lang.Thread.run(Thread.java:536)


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org