es.mcu.yingo.controladores
Class ControladorSiguienteTarea

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.support.WebContentGenerator
              extended by org.springframework.web.servlet.mvc.AbstractController
                  extended by es.mcu.yingo.controladores.SuperControlador
                      extended by es.mcu.yingo.controladores.ControladorSiguienteTarea
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.web.servlet.mvc.Controller

public class ControladorSiguienteTarea
extends SuperControlador

Controlador que se encarga de buscar la tarea siguiente que se ha de ejecutar. Si dicha tarea, está pendiente de ser ejecutada por el usuario que está en sesión, se redirigirá al ControladorEjecutaTarea para que muestre el formulario
De este modo, se pueden enlazar una tarea tras otra, para que sean ejecutadas por un usuario determinado

Author:
carlos.garcia.h

Field Summary
private  BaseDatos baseDatos
          Utilidad que centraliza operaciones comunes con la base de datos de la aplicación
private  Dao daoConsultas
          Objeto dao para hacer consultas
private  java.util.Map<java.lang.String,java.lang.String> vistaMuestraFormulario
          Map de vistas donde se mostrará el formulario
private  java.util.Map<java.lang.String,java.lang.String> vistaResultado
          Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario
 
Fields inherited from class es.mcu.yingo.controladores.SuperControlador
BUSCAR, CARGA, CLAVE_DATOS_RESULTADO, FICHERO, INICIO, logger, PAGINAR, PARAM_LISTA_ERROR
 
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator
HEADER_CACHE_CONTROL, HEADER_EXPIRES, HEADER_PRAGMA, METHOD_GET, METHOD_HEAD, METHOD_POST
 
Constructor Summary
ControladorSiguienteTarea()
           
 
Method Summary
private  TareasPendientesId encontrarIdTarea(java.lang.String idTarea, java.util.List<TareasPendientesId> listaTareasPendientesAsignadasAlUsuario)
          Encuentra en las lista del pendientes del usuario el id de tarea
 BaseDatos getBaseDatos()
          Utilidad que centraliza operaciones comunes con la base de datos de la aplicación
 Dao getDaoConsultas()
          Objeto dao para hacer consultas
 java.util.Map<java.lang.String,java.lang.String> getVistaMuestraFormulario()
          Map de vistas donde se mostrará el formulario
 java.util.Map<java.lang.String,java.lang.String> getVistaResultado()
          Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario
protected  org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Recupera las tareas pendientes, y en el caso de que estén asignadas al usuario en sesión, se mostrará la siguiente tarea para que sea ejecutada
private  java.util.List<Tarea> obtenerListaTareasSiguientesUltimaUsuario(Tarea miTarea, java.lang.String idAplicacion, java.lang.String codExpediente)
          Obtiene de BBDD la última tarea realizada por el usuario, y de ahí y gracias a su enlazador la lista de siguientes
protected  TareasPendientesId obtenerSiguienteTareaPend(java.lang.String idAplicacion, java.lang.String codExpediente, Usuario usuario, java.lang.String idTareaAnterior)
          Obtiene la última tarea realizada por el usuario, obtiene las siguientes de esa tarea y obtiene de la lista de pendientes la tarea que tiene el mismo id dentro de las siguientes.
private  TareasPendientesId obtenerTareaPendienteEnlazador(java.util.List<TareasPendientesId> listaTareasPendientesAsignadasAlUsuario, java.lang.String idAplicacion, java.lang.String codExpediente, Usuario usuario, java.lang.String idTareaAnterior)
          Obtiene la tarea pendiente a partir de la última tarea realizada por el usuario.
private  Tarea obtenerUltimaTarea(java.lang.String idAplicacion, java.lang.String codExpediente, Usuario usuario, java.lang.String idTareaAnterior)
          Obtiene del contexto el objeto Tarea.
private  Tarea obtenerUltimaTareaBbDb(java.lang.String idAplicacion, java.lang.String codExpediente, Usuario usuario)
          Obtiene de BBDD la última tarea realizada por el usuario para el código de expediente y aplicación.
protected  org.springframework.web.servlet.ModelAndView obtenerVista(TareasPendientesId tareaId, javax.servlet.http.HttpServletRequest request)
          Obtiene la vista según el valor del id de tarea.
private  java.lang.String recogerParametroAtributo(javax.servlet.http.HttpServletRequest request, java.lang.String clave)
          Recoge el parámetro con la clave que se pasa.
 void setBaseDatos(BaseDatos baseDatos)
          Utilidad que centraliza operaciones comunes con la base de datos de la aplicación
 void setDaoConsultas(Dao daoConsultas)
          Objeto dao para hacer consultas
 void setVistaMuestraFormulario(java.util.Map<java.lang.String,java.lang.String> vistaMuestraFormulario)
          Map de vistas donde se mostrará el formulario
 void setVistaResultado(java.util.Map<java.lang.String,java.lang.String> vistaResultado)
          Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario
 
Methods inherited from class es.mcu.yingo.controladores.SuperControlador
getAccion, getSpringContextUtilWeb, obtenerVistaAplicacion, recogerParametro, recogerTipoTareaRequest, setSpringContextUtilWeb
 
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
 
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isRequireSession, isUseCacheControlHeader, isUseExpiresHeader, preventCaching, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseExpiresHeader
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, isContextRequired
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vistaMuestraFormulario

private java.util.Map<java.lang.String,java.lang.String> vistaMuestraFormulario
Map de vistas donde se mostrará el formulario


vistaResultado

private java.util.Map<java.lang.String,java.lang.String> vistaResultado
Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario


baseDatos

private BaseDatos baseDatos
Utilidad que centraliza operaciones comunes con la base de datos de la aplicación


daoConsultas

private Dao daoConsultas
Objeto dao para hacer consultas

Constructor Detail

ControladorSiguienteTarea

public ControladorSiguienteTarea()
Method Detail

handleRequestInternal

protected org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request,
                                                                             javax.servlet.http.HttpServletResponse response)
                                                                      throws java.lang.Exception
Recupera las tareas pendientes, y en el caso de que estén asignadas al usuario en sesión, se mostrará la siguiente tarea para que sea ejecutada

Specified by:
handleRequestInternal in class org.springframework.web.servlet.mvc.AbstractController
Parameters:
request -
response -
Throws:
java.lang.Exception

recogerParametroAtributo

private java.lang.String recogerParametroAtributo(javax.servlet.http.HttpServletRequest request,
                                                  java.lang.String clave)
Recoge el parámetro con la clave que se pasa. Primero mira si está como atributo y despúes mira si está como atributo en el request el map de datos . Si está obtiene el valor que está cargado con la clave en el map

Parameters:
request -
clave -
Returns:

obtenerVista

protected org.springframework.web.servlet.ModelAndView obtenerVista(TareasPendientesId tareaId,
                                                                    javax.servlet.http.HttpServletRequest request)
Obtiene la vista según el valor del id de tarea. Si es diferente de nulo se concatena el parámetro de id de tarea con el valor del identificador de tarea

Parameters:
tareaId -
Returns:

obtenerSiguienteTareaPend

protected TareasPendientesId obtenerSiguienteTareaPend(java.lang.String idAplicacion,
                                                       java.lang.String codExpediente,
                                                       Usuario usuario,
                                                       java.lang.String idTareaAnterior)
                                                throws BaseDatosYingoException
Obtiene la última tarea realizada por el usuario, obtiene las siguientes de esa tarea y obtiene de la lista de pendientes la tarea que tiene el mismo id dentro de las siguientes.
Si no hay devuelve nulo

Parameters:
idAplicacion -
codExpediente -
usuario -
Returns:
Throws:
BaseDatosYingoException

obtenerTareaPendienteEnlazador

private TareasPendientesId obtenerTareaPendienteEnlazador(java.util.List<TareasPendientesId> listaTareasPendientesAsignadasAlUsuario,
                                                          java.lang.String idAplicacion,
                                                          java.lang.String codExpediente,
                                                          Usuario usuario,
                                                          java.lang.String idTareaAnterior)
                                                   throws BaseDatosYingoException
Obtiene la tarea pendiente a partir de la última tarea realizada por el usuario. Para ello obtiene la última tarea realizada por el usuario, obtiene el objeto tarea del contexto y ejecuta su enlazador.
Después se recorre la lista de tareas siguientes que devuelve el enlazador y se comprueba que su id está dentro de la lista de tareas pendientes asignadas al usuario.

Parameters:
listaTareasPendientesAsignadasAlUsuario -
idAplicacion -
codExpediente -
usuario -
Returns:
Throws:
BaseDatosYingoException

encontrarIdTarea

private TareasPendientesId encontrarIdTarea(java.lang.String idTarea,
                                            java.util.List<TareasPendientesId> listaTareasPendientesAsignadasAlUsuario)
Encuentra en las lista del pendientes del usuario el id de tarea

Parameters:
idTarea -
listaTareasPendientesAsignadasAlUsuario -
Returns:

obtenerListaTareasSiguientesUltimaUsuario

private java.util.List<Tarea> obtenerListaTareasSiguientesUltimaUsuario(Tarea miTarea,
                                                                        java.lang.String idAplicacion,
                                                                        java.lang.String codExpediente)
                                                                 throws BaseDatosYingoException
Obtiene de BBDD la última tarea realizada por el usuario, y de ahí y gracias a su enlazador la lista de siguientes

Parameters:
miTarea -
idAplicacion -
codExpediente -
Returns:
Throws:
BaseDatosYingoException

obtenerUltimaTarea

private Tarea obtenerUltimaTarea(java.lang.String idAplicacion,
                                 java.lang.String codExpediente,
                                 Usuario usuario,
                                 java.lang.String idTareaAnterior)
Obtiene del contexto el objeto Tarea.
Si está definido el id de tarea anterior, este será por el que busque.
Si no está definido se obtendrá la última tarea realizada por el usuario en BBDD y a partir de ese id se obtendrá el objeto.

Parameters:
idAplicacion -
codExpediente -
usuario -
Returns:

obtenerUltimaTareaBbDb

private Tarea obtenerUltimaTareaBbDb(java.lang.String idAplicacion,
                                     java.lang.String codExpediente,
                                     Usuario usuario)
Obtiene de BBDD la última tarea realizada por el usuario para el código de expediente y aplicación.

Parameters:
idAplicacion -
codExpediente -
usuario -
Returns:

getBaseDatos

public BaseDatos getBaseDatos()
Utilidad que centraliza operaciones comunes con la base de datos de la aplicación

Returns:
the baseDatos

setBaseDatos

public void setBaseDatos(BaseDatos baseDatos)
Utilidad que centraliza operaciones comunes con la base de datos de la aplicación

Parameters:
baseDatos - the baseDatos to set

getVistaMuestraFormulario

public java.util.Map<java.lang.String,java.lang.String> getVistaMuestraFormulario()
Map de vistas donde se mostrará el formulario

Returns:
the vistaMuestraFormulario

setVistaMuestraFormulario

public void setVistaMuestraFormulario(java.util.Map<java.lang.String,java.lang.String> vistaMuestraFormulario)
Map de vistas donde se mostrará el formulario

Parameters:
vistaMuestraFormulario - the vistaMuestraFormulario to set

getVistaResultado

public java.util.Map<java.lang.String,java.lang.String> getVistaResultado()
Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario

Returns:
the vistaResultado

setVistaResultado

public void setVistaResultado(java.util.Map<java.lang.String,java.lang.String> vistaResultado)
Map de vistas, donde se redige el resultado cuando no hay siguientes tareas, o la tarea siguiente esta asignada a otro usuario

Parameters:
vistaResultado - the vistaResultado to set

getDaoConsultas

public Dao getDaoConsultas()
Objeto dao para hacer consultas

Returns:
the daoConsultas

setDaoConsultas

public void setDaoConsultas(Dao daoConsultas)
Objeto dao para hacer consultas

Parameters:
daoConsultas - the daoConsultas to set