Ejemplos

Esta página recogen los ejemplos de uso de la utilidad ISDirValidator. Puede así mismo ver los ejemplos que se incluyen en el paquete para descargar.

Ejemplo básico

Vamos a ver este ejemplo de ISDirValidator utilizando la herramienta ANT.

<taskdef name="isdirectory" 
	classname="com.inigoserrano.isdirvalidator.ISDirectory"/>
<taskdef name="isfile" 
	classname="com.inigoserrano.isdirvalidator.ISFile"/>
<taskdef name="isfilepattern" 
	classname="com.inigoserrano.isdirvalidator.ISFilePattern"/>

<isdirectory dir="folder" />

<isdirectory dir="..\ISDirCheck\">
	<isfile file="build.xml" required="Y" />
	<isfile file="Definition.txt" required="N" />
	<isfilePattern filePattern="[az]*.txt" />
	<isfilePattern filePattern=".xml" />
</isdirectory>
	

Descripcion

Vamos a describir paso a paso las tareas.

Primeramente se definen las etiquetas, ya que no son estandard de ANT, mediante la etiqueta taskdef

<taskdef name="isdirectory" 
	classname="com.inigoserrano.isdirvalidator.ISDirectory"/>
<taskdef name="isfile" 
	classname="com.inigoserrano.isdirvalidator.ISFile"/>
<taskdef name="isfilepattern" 
	classname="com.inigoserrano.isdirvalidator.ISFilePattern"/>
	

Seguidamente se comprueba que exista el directorio con nombre folder tomando como referencia el basedir del proyecto de ANT. Esta es la forma más simple de utilización pero no muy util.


<isdirectory dir="folder" />

	

El siguiente uso que se hace de las rutinas son mas completas y comprueba que exista el directorio "ISDirValidator" tomando como referencia el directorio padre del basedir del proyecto. Así mismo comprueba que se cumplan unas determinadas condiciones:

  • Debe existir un fichero build.xml
  • Puede existir un fichero Definition.txt, pero no es obligatorio (Se podia haber omitido el atributo "required" ya que este es su valor por defecto)
  • Pueden existir ficheros que cumplan la expresion regular "[az]*.txt", es decir contenga como nombre de fichero cualquier combinación de letras, pero siempre minusculas.
  • Pueden exisitir ficheros que cumplan la expresion regular ".xml", es decir que contengan en su nombre esa cadena.
  • Cualquier fichero que se encuentre en el directorio ISDirCheck y no cumpla almenos una de las condiciones se considerará un error.

<isdirectory dir="..\ISDirCheck\">
	<isfile file="build.xml" required="Y" />
	<isfile file="Definition.txt" required="N" />
	<isfilePattern filePattern="[az]*.txt" />
	<isfilePattern filePattern=".xml" />
</isdirectory>

	

Situaciones que harian fallar

  • Existe un fichero myPage.txt ya que no es ni build.xml ni Definition.txt ni contiene .xml ni .txt
  • Existe un fichero Hello.txt ya que no es ni build.xml ni Definition.txt ni contiene .xml y aunque tiene .txt tiene una letra en mayuscula
  • No existe un fichero build.xml

Ejmplo WAR

Uno de los usos que se pueden dar a la tarea ISDirValidator es validar la estructura de un WAR. Este ejemplo que se presenta no está completo y se debería adaptar a la situacion específica de cada proyecto


<isdirectory dir="some dir root of a war file">
	<isfile file="index.jsp" required="Y" />
	<isfilePattern filePattern="^[a-zA-Z]+\.jsp$" /> 
	<isfilePattern filePattern="^[a-zA-Z]+\.htm$" />  
	...
</isdirectory>

<isdirectory dir="some dir with a war file/META-INF">
	<isfile file="MANIFEST.MF" required="Y" />
	...
</isdirectory>

<isdirectory dir="some dir with a war file/WEB-INF">
	<isfile file="web.xml" required="Y" />
	<isfilePattern filePattern="^[a-zA-Z-]+\.tld$" /> 
	...
</isdirectory>