es.mcu.yingo.tareas.previas.operacion
Class OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap

java.lang.Object
  extended by es.mcu.yingo.tareas.previas.operacion.OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap
All Implemented Interfaces:
OperacionPrevia

public class OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap
extends java.lang.Object
implements OperacionPrevia

Operación previa que comprueba si se ha pulsador el botón precargar del campo campoDesdeRealizarPrecarga.
Si se ha pulsado se ejecuta la consulta HQL con el valor del campo y el codigo de expediente y con el resultado se sobrescribe aquellas claves del Map de datos que estén en las listasSalida configuradas.

Author:
miguel.esteban

Field Summary
private  Campo campoDesdeRealizarPrecarga
          Campo desde cuyo valor se realizará la precarga
private  java.lang.String claveErrorDatosPrecargadosCorrectamente
          Clave internacionalizada del error cuando todo ha ido correcto
private  java.lang.String claveErrorIndeterminado
          Clave del errror que se generará cuando se provoque un error indeterminado.
private  java.lang.String claveErrorRegistroNoEncontrado
          Clave internacionalizada del error cuando no se encuente un registro
private  java.lang.String clavePrefijoNombreCampo
          Clave del prefijo con el que tendrá la clave del campo del botón precargar
private  java.lang.String consultaHQL
          Consulta HQL que tiene que devolver una coleción de Datos.
private  Dao daoConsultas
          Dao para hacer consultas
 java.util.List<ListaCampos> listasSalida
          Lista de campos de la tarea que se cargarán los valores
protected  org.apache.commons.logging.Log logger
          Clase para la gestión de logs
private  UtilFichero utilFicheroReal
          Gestor de ficheros que apunta a path real
private  UtilFichero utilFicheroSession
          Gestor de ficheros que apunta a path de sesión
 
Constructor Summary
OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap()
          Constructor
 
Method Summary
private  MensajeI18n _realizaOperacion(java.lang.String codExpediente, java.util.Map campos, Usuario usuario, java.util.Calendar fecha)
          Método privado que recoge las excepciones
private  boolean cargarValorCampoEnMapCampos(Campo miCampo, java.util.Map<java.lang.String,java.lang.Object> datos, java.util.Map campos, java.lang.String rutaRelativaTemp)
          Carga el valor del campo en el map de campos.
private  java.lang.String copiarFicheroRealTemporal(java.lang.String rutaFicheroReal, java.lang.String rutaRelativaTemp)
          Copia el fichero real en la parte temporal.
 Campo getCampoDesdeRealizarPrecarga()
           
 java.lang.String getClaveErrorDatosPrecargadosCorrectamente()
           
 java.lang.String getClaveErrorIndeterminado()
           
 java.lang.String getClaveErrorRegistroNoEncontrado()
           
 java.lang.String getClavePrefijoNombreCampo()
           
 java.lang.String getConsultaHQL()
           
 Dao getDaoConsultas()
           
 java.util.List<ListaCampos> getListasSalida()
           
 UtilFichero getUtilFicheroReal()
           
 UtilFichero getUtilFicheroSession()
           
private  java.lang.String obtenerClaveBotonPrecargar(java.lang.String idCampo)
          Obtiene el nombre del botón de precarga
private  java.lang.String obtenerIdCampo()
          Obtiene el id de campo del que se quiere obtener el valor Si es nulo se provocará una excepción
private  java.util.Map<java.lang.String,java.lang.Object> obtenerMapDatos(java.lang.String valorCampo, java.lang.String codExpediente)
          Obtiene el map de datos del primer registro que devuelve la consulta.
private  java.lang.String obtenerValorCampo(java.util.Map campos)
          Obtiene el valor del campo del que se hará la consulta
private  java.lang.String obtenerValorCampoPrecargar(java.util.Map campos)
          Obtiene el valor del campo del botón de precarga
private  boolean precargarDatosMapCampos(java.util.Map<java.lang.String,java.lang.Object> datos, java.util.Map campos)
          Carga el map de datos a partir de la coleccion de datos.
private  boolean precargarDatosMapCamposDesdeListaCampos(ListaCampos listaCampos, java.util.Map<java.lang.String,java.lang.Object> datos, java.util.Map campos, java.lang.String rutaRelativaTemp)
          Se recorre los campos de ListaCampos para cargar el valor.
 MensajeI18n realizaOperacion(java.lang.String codExpediente, java.util.Map campos, Usuario usuario, java.util.Calendar fecha)
          Las implementaciones de este interfaz realizarán una de estas dos acciones:
Una operación previa a la ejecución de la tarea:
Operaciones típicas pueden ser el pasar el contenido de uno o varios campos a otro,
pasar a mayuscuals el contenido de un campo, etc.
 void setCampoDesdeRealizarPrecarga(Campo campoDesdeRealizarPrecarga)
           
 void setClaveErrorDatosPrecargadosCorrectamente(java.lang.String claveErrorDatosPrecargadosCorrectamente)
           
 void setClaveErrorIndeterminado(java.lang.String claveErrorIndeterminado)
           
 void setClaveErrorRegistroNoEncontrado(java.lang.String claveErrorRegistroNoEncontrado)
           
 void setClavePrefijoNombreCampo(java.lang.String clavePrefijoNombreCampo)
           
 void setConsultaHQL(java.lang.String consultaHQL)
           
 void setDaoConsultas(Dao daoConsultas)
           
 void setListasSalida(java.util.List<ListaCampos> listasSalida)
           
 void setUtilFicheroReal(UtilFichero utilFicheroReal)
           
 void setUtilFicheroSession(UtilFichero utilFicheroSession)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

campoDesdeRealizarPrecarga

private Campo campoDesdeRealizarPrecarga
Campo desde cuyo valor se realizará la precarga


clavePrefijoNombreCampo

private java.lang.String clavePrefijoNombreCampo
Clave del prefijo con el que tendrá la clave del campo del botón precargar


claveErrorIndeterminado

private java.lang.String claveErrorIndeterminado
Clave del errror que se generará cuando se provoque un error indeterminado. Se pasasrá por argumento la excepción.


claveErrorRegistroNoEncontrado

private java.lang.String claveErrorRegistroNoEncontrado
Clave internacionalizada del error cuando no se encuente un registro


claveErrorDatosPrecargadosCorrectamente

private java.lang.String claveErrorDatosPrecargadosCorrectamente
Clave internacionalizada del error cuando todo ha ido correcto


consultaHQL

private java.lang.String consultaHQL
Consulta HQL que tiene que devolver una coleción de Datos.
Se pasan dos parámetros en este orden:
  1. Valor del campo
  2. Codigo de expedientes


daoConsultas

private Dao daoConsultas
Dao para hacer consultas


utilFicheroReal

private UtilFichero utilFicheroReal
Gestor de ficheros que apunta a path real


utilFicheroSession

private UtilFichero utilFicheroSession
Gestor de ficheros que apunta a path de sesión


listasSalida

public java.util.List<ListaCampos> listasSalida
Lista de campos de la tarea que se cargarán los valores


logger

protected final org.apache.commons.logging.Log logger
Clase para la gestión de logs

Constructor Detail

OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap

public OperacionPreviaPrecargarDatosFormularioPorCampoHqlDatosEnMap()
Constructor

Method Detail

realizaOperacion

public MensajeI18n realizaOperacion(java.lang.String codExpediente,
                                    java.util.Map campos,
                                    Usuario usuario,
                                    java.util.Calendar fecha)
Description copied from interface: OperacionPrevia
Las implementaciones de este interfaz realizarán una de estas dos acciones:
Devuelve null si no hay errores o de mensaje de error correspondiente en su caso

Specified by:
realizaOperacion in interface OperacionPrevia
Returns:

_realizaOperacion

private MensajeI18n _realizaOperacion(java.lang.String codExpediente,
                                      java.util.Map campos,
                                      Usuario usuario,
                                      java.util.Calendar fecha)
                               throws java.lang.Exception
Método privado que recoge las excepciones

Parameters:
codExpediente -
campos -
usuario -
fecha -
Returns:
Throws:
java.lang.Exception

precargarDatosMapCampos

private boolean precargarDatosMapCampos(java.util.Map<java.lang.String,java.lang.Object> datos,
                                        java.util.Map campos)
                                 throws java.security.NoSuchAlgorithmException,
                                        java.io.IOException,
                                        YingoException
Carga el map de datos a partir de la coleccion de datos. Se colocará como clave de map el id del campo y como valor, el valor del campo. Si el campo es de tipo fichero se copiará el fichero de la parte real a la parte temporal y se cargará como valor en el map la direción temporal del fichero copiado.

Parameters:
coleccionDatos -
campos -
Returns:
Throws:
java.security.NoSuchAlgorithmException
java.io.IOException
YingoException

precargarDatosMapCamposDesdeListaCampos

private boolean precargarDatosMapCamposDesdeListaCampos(ListaCampos listaCampos,
                                                        java.util.Map<java.lang.String,java.lang.Object> datos,
                                                        java.util.Map campos,
                                                        java.lang.String rutaRelativaTemp)
                                                 throws java.security.NoSuchAlgorithmException,
                                                        java.io.IOException,
                                                        YingoException
Se recorre los campos de ListaCampos para cargar el valor.

Parameters:
listaCampos -
datos -
campos -
rutaRelativaTemp -
Returns:
Throws:
java.security.NoSuchAlgorithmException
java.io.IOException
YingoException

cargarValorCampoEnMapCampos

private boolean cargarValorCampoEnMapCampos(Campo miCampo,
                                            java.util.Map<java.lang.String,java.lang.Object> datos,
                                            java.util.Map campos,
                                            java.lang.String rutaRelativaTemp)
                                     throws java.security.NoSuchAlgorithmException,
                                            java.io.IOException,
                                            YingoException
Carga el valor del campo en el map de campos. Si es de tipo fichero realizará una copia del fichero en la parte temporal.

Parameters:
miCampo -
datos -
campos -
rutaRelativaTemp -
Returns:
Throws:
java.security.NoSuchAlgorithmException
java.io.IOException
YingoException

copiarFicheroRealTemporal

private java.lang.String copiarFicheroRealTemporal(java.lang.String rutaFicheroReal,
                                                   java.lang.String rutaRelativaTemp)
                                            throws java.security.NoSuchAlgorithmException,
                                                   java.io.IOException,
                                                   YingoException
Copia el fichero real en la parte temporal. Si el hash de los ficheros son diferentes provoca una excepción

Parameters:
rutaFicheroReal -
rutaRelativaTemp -
Returns:
Throws:
java.security.NoSuchAlgorithmException
java.io.IOException
YingoException

obtenerMapDatos

private java.util.Map<java.lang.String,java.lang.Object> obtenerMapDatos(java.lang.String valorCampo,
                                                                         java.lang.String codExpediente)
Obtiene el map de datos del primer registro que devuelve la consulta. Esta debe devolver un objeto que implemente DatosEnMap. Devuele el map de datos de ejecutar el método getResultadoEnMap() de DatosEnMap. se pasan dos parámetros en este orden:
  1. Valor del campo
  2. Codigo de expedientes

Returns:

obtenerValorCampo

private java.lang.String obtenerValorCampo(java.util.Map campos)
                                    throws YingoException
Obtiene el valor del campo del que se hará la consulta

Parameters:
campos -
Returns:
Throws:
YingoException

obtenerIdCampo

private java.lang.String obtenerIdCampo()
                                 throws YingoException
Obtiene el id de campo del que se quiere obtener el valor Si es nulo se provocará una excepción

Returns:
Throws:
YingoException

obtenerValorCampoPrecargar

private java.lang.String obtenerValorCampoPrecargar(java.util.Map campos)
                                             throws YingoException
Obtiene el valor del campo del botón de precarga

Parameters:
campos -
Returns:
Throws:
YingoException

obtenerClaveBotonPrecargar

private java.lang.String obtenerClaveBotonPrecargar(java.lang.String idCampo)
Obtiene el nombre del botón de precarga

Parameters:
id -
Returns:

getCampoDesdeRealizarPrecarga

public Campo getCampoDesdeRealizarPrecarga()
Returns:
Devuelve el atributo campoDesdeRealizarPrecarga

setCampoDesdeRealizarPrecarga

public void setCampoDesdeRealizarPrecarga(Campo campoDesdeRealizarPrecarga)
Parameters:
campoDesdeRealizarPrecarga - Carga el atributo campoDesdeRealizarPrecarga

getClavePrefijoNombreCampo

public java.lang.String getClavePrefijoNombreCampo()
Returns:
Devuelve el atributo clavePrefijoNombreCampo

setClavePrefijoNombreCampo

public void setClavePrefijoNombreCampo(java.lang.String clavePrefijoNombreCampo)
Parameters:
clavePrefijoNombreCampo - Carga el atributo clavePrefijoNombreCampo

getConsultaHQL

public java.lang.String getConsultaHQL()
Returns:
Devuelve el atributo consultaHQL

setConsultaHQL

public void setConsultaHQL(java.lang.String consultaHQL)
Parameters:
consultaHQL - Carga el atributo consultaHQL

getClaveErrorIndeterminado

public java.lang.String getClaveErrorIndeterminado()
Returns:
Devuelve el atributo claveErrorIndeterminado

setClaveErrorIndeterminado

public void setClaveErrorIndeterminado(java.lang.String claveErrorIndeterminado)
Parameters:
claveErrorIndeterminado - Carga el atributo claveErrorIndeterminado

getClaveErrorRegistroNoEncontrado

public java.lang.String getClaveErrorRegistroNoEncontrado()
Returns:
Devuelve el atributo claveErrorRegistroNoEncontrado

setClaveErrorRegistroNoEncontrado

public void setClaveErrorRegistroNoEncontrado(java.lang.String claveErrorRegistroNoEncontrado)
Parameters:
claveErrorRegistroNoEncontrado - Carga el atributo claveErrorRegistroNoEncontrado

getDaoConsultas

public Dao getDaoConsultas()
Returns:
Devuelve el atributo daoConsultas

setDaoConsultas

public void setDaoConsultas(Dao daoConsultas)
Parameters:
daoConsultas - Carga el atributo daoConsultas

getUtilFicheroReal

public UtilFichero getUtilFicheroReal()
Returns:
Devuelve el atributo utilFicheroReal

setUtilFicheroReal

public void setUtilFicheroReal(UtilFichero utilFicheroReal)
Parameters:
utilFicheroReal - Carga el atributo utilFicheroReal

getUtilFicheroSession

public UtilFichero getUtilFicheroSession()
Returns:
Devuelve el atributo utilFicheroSession

setUtilFicheroSession

public void setUtilFicheroSession(UtilFichero utilFicheroSession)
Parameters:
utilFicheroSession - Carga el atributo utilFicheroSession

getClaveErrorDatosPrecargadosCorrectamente

public java.lang.String getClaveErrorDatosPrecargadosCorrectamente()
Returns:
Devuelve el atributo claveErrorDatosPrecargadosCorrectamente

setClaveErrorDatosPrecargadosCorrectamente

public void setClaveErrorDatosPrecargadosCorrectamente(java.lang.String claveErrorDatosPrecargadosCorrectamente)
Parameters:
claveErrorDatosPrecargadosCorrectamente - Carga el atributo claveErrorDatosPrecargadosCorrectamente

getListasSalida

public java.util.List<ListaCampos> getListasSalida()
Returns:
Devuelve el atributo listasSalida

setListasSalida

public void setListasSalida(java.util.List<ListaCampos> listasSalida)
Parameters:
listasSalida - Carga el atributo listasSalida