The #[[ unparsed, but included in output ]]# feature is also in 1.7-beta1. On Wed, Nov 3, 2010 at 8:52 AM, Claude Brisson <cla...@renegat.net> wrote: > The upcoming release (2.0) of Velocity will introduce a way to have inlined > unparsed content: > > #[[ ...unparsed content.. ]]# > > Meanwhile, there are several tricks that do work, like: > > #set($h = '#") > > ...DataObject${h}copyFrom(... > > > > Claude > > On 03/11/2010 16:25, Matthew Hall wrote: >> >> I'm using Velocity to do some Java code generation, and I recently added >> Javadoc comments to the macro so that the generated Java code will be >> documented. I'm having a problem getting Velocity to give me the output I >> want in my generated code, though. >> >> Here's an example of a Javadoc comment I added to my Velocity macro: >> >> /** >> >> * @see >> >> com.intervolve.prometheus.core.dataobj.DataObject#copyFrom(com.intervolve.prometheus.core.dataobj.DataObject) >> >> */ >> >> When I run the macro containing this comment, I get the following error: >> >> org.apache.velocity.exception.ParseErrorException: Lexical error: >> org.apache.velocity.runtime.parser.TokenMgrError: Lexical error at line >> 170, >> column 80. Encountered: "i" (105), after : "." >> at org.apache.velocity.Template.process(Template.java:141) >> at >> >> org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:446) >> at >> >> org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354) >> at >> >> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400) >> at >> >> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1380) >> at >> >> org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:401) >> at org.apache.velocity.texen.Generator.getTemplate(Generator.java:310) >> at org.apache.velocity.texen.Generator.parse(Generator.java:383) >> at org.apache.velocity.texen.Generator.parse(Generator.java:353) >> 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:597) >> at >> >> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) >> at >> >> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) >> at >> >> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) >> at >> >> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262) >> at >> >> org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:342) >> at >> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >> at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366) >> at >> >> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175) >> at >> >> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) >> at org.apache.velocity.Template.merge(Template.java:328) >> at org.apache.velocity.Template.merge(Template.java:235) >> at org.apache.velocity.texen.Generator.parse(Generator.java:445) >> at org.apache.velocity.texen.ant.TexenTask.execute(TexenTask.java:584) >> at >> >> com.intervolve.prometheus.build.ant.OMGenerationTask.execute(OMGenerationTask.java:35) >> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) >> at org.apache.tools.ant.Project.executeTarget(Project.java:1306) >> at >> >> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) >> at >> >> org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1189) >> at >> >> org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:423) >> at >> >> org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:137) >> >> I believe that this error is happening because Velocity thinks that >> "#copyFrom(com." is a directive, so I add the escape character in front of >> the #, like this: >> >> /** >> >> * @see >> >> com.intervolve.prometheus.core.dataobj.DataObject\#copyFrom(com.intervolve.prometheus.core.dataobj.DataObject) >> >> */ >> >> This resolves the error, and my Velocity macro is now able to run, >> however, >> the escape character is present in the generated code file as well. This >> causes Javadoc to not be able to interpret the @see tag and correctly link >> to the specified method. What can I do to resolve this, so that the >> escape >> character that is preventing the error does not appear in my generated >> code >> file? Thanks in advance! >> >> --Matt >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org > For additional commands, e-mail: user-h...@velocity.apache.org > >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org For additional commands, e-mail: user-h...@velocity.apache.org