[jira] [Commented] (VELOCITY-966) RuntimeInstance.render throws null pointer exception when trying to render the same AST
"Dmitry Ponomarev (Jira)" <[email protected]>
| Newsgroups | gmane.comp.jakarta.velocity.devel |
|---|---|
| Message-ID | <[email protected]> |
[ https://issues.apache.org/jira/browse/VELOCITY-966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17878147#comment-17878147 ]
Dmitry Ponomarev commented on VELOCITY-966:
-------------------------------------------
Please see code example:
[https://github.com/techsup69/velocity-966]
It demonstrates multiple usage of parsed template with velocity 1.7 and 2.3.
In velocity 1.7 it works, in 2.3 it fails with NullPointerException.
> RuntimeInstance.render throws null pointer exception when trying to render the same AST
> ----------------------------------------------------------------------------------------
>
> Key: VELOCITY-966
> URL: https://issues.apache.org/jira/browse/VELOCITY-966
> Project: Velocity
> Issue Type: Bug
> Affects Versions: 2.3
> Reporter: Alex
> Priority: Major
>
> The objective is to use
> *RuntimeInstance.parse* to get the parsed AST for some template and cache the AST.
> Then use *RuntimeInstance.render* multiple times to render the text.
>
> It appears that in version 2.3 {*}RuntimeInstance.{*}{*}render{*} invokes the Node.init call and at the end of the rendering clears the parser and tokens. On the next attempt to render init fails with the NullPointerException because tokens have been cleared.{*}{*}
>
> So you can not call *RuntimeInstance.render* on the same AST several times
> which seems to be the intent of this method...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)