es.mcu.yingo.cron
Class TrabajoCronEjecutarTareaHql

java.lang.Object
  extended by es.mcu.yingo.cron.TrabajoCronEjecutarTareaHql
All Implemented Interfaces:
IdAplicacionAware, TrabajoCron

public class TrabajoCronEjecutarTareaHql
extends java.lang.Object
implements IdAplicacionAware, TrabajoCron

Trabajo cron que obtiene obtiene la colección de tareas pendientes a través de la consulta HQL y las ejecuta mediante el ejecutaTarea configurado en la clase.
Matiene la transacción. Si alguna de las ejecuciones falla se realiza rollback de la Base de Datos.
Si está definida accionSiHayError Se ejecutará está con una transacción de BBDD diferente.

Author:
miguel.esteban

Field Summary
private  Accion accionSiHayError
          Si está definida será la acción que se ejecutará con una transacción de BBDD diferente cuando se produzca un error en la ejecución de la tarea
private  java.lang.String consultaHqlTareasPendientes
          Consulta HQL que devuelve las tareas pendientes que se desean ejecutar.
private  java.lang.String descripcion
          Descripción del trabajo cron
private  EjecutaTarea ejecutaTarea
          Clase de ejecución de la tarea
private  java.lang.String idAplicacion
          Id de apliación
protected  org.apache.commons.logging.Log logger
          Clase de manejo de logs
private  SpringContextUtil springContextUtil
          Clase de utilidades del contexto de spring para poder obtener un Dao privado
private  Usuario usuario
          Usuario que ejecutará la tarea
 
Constructor Summary
TrabajoCronEjecutarTareaHql()
           
 
Method Summary
private  void _ejecutar(Dao dao)
          Método privado que obtiene la colección de tareas pendientes a través de la consulta HQL y las ejecuta mediante el ejecutaTarea configurado en la clase.
 void ejecutar()
          Hace la llamada al método que se llamará desde el cron
private  void ejecutarAccionError(java.util.Map<java.lang.String,java.lang.String> datos, java.lang.Exception e)
          Acción que si está definida se ejecutará al producirse un error.
private  void ejecutarTareaPendiente(TareasPendientes tareaPendiente, Dao dao)
          Ejecuta la tarea pendiente.
 Accion getAccionSiHayError()
           
 java.lang.String getConsultaHqlTareasPendientes()
           
 java.lang.String getDescripcion()
           
 EjecutaTarea getEjecutaTarea()
           
 java.lang.String getIdAplicacion()
          Obtiene el id de aplicación
 SpringContextUtil getSpringContextUtil()
           
 Usuario getUsuario()
           
private  void imprimirDescripcion()
          Impirme la descripcion en el log
private  java.lang.String obtenerIdTarea(TareasPendientes tareaPendiente)
          Obtiene el id de tarea de la tarea pendiente.
private  java.util.Map<java.lang.String,java.lang.String> obtenerMapDatos(TareasPendientes tareaPendiente)
          Obtiene el map de datos incluyendo el código de expediente.
private  java.lang.String obtenerTrazaExcepcion(java.lang.Exception e)
          Se obtiene la representación de la traza en cadena
 void setAccionSiHayError(Accion accionSiHayError)
           
 void setConsultaHqlTareasPendientes(java.lang.String consultaHqlTareasPendientes)
           
 void setDescripcion(java.lang.String descripcion)
           
 void setEjecutaTarea(EjecutaTarea ejecutaTarea)
           
 void setIdAplicacion(java.lang.String idAplicacion)
          carga el id de aplicación
 void setSpringContextUtil(SpringContextUtil springContextUtil)
           
 void setUsuario(Usuario usuario)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

idAplicacion

private java.lang.String idAplicacion
Id de apliación


springContextUtil

private SpringContextUtil springContextUtil
Clase de utilidades del contexto de spring para poder obtener un Dao privado


usuario

private Usuario usuario
Usuario que ejecutará la tarea


consultaHqlTareasPendientes

private java.lang.String consultaHqlTareasPendientes
Consulta HQL que devuelve las tareas pendientes que se desean ejecutar. Debe devolver una colección de TareasPendientes


ejecutaTarea

private EjecutaTarea ejecutaTarea
Clase de ejecución de la tarea


logger

protected final org.apache.commons.logging.Log logger
Clase de manejo de logs


descripcion

private java.lang.String descripcion
Descripción del trabajo cron


accionSiHayError

private Accion accionSiHayError
Si está definida será la acción que se ejecutará con una transacción de BBDD diferente cuando se produzca un error en la ejecución de la tarea

Constructor Detail

TrabajoCronEjecutarTareaHql

public TrabajoCronEjecutarTareaHql()
Method Detail

ejecutar

public void ejecutar()
Description copied from interface: TrabajoCron
Hace la llamada al método que se llamará desde el cron

Specified by:
ejecutar in interface TrabajoCron

imprimirDescripcion

private void imprimirDescripcion()
Impirme la descripcion en el log


_ejecutar

private void _ejecutar(Dao dao)
                throws java.lang.Exception
Método privado que obtiene la colección de tareas pendientes a través de la consulta HQL y las ejecuta mediante el ejecutaTarea configurado en la clase.

Parameters:
dao -
Throws:
java.lang.Exception

ejecutarTareaPendiente

private void ejecutarTareaPendiente(TareasPendientes tareaPendiente,
                                    Dao dao)
                             throws java.lang.Exception
Ejecuta la tarea pendiente.
Carga en datos el código de expediente

Parameters:
tareaPendiente -
dao -
Throws:
java.lang.Exception

ejecutarAccionError

private void ejecutarAccionError(java.util.Map<java.lang.String,java.lang.String> datos,
                                 java.lang.Exception e)
Acción que si está definida se ejecutará al producirse un error.
Se añadirá en el map de datos la información de la excepción.
Utiliza un objeto Dao privado y se ejecutará en una transacción diferente de la ejecución de la tarea.
Se recoge cualquier excepción que se pueda producir y se vuelva a log pero no se propaga hacía arriba

Parameters:
datos -
e -

obtenerTrazaExcepcion

private java.lang.String obtenerTrazaExcepcion(java.lang.Exception e)
Se obtiene la representación de la traza en cadena

Parameters:
e -
Returns:

obtenerIdTarea

private java.lang.String obtenerIdTarea(TareasPendientes tareaPendiente)
                                 throws TareaYingoException
Obtiene el id de tarea de la tarea pendiente. Si esta es nula se provoca una excepción.

Parameters:
tareaPendiente -
Returns:
Throws:
TareaYingoException

obtenerMapDatos

private java.util.Map<java.lang.String,java.lang.String> obtenerMapDatos(TareasPendientes tareaPendiente)
                                                                  throws TareaYingoException
Obtiene el map de datos incluyendo el código de expediente. Si este es nulo se provoca una excepción.

Parameters:
tareaPendiente -
Returns:
Throws:
TareaYingoException

getIdAplicacion

public java.lang.String getIdAplicacion()
Description copied from interface: IdAplicacionAware
Obtiene el id de aplicación

Specified by:
getIdAplicacion in interface IdAplicacionAware
Returns:
Devuelve el atributo idAplicacion

setIdAplicacion

public void setIdAplicacion(java.lang.String idAplicacion)
Description copied from interface: IdAplicacionAware
carga el id de aplicación

Specified by:
setIdAplicacion in interface IdAplicacionAware
Parameters:
idAplicacion - Carga el atributo idAplicacion

getConsultaHqlTareasPendientes

public java.lang.String getConsultaHqlTareasPendientes()
Returns:
Devuelve el atributo consultaHqlTareasPendientes

getSpringContextUtil

public SpringContextUtil getSpringContextUtil()
Returns:
Devuelve el atributo springContextUtil

getUsuario

public Usuario getUsuario()
Returns:
Devuelve el atributo usuario

setConsultaHqlTareasPendientes

public void setConsultaHqlTareasPendientes(java.lang.String consultaHqlTareasPendientes)
Parameters:
consultaHqlTareasPendientes - Carga el atributo consultaHqlTareasPendientes

setSpringContextUtil

public void setSpringContextUtil(SpringContextUtil springContextUtil)
Parameters:
springContextUtil - Carga el atributo springContextUtil

setUsuario

public void setUsuario(Usuario usuario)
Parameters:
usuario - Carga el atributo usuario

getEjecutaTarea

public EjecutaTarea getEjecutaTarea()
Returns:
Devuelve el atributo ejecutaTarea

setEjecutaTarea

public void setEjecutaTarea(EjecutaTarea ejecutaTarea)
Parameters:
ejecutaTarea - Carga el atributo ejecutaTarea

getDescripcion

public java.lang.String getDescripcion()
Returns:
Devuelve el atributo descripcion

setDescripcion

public void setDescripcion(java.lang.String descripcion)
Parameters:
descripcion - Carga el atributo descripcion

getAccionSiHayError

public Accion getAccionSiHayError()
Returns:
Devuelve el atributo accionSiHayError

setAccionSiHayError

public void setAccionSiHayError(Accion accionSiHayError)
Parameters:
accionSiHayError - Carga el atributo accionSiHayError