Seguinte cenário:
Eu procuro por unsafeMethodCall()
em todas as minhas páginas da web. Este método só é inseguro no caso de haver uma referência de doSomeCrazyAjaxStuff()
Minhas páginas da web estão usando modelos strongs (ou seja, foram construídos com o JSF)
Assim, uma página da Web consiste em algo como isto:
<ui:decorate template="/mypages/editing/someWebPagePart.xhtml">
unsafeMethodCall()
isso apenas copia o conteúdo do modelo na página da web atual.
Portanto, se eu pesquisar por unsafeMethodCall()
- o problema é que eu tenho que abrir manualmente someWebPagePart.xhtml
para pesquisar por crazyAjaxStuff()
- mas someWebPagePart.xhtml
pode estar usando outros modelos. Então, a partir de 1 hit de UnsafeMethodCalls, posso acabar com MUITAS páginas que tenho que abrir.
Então, basicamente, desejo varrer um arquivo chamado "somefile.xhtml" para quaisquer ocorrências de um modelo. Se existe um template que eu quero procurar nesse template também, e eu quero procurar no template do template etc também: -)
Existe algum programa ou ferramenta que possa resolver este problema?
[EDITAR]
Então, basicamente, eu tenho um arquivo com este conteúdo:
(isso é apenas um exemplo)
<div>
<input value="enterusername"/>
</div>
[...more random web page contents like above this line....]
<ui:decorate template="/mypages/editing/someWebPagePart.xhtml">
<my:tag> unsafeMethodCall()</my:tag> <!-- this is potentially dangerous with another function call -->
[...more random web page contents like below this line....]
<p></p>
<a href="#Other-Options" accesskey="n" rel="next">Other Options</a>
Quando eu abrir agora d: /dev/workspace/WebContents/mypages/editing/someWebPagePart.xhtml, poderei ver o que finalmente é exibido na página - porque o conteúdo de someWebPagePart.xhtml será automaticamente copiado por o servidor da web para a página final da web.
O que estou procurando no arquivo someWebPagePart.xhtml
é algo assim:
<div>
<input value="enterusername"/>
</div>
[...more random web page contents like above this line....]
<ui:decorate template="/mypages/editing/someotherPage.xhtml"> <!-- it could be in there as well -->
<my:tag2> crazyAjaxStuff()</my:tag2> <!-- searching this -->
[...more random web page contents like below this line....]
<p></p>
<a href="#Other-Options" accesskey="n" rel="next">Other Options</a>
Desde:
<my:tag2> crazyAjaxStuff()</my:tag2>
será copiado para a mesma página em que unsafeMethodCall
está localizado, isso pode levar a uma condição perigosa e eu teria que dar uma olhada na página.
Nota: é muito possível que a terceira página someotherPage.xhtml
contenha o perigoso crazyAjaxStuff()