[ 
https://issues.apache.org/jira/browse/VELOCITY-537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571145#action_12571145
 ] 

Nathan Bubna commented on VELOCITY-537:
---------------------------------------

NodeUtils.tokenLiteral() is not a generated class/method.  But it does seem odd 
to have the fix here when the problem seems to be rooted from elsewhere.   
Still, if it fixes it and no one steps up to dig for the root issue, then i'd 
support including this fix.  Better a workaround than nothing!   Marnix, do you 
think you could whip up a test case to go with this patch (well, it's sort of a 
patch :)?

> Multi-line comments causing ParseException in macros in Velocity engine 1.5
> ---------------------------------------------------------------------------
>
>                 Key: VELOCITY-537
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-537
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.5
>            Reporter: Christopher Townson
>             Fix For: 1.5.1
>
>
> Moving from velocity engine 1.4 to 1.5, one of my macros is now causing a 
> ParseException:
> #macro( makeLink $filepath )#*
>     *##if ($request.serverName.equalsIgnoreCase("www.liveserver.com") || 
> $request.serverName.equalsIgnoreCase("liveserver.com"))#*
>         *##set($mirrorDomain = "livemirror.com")#*
>     *##elseif($request.serverName.equalsIgnoreCase("stagingserver.com"))#*
>         *##set($mirrorDomain = "stagingmirror.com")#*
>     *##elseif($request.serverName.equalsIgnoreCase("devserver.com") || 
> $request.serverName.equalsIgnoreCase("localhost"))#*
>         *##set($mirrorDomain = "devmirror.com")#*
>     *##else#*
>         *##set($mirrorDomain = "liveserver.com")#*
>     *##end#*
>     *#http://${mirrorDomain}${filepath}#*
> *##end
> This macro uses the mutli-line comment hack to gobble whitespace (so that 
> none appears in the link text, whilst preserving some kind of readability.
> This works fine in 1.4, but throws a ParseException in 1.5 (stacktrace below)
> -- stacktrace --
> 2007-04-03 16:05:38,712 - VelocimacroManager.parseTree() : exception makeLink
> org.apache.velocity.runtime.parser.ParseException: Lexical error: 
> org.apache.velocity.runtime.parser.TokenMgrError: Lexical error at line 1, 
> column 535.  Encountered: <EOF> after : ""
>       at org.apache.velocity.runtime.parser.Parser.parse(Parser.java:124)
>       at 
> org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1042)
>       at 
> org.apache.velocity.runtime.directive.VelocimacroProxy.parseTree(VelocimacroProxy.java:342)
>       at 
> org.apache.velocity.runtime.directive.VelocimacroProxy.setupMacro(VelocimacroProxy.java:322)
>       at 
> org.apache.velocity.runtime.directive.VelocimacroProxy.init(VelocimacroProxy.java:309)
>       at 
> org.apache.velocity.runtime.parser.node.ASTDirective.init(ASTDirective.java:134)
>       at 
> org.apache.velocity.runtime.parser.node.SimpleNode.init(SimpleNode.java:285)
>       at org.apache.velocity.Template.initDocument(Template.java:199)
>       at org.apache.velocity.Template.process(Template.java:121)
>       at 
> org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:415)
>       at 
> org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)
>       at 
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
>       at 
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1077)
>       at 
> org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:528)
>       at 
> org.apache.velocity.tools.view.servlet.VelocityViewServlet.getTemplate(VelocityViewServlet.java:667)
>       at 
> org.apache.velocity.tools.view.servlet.VelocityViewServlet.handleRequest(VelocityViewServlet.java:601)
>       at 
> org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(VelocityViewServlet.java:541)
>       at 
> org.apache.velocity.tools.view.servlet.VelocityViewServlet.doGet(VelocityViewServlet.java:507)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>       at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>       at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>       at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to