Está en: Inicio >> ISDirValidator >> Presentacion de ISDirValidatorLunes 19 de Mayo de 2025
SourceForge Logo
ISValidator
Presentacion
Arquitectura
Download
Ejemplos
To-Do
Cambios
Más información
ISDirValidator
Presentacion
En SF.net
Resumen
Download
Noticias
In English
ISValidator

Página... Presentacion de ISDirValidator

ISDirValidator

ISDirValidator es una utilidad y tarea de Ant para realizar validaciones de estructuras de directorio en discos permitiendo definir que directorios y ficheros pueden y/o deben existir.

La situación que pretende manejar esta utilidad es la del cumplimiento de normativas sobre el contenido de directorios y ficheros que pueden tener que cumplir los desarrolladores e implantadores de aplicativos.

Un ejemplo de uso:

<taskdef name="isdirectory" 
	classname="com.inigoserrano.isdirvalidator.ISDirectory"/>
<taskdef name="isfile" 
	classname="com.inigoserrano.isdirvalidator.ISFile"/>
<taskdef name="isfilepatterm" 
	classname="com.inigoserrano.isdirvalidator.ISFilePatterm"/>
<taskdef name="issubdirectorypatterm"
	classname="com.inigoserrano.isdirvalidator.ISSubDirectoryPatterm"/>

<isdirectory dir="folder" />

<isdirectory dir="..\ISDirCheck\" recursive="yes" >
	<isfile file="build.xml" required="yes" />
	<isfile file="Definition.txt" required="no" />
	<isfilePatterm filePatterm="^[a-z]+\.txt$" />
	<isfilePatterm filePatterm=".*\.xml$" />
	<issubdirectoryPatterm directoryPatterm="^[a-zA-Z]+$" />
</isdirectory>

La primera tarea es la forma más sencilla y comprueba que exista el directorio "folder" tomando como referencia el basedir del projecto de Ant

La segunda tarea comprueba que exista el directorio "ISDirCheck" 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 "^[a-z]+\.txt", es decir contenga como nombre de fichero cualquier combinación de letras, pero siempre minusculas y terminando con la extensión txt.
  • Pueden exisitir ficheros que cumplan la expresion regular ".*\.xml", es decir que tengan como extensión de fichero xml.
  • Este directorio puede contener subdirectorios que cumplan la expresión regular "^[a-z]+$", es decir que solo contengan caracteres en minuscula y como mínimo uno.

Cualquier fichero que se encuentre en el directorio ISDirCheck y no cumpla almenos una de las condiciones se considerará un error.

El hecho de incluir al attributo recursive, implica que tambien se comprobaran con las mismas condicionies los subdirectorios que cuelgan de este.

Por ejemplo si existen los ficheros:

  • myPage.htm
  • Hello.txt

Si no existe el fichero "build.xml" tambien se considerará un error.

Para las expresiones regulares se utiliza el paquete regExp en su version 1.2 de http://jakarta.apache.org. Se puede consultar la documentacion de este paquete para conocer las diferentes posibilidades a la hora de construir la expresion regular.

Un ejemplo de uso puede ser la definición de la estructura de un WAR de Java (Este ejemplo no está completo, debe ajustarse a las necesidades concretas).

<isdirectory dir="${path}">
	<isfilePatterm filePatterm="^[a-zA-Z]+\.jsp$" />
	<isfilePatterm filePatterm="^[a-zA-Z]+\.html$" /> 
</isdirectory>

<isdirectory dir="${path}/META-INF">
	<isfile file="MANIFEST.MF" required="yes" />
</isdirectory>

<isdirectory dir="${path}/WEB-INF">
	<isfile file="web.xml" required="yes" />
	<isfilePatterm filePatterm="^[a-zA-Z-]+\.tld$" />
</isdirectory>

<isdirectory dir="${path}/WEB-INF/classes" recursive="yes" >
	<isfilePatterm filePatterm="^[:alnum:]+\.properties$" />
	<isfilePatterm filePatterm="^[:alnum:]+\.class$" />
	<issubdirectoryPatterm directoryPatterm="^[a-zA-Z]+$" />
</isdirectory>

Versión 2

La versión 2 del paquete ISDirValidator incorpora algunas mejoras sobre la versión 1, como el soporte de la recursividad, la comprobación de los subdirectorios, asi como una serie de pequeñas correcciones de errores y adaptacionies a la herramieta Ant (substitución de los valores Y en los attributos required y recursive por los estandares de Ant que son: yes, true y on)

Instalación

Para instalar esta herramienta debe tener en su CLASSPATH el paquete IsDirValidator y el regExp

Download

Puede descargar ISDirValidator en la página general de Download




Iñigo Serrano todos los derechos reservados.
Queda prohibida la reproducción total o parcial del contenido aquí expuesto.