Manual de jFTS

En fase de escritura...

Cómo se configura : Fichero XML.

La configuración de jFTS puede realizarse desde un fichero XML y cargarse mediante la clase JFTSLoader.

El siguiente fichero define una conexión y un comando a ejecutar.

<jfts start="task0">
	<connection id="conn1">
		<class>org.gjt.mm.mysql.Driver</class>
		<string>jdbc:mysql://localhost/JFTS?user=user&password=pass</string>
	</connection>
</jfts>
	

El elemento jfts

El elemento jfts simboliza un objeto de la clase JFTS, que es el encargado de gestionar el LOG, las conexiones, y lanzar las diferentes tareas a realizar.

Parámetros

start: (obligatorio) es el nombre de la primera tarea a ejecutar.

El elemento connection

El elemento connection simboliza un objeto de la clase DBConnection, que establece una posible conexión con una base de datos.

Parámetros

id: (obligatorio) es el identificador que se utilizará después para especificar a las tareas en qué base de datos (de cual a cual) deben actuar.

Elemento class: (obligatorio) es el nombre del driver JDBC.

Elemento string: (obligatorio) es la cadena de conexión a la base de datos.

Ejemplo
<connection id="conn1">
	<class>org.gjt.mm.mysql.Driver</class>
	<string>jdbc:mysql://localhost/jFTS?user=user&password=pass</string>
</connection>
		

El elemento tasksgroup

El elemento tasksgroup simboliza un objeto de la clase JTSTaskGroup, que se encarga de agrupar tareas concretas, y de gestionar el flujo de ejecución entre grupos de tareas.

Cada grupo de tareas puede agrupar una o varias tareas a realizar cuyo orden de lanzamiento sea irrelevante, y puede determinar cual será la siguiente tarea a lanzar.

Parámetros

id: (obligatorio) es el identificador que se utilizará para referirse a esta tarea.

onSuccess: (opcional) grupo de tareas a realizar si todo se ha ejecutado correctamente.

onError: (opcional) grupo de tareas a ejecutar si ha habido algún error.

onFinish: (opcional) grupo de tareas a ejecutar cuando se finalice la ejecución de todas las tareas.

Elementos task...: las tareas a realizar.

Ejemplo
<tasksgroup id="task0">
	<taskDelete id="task0d1" recursive="true" leave-empty="true">
		<path>C:\filesB</path>
	</taskDelete>
</tasksgroup>
		

El subelemento filterRegExp

El subelemento filterRegExp simboliza un objeto de la clase FTSFileFilterRegExp, que se encarga de filtrar los ficheros y directorios según coincida su nombre con una expresión regular.

Parámetros

exp: (obligatorio) es la expresión regular que se utilizará para las comparaciones con los nombres de ficheros y directorios.

exclude-folders: (opcional) si es true todos los directorios serán excluidos de ser comparados, y en consecuencia se aceptarán todos.

Ejemplo

Solo moverá, manteniendo la estructura de subdirectorios, los ficheros que comiencen por d con la extensión .txt y que estén en cualquier subdirectorios.

<tasksgroup id="task0">
	<taskMove id="task2d1" recursive="true">
		<filterRegExp exp="\d\.txt" exclude-folders="true" />
		<path-src>C:\filesB</path-src>
		<path-trg>C:\filesC</path-trg>
	</taskMove>
</tasksgroup>
		

El elemento taskDelete

El elemento taskDelete simboliza un objeto de la clase FTSTaskDelete, que se encarga de eliminar los ficheros de una ruta. Se puede especificar si debe actuar recursivamente por sus subdirectorios. Se puede especificar si se desea un filtro basado en una expresión regular. Y se puede especificar si se puede abanodar el directorio vacío si todo su contenido fuera eliminado.

Parámetros

id: (opcional) útil si vas a activar el LOG.

recursive: (opcional) especifica si deben eliminarse ficheros contenidos en subdirectorios, y estos subdirectorios.

leave-empty: (opcional) si es true no se eliminará el directorio inicial aunque quede vacío despues de eliminar el contenido indicado.

Elemento path: (obligatorio) especifica la ruta a eliminar (puede ser un directorio o un fichero en concreto).

Ejemplo
<tasksgroup id="task0">
	<taskDelete id="task0d1" recursive="true" leave-empty="true">
		<path>C:\filesB</path>
	</taskDelete>
	<taskDelete id="task0d1" recursive="true" leave-empty="true">
		<path>C:\filesC</path>
	</taskDelete>
</tasksgroup>
		

El elemento taskCopy

El elemento taskCopy simboliza un objeto de la clase FTSTaskCopy, que se encarga de copiar los ficheros de una ruta. Y se puede especificar si debe actuar recursivamente por sus subdirectorios. Se puede especificar si se desea un filtro basado en una expresión regular.

Parámetros

id: (opcional) útil si vas a activar el LOG.

recursive: (opcional) especifica si deben copiarse ficheros contenidos en subdirectorios, y estos subdirectorios.

Elemento path: (obligatorio) especifica la ruta a copiar (puede ser un directorio o un fichero en concreto).

Ejemplo
<tasksgroup id="task0">
	<taskCopy id="task1d1" recursive="true">
		<path-src>C:\filesA</path-src>
		<path-trg>C:\filesB</path-trg>
	</taskCopy>
</tasksgroup>
		

El elemento taskMove

El elemento taskMove simboliza un objeto de la clase FTSTaskMove, que se encarga de mover los ficheros de una ruta. Y se puede especificar si debe actuar recursivamente por sus subdirectorios. Se puede especificar si se desea un filtro basado en una expresión regular.

Parámetros

id: (opcional) útil si vas a activar el LOG.

recursive: (opcional) especifica si deben moverse ficheros contenidos en subdirectorios, y estos subdirectorios.

Elemento path: (obligatorio) especifica la ruta a mover (puede ser un directorio o un fichero en concreto).

Ejemplo
<tasksgroup id="task0">
	<taskMove id="task1d1" recursive="true">
		<path-src>C:\filesA</path-src>
		<path-trg>C:\filesB</path-trg>
	</taskMove>
</tasksgroup>
		

El elemento taskDeleteFromTable

El elemento taskDeleteFromTable simboliza un objeto de la clase FTSTaskDeleteFromTable, que se encarga de eliminar los ficheros de una ruta cuyo nombre aparezca en los campos de los registros resultantes de una consulta.

Parámetros

id: (opcional) útil si vas a activar el LOG.

conn: (obligatorio) especifica la conexion dónde ejecutar la consulta.

Elemento query: (obligatorio) consulta a ejecutar.

Elemento fields: (obligatorio) campos cuyos ficheros deben eliminarse.

Elemento path: (obligatorio) ruta dónde deben encontrarse dichos ficheros.

Ejemplo
<tasksgroup id="task0">
	<taskDeleteFromTable id="task2d1" conn="conn1">
		<query>SELECT * FROM t_FilesA</query>
		<fields>sFileA, sFileB</fields>
		<path>C:\filesB</path>
	</taskDeleteFromTable>
</tasksgroup>
		

El elemento taskCopyFromTable

El elemento taskCopyFromTable simboliza un objeto de la clase FTSTaskCopyFromTable, que se encarga de copiar los ficheros de una ruta cuyo nombre aparezca en los campos de los registros resultantes de una consulta.

Parámetros

id: (opcional) útil si vas a activar el LOG.

conn: (obligatorio) especifica la conexion dónde ejecutar la consulta.

Elemento query: (obligatorio) consulta a ejecutar.

Elemento fields: (obligatorio) campos cuyos ficheros deben copiarse.

Elemento path-src: (obligatorio) ruta dónde deben leerse dichos ficheros.

Elemento path-trg: (obligatorio) ruta dónde deben copiarse dichos ficheros.

Ejemplo
<tasksgroup id="task0">
	<taskCopyFromTable id="task2d1" conn="conn1">
		<query>SELECT * FROM t_FilesA</query>
		<fields>sFileA, sFileB</fields>
		<path-src>C:\filesB</path>
		<path-trg>C:\filesC</path>
	</taskCopyFromTable>
</tasksgroup>
		

El elemento taskMoveFromTable

El elemento taskMoveFromTable simboliza un objeto de la clase FTStaskMoveFromTable, que se encarga de mover los ficheros de una ruta cuyo nombre aparezca en los campos de los registros resultantes de una consulta.

Parámetros

id: (opcional) útil si vas a activar el LOG.

conn: (obligatorio) especifica la conexion dónde ejecutar la consulta.

Elemento query: (obligatorio) consulta a ejecutar.

Elemento fields: (obligatorio) campos cuyos ficheros deben copiarse.

Elemento path-src: (obligatorio) ruta dónde deben leerse dichos ficheros.

Elemento path-trg: (obligatorio) ruta dónde deben moverse dichos ficheros.

Ejemplo
<tasksgroup id="task0">
	<taskMoveFromTable id="task2d1" conn="conn1">
		<query>SELECT * FROM t_FilesA</query>
		<fields>sFileA, sFileB</fields>
		<path-src>C:\filesB</path>
		<path-trg>C:\filesC</path>
	</taskMoveFromTable>
</tasksgroup>