es.mcu.yingo.tareas.ejecutar
Class EjecutaTareaImp

java.lang.Object
  extended by es.mcu.yingo.tareas.ejecutar.EjecutaTareaImp
All Implemented Interfaces:
EjecutaTarea

public class EjecutaTareaImp
extends java.lang.Object
implements EjecutaTarea

Implementación de EjecutaTarea que realiza la ejecución de una tarea cono los datos que se pasan por parámetros.
Estos son los pasos que siguen:

  1. Se obtiene el código de expediente.
  2. Se obtiene la tarea para esa aplicación
  3. Se comprueba que está en plazo la tarea.
  4. Se comprueba que el usuario tenga permisos.
  5. Se precarga los datos.
  6. Se lanzan los validadores.
  7. Se ejecuta la tarea ejecutándola con el dao que se pasa por argumento.
Devuelve un map de datos con los datos nuevos que son nuevo o que se han cambiado en el Map de datos que se pasan como parámetros

Author:
vicente.carbajo

Field Summary
private  boolean internacionalizarMensajes
          Si está a true se devuelven las claves internacionalizadas.
protected  org.apache.commons.logging.Log logger
           
private  SpringContextUtil springContextUtil
          Utilidad para obtener el bean de la tarea del contexto de Spring
 
Constructor Summary
EjecutaTareaImp()
           
 
Method Summary
private  void comprobarPermisosUsuario(java.lang.String idAplicacion, java.lang.String idTarea, java.lang.String codExpediente, Usuario usuario)
          Comprueba si el usuario tiene permisos para ejecutar la tarea
private  void comprobarValidadores(java.lang.String idAplicacion, Tarea tarea, java.lang.String codExpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Se lanzan los validadores de la tarea.
private  java.util.Map<java.lang.String,java.lang.String> devolverResultado(java.util.Map<java.lang.String,java.lang.String> datos, java.util.Map<java.lang.String,java.lang.String> datosOriginales)
          Se devuelve el resultado.
private  void ejecutarTareaConTransaccion(Dao dao, Tarea tarea, java.lang.String idAplicacion, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
           
 java.util.Map<java.lang.String,java.lang.String> ejecutaTarea(Dao dao, java.lang.String idAplicacion, java.lang.String idTarea, java.util.Map<java.lang.String,java.lang.String> datosOriginales, Usuario usuario)
          Se llama al ejecutar la tarea.
private  void estaEnPlazoLaTarea(Tarea tarea, java.lang.String codExpediente)
          Comprueba que la aplicación está en plazo
 SpringContextUtil getSpringContextUtil()
           
 boolean isInternacionalizarMensajes()
           
private  Tarea obtenerCargarValidarTarea(java.lang.String idAplicacion, java.lang.String idTarea, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          En este método se realizan los siguientes pasos.
private  Tarea obtenerTarea(java.lang.String idAplicacion, java.lang.String idTarea)
          Obtiene el objeto tarea del idAplicacion con el id idTarea.
private  void precargarDatos(java.lang.String idAplicacion, java.lang.String codExpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario, Tarea tarea)
          Precarga los datos llamando al Cargador Inicial de la tarea
private  void precargarListas(java.util.List<ListaCampos> lista, Usuario usuario, java.util.Map<java.lang.String,java.lang.String> mapDatosCarga, java.util.Map<java.lang.String,java.lang.String> mapTarea)
          Precarga las listas con los datos obtenidos del Cargador Inicial de la Tarea.
 void setInternacionalizarMensajes(boolean internacionalizarMensajes)
           
 void setSpringContextUtil(SpringContextUtil springContextUtil)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

springContextUtil

private SpringContextUtil springContextUtil
Utilidad para obtener el bean de la tarea del contexto de Spring


logger

protected final org.apache.commons.logging.Log logger

internacionalizarMensajes

private boolean internacionalizarMensajes
Si está a true se devuelven las claves internacionalizadas. Por defecto a false

Constructor Detail

EjecutaTareaImp

public EjecutaTareaImp()
Method Detail

ejecutaTarea

public java.util.Map<java.lang.String,java.lang.String> ejecutaTarea(Dao dao,
                                                                     java.lang.String idAplicacion,
                                                                     java.lang.String idTarea,
                                                                     java.util.Map<java.lang.String,java.lang.String> datosOriginales,
                                                                     Usuario usuario)
                                                              throws java.lang.Exception
Se llama al ejecutar la tarea. En este método se realizan los siguientes pasos.
  • Se realiza uan copia de los datos originales.
  • Se obtiene, se precargan los dasos, se comprueba que está en plazo y se comprueba que el usuario tiene permisos para ejecutar la tarea y se valida la tarea
  • Se ejecuta la tarea ejecutándola con el dao que se pasa por argumento.
  • Se procesa y se devuelve el resultado
  • Specified by:
    ejecutaTarea in interface EjecutaTarea
    Parameters:
    idAplicacion -
    idTarea -
    datos -
    usuario -
    Returns:
    Throws:
    java.lang.Exception

    obtenerCargarValidarTarea

    private Tarea obtenerCargarValidarTarea(java.lang.String idAplicacion,
                                            java.lang.String idTarea,
                                            java.util.Map<java.lang.String,java.lang.String> datos,
                                            Usuario usuario)
                                     throws java.lang.Exception
    En este método se realizan los siguientes pasos.
  • Se obtiene el código de expediente.
  • Se obtiene la tarea para esa aplicación
  • Se comprueba que está en plazo la tarea.
  • Se comprueba que el usuario tenga permisos.
  • Se precarga los datos.
  • Se lanzan los validadores.
  • Parameters:
    idAplicacion -
    idTarea -
    datos -
    usuario -
    Returns:
    Throws:
    java.lang.Exception

    obtenerTarea

    private Tarea obtenerTarea(java.lang.String idAplicacion,
                               java.lang.String idTarea)
                        throws java.lang.Exception
    Obtiene el objeto tarea del idAplicacion con el id idTarea. En el contexto obtendrá el bean con el id 'idAplicacion.idTarea'

    Parameters:
    idAplicacion -
    idTarea -
    Returns:
    Throws:
    java.lang.Exception

    estaEnPlazoLaTarea

    private void estaEnPlazoLaTarea(Tarea tarea,
                                    java.lang.String codExpediente)
                             throws java.lang.Exception
    Comprueba que la aplicación está en plazo

    Parameters:
    tarea -
    codExpediente -
    Throws:
    java.rmi.RemoteException
    java.lang.Exception

    comprobarPermisosUsuario

    private void comprobarPermisosUsuario(java.lang.String idAplicacion,
                                          java.lang.String idTarea,
                                          java.lang.String codExpediente,
                                          Usuario usuario)
                                   throws java.lang.Exception
    Comprueba si el usuario tiene permisos para ejecutar la tarea

    Parameters:
    idAplicacion -
    idTarea -
    codExpediente -
    usuario -
    Throws:
    java.rmi.RemoteException
    java.lang.Exception

    precargarDatos

    private void precargarDatos(java.lang.String idAplicacion,
                                java.lang.String codExpediente,
                                java.util.Map<java.lang.String,java.lang.String> datos,
                                Usuario usuario,
                                Tarea tarea)
                         throws java.lang.Exception
    Precarga los datos llamando al Cargador Inicial de la tarea

    Parameters:
    idAplicacion -
    codExpediente -
    datos -
    usuario -
    tarea -
    Throws:
    java.lang.Exception

    precargarListas

    private void precargarListas(java.util.List<ListaCampos> lista,
                                 Usuario usuario,
                                 java.util.Map<java.lang.String,java.lang.String> mapDatosCarga,
                                 java.util.Map<java.lang.String,java.lang.String> mapTarea)
                          throws java.lang.Exception
    Precarga las listas con los datos obtenidos del Cargador Inicial de la Tarea. Se llama a los precargadores de los campos. Si ya tiene valor el campo en el Map no se precargan el campo

    Parameters:
    lista -
    usuario -
    mapDatosCarga -
    mapTarea -
    Throws:
    java.lang.Exception

    comprobarValidadores

    private void comprobarValidadores(java.lang.String idAplicacion,
                                      Tarea tarea,
                                      java.lang.String codExpediente,
                                      java.util.Map<java.lang.String,java.lang.String> datos,
                                      Usuario usuario)
                               throws java.lang.Exception
    Se lanzan los validadores de la tarea. Se devuelve en una excepción el primer error

    Parameters:
    idAplicacion -
    tarea -
    codExpediente -
    datos -
    usuario -
    Throws:
    java.rmi.RemoteException
    java.lang.Exception

    ejecutarTareaConTransaccion

    private void ejecutarTareaConTransaccion(Dao dao,
                                             Tarea tarea,
                                             java.lang.String idAplicacion,
                                             java.util.Map<java.lang.String,java.lang.String> datos,
                                             Usuario usuario)
                                      throws java.lang.Exception
    Parameters:
    dao -
    tarea -
    idAplicacion -
    datos -
    usuario -
    Throws:
    java.lang.Exception

    devolverResultado

    private java.util.Map<java.lang.String,java.lang.String> devolverResultado(java.util.Map<java.lang.String,java.lang.String> datos,
                                                                               java.util.Map<java.lang.String,java.lang.String> datosOriginales)
    Se devuelve el resultado. Se devuelve un Map con las claves que se han añadido o cuyos valores han cambiado del Map de datos que se pasa como parámetro.

    Parameters:
    datos -
    datosOriginales -
    Returns:

    getSpringContextUtil

    public SpringContextUtil getSpringContextUtil()

    setSpringContextUtil

    public void setSpringContextUtil(SpringContextUtil springContextUtil)

    isInternacionalizarMensajes

    public boolean isInternacionalizarMensajes()
    Returns:
    Devuelve el atributo internacionalizarMensajes

    setInternacionalizarMensajes

    public void setInternacionalizarMensajes(boolean internacionalizarMensajes)
    Parameters:
    internacionalizarMensajes - Carga el atributo internacionalizarMensajes