[prev in list] [next in list] [prev in thread] [next in thread] 

List:       velocity-user
Subject:    Re: A tool to analyze your templates
From:       Simon Gubler <sgubler () gmail ! com>
Date:       2008-06-11 8:38:11
Message-ID: 484F8EF3.5040802 () googlemail ! com
[Download RAW message or body]


Nathan Bubna schrieb:
> On Mon, May 12, 2008 at 1:10 PM, Simon Gubler <sgubler@gmail.com> wrote:
>   
>> Hi Ahmed
>>
>>  I have to say, that I don't use the velocity API, I basically scan the files
>>  for #foreach, #end and ${.*} or $!{.*} Expressions and list them in the
>>  outputfile. When I have time (probably next month) I will look into the
>>  velocity API. If I can use it I won't have to implement the grammar myself.
>>     
>
> When you do that, referencing the following might help:
> http://svn.apache.org/repos/asf/velocity/engine/trunk/experimental/templatetool/
>
> it's an old experiment.  i've no idea if it still works, but it had a
> similar goal.
>
>   
>>  Greetings
>>
>>  Simon
>>
>>
>>
>>  On Mon, May 12, 2008 at 5:32 PM, Ahmed Mohombe <amohombe@yahoo.com> wrote:
>>
>>  > I think it has to know this because if you have for example #foreach($day
>>  > > in
>>  > > ${days}) you don't want to include the variable ${day} in the list but
>>  > > rather ${days}.
>>  > > Do you agree with me?
>>  > >
>>  > Of course.
>>  > I just thought that the Velocity AST is able to distinct between "local
>>  > variabls" like
>>  > $day and "global" ones.
>>  >
>>  >
>>  > Ahmed.
>>  >
>>  >
>>  > ---------------------------------------------------------------------
>>  > To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
>>  > For additional commands, e-mail: user-help@velocity.apache.org
>>  >
>>  >
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
> For additional commands, e-mail: user-help@velocity.apache.org
>
>
>   
Hi everyone

As I said earlier, I've worked on the tool and rebuilt it. Now it works 
with the velocity API that Nathan Bubna has given me. Instead of putting 
all the refernces in a list I build a tree structure where the 
references are leaves and the #foreach-loops are nodes. 
TemplateAnalyzer_TreeGui.jar shows this structure in a Swing-GUI as a 
JTree.
Execute it like this: java -jar TemplateAnalyzer_TreeGui.jar foo.vm
foo.vm is the name of the template.

You can download the new version 1.1 here: 
http://sourceforge.net/project/showfiles.php?group_id=226718.

I hope you can use it to get an overview of your templates.

Kind regards

Simon

PS: @Ahmed: To scan for the used references for the user written 
templates I would recommend you to use the TemplateTool from Nathan 
Bubna: Just get your template, call TemplateTool.referenceList() with 
the template as parameter, and look at each entry in the returned list 
if it contains a forbidden reference.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic