es.mcu.yingo.controladores
Class ControladorComprobarFichero

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.ControladorComprobarFichero
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.web.servlet.mvc.Controller

public class ControladorComprobarFichero
extends SuperControlador

Utilidad que permite comprobar un fichero firmado en formato Xades,
obtener el hash del fichero, y detalles como el tamaño, etc.

Author:
miguel.esteban

Field Summary
private static java.lang.String CLAVE_DATOS_VISTA
          Clave para los datos que se enciarán a la vista
private static java.lang.String CLAVE_PARAMETRO_FICHERO
          Parámetro utilizado para recuperar el fichero
private static java.lang.String FIRMA
          Clave para comprobar la firma del fichero
private static java.lang.String HASH
          Clave para el resumen criptográfico del fichero
private static java.lang.String MENSAJE_ERROR
          Clave para el menjaje de error
private  ServicioFirmador servicioFirmador
          Objeto que contiene utilidades de firma
private  java.util.Map<java.lang.String,java.lang.String> vistaFormulario
          Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle
private  java.util.Map<java.lang.String,java.lang.String> vistaResFirma
          Vista para mostrar el resultado de la comprobación de la firma del fichero
private  java.util.Map<java.lang.String,java.lang.String> vistaResHash
          Vista para mostrar el resultado de los detalles del fichero
 
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
ControladorComprobarFichero()
           
 
Method Summary
private  org.springframework.web.servlet.ModelAndView accionComprobarFirma(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Acciones que se realizan para comprobar la firma
private  org.springframework.web.servlet.ModelAndView accionComprobarHash(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Accion que se lanza para comprobar el hash de un fichero
private  org.springframework.web.servlet.ModelAndView accionInicio(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Carga el formulario correspondiente al argumento que se le pasa en el request
private  org.springframework.web.servlet.ModelAndView crearVistaFormulario(javax.servlet.http.HttpServletRequest request)
          Muestra el formulario
protected  org.springframework.web.servlet.ModelAndView distribuidor(java.lang.String accion, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Este método hace una llamada a las diversas acciones de los 'eventos' básicos, según el valor que viene cargado en la acción
 ServicioFirmador getServicioFirmador()
           
 java.util.Map<java.lang.String,java.lang.String> getVistaFormulario()
          Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle
 java.util.Map<java.lang.String,java.lang.String> getVistaResFirma()
          Vista para mostrar el resultado de la comprobación de la firma del fichero
 java.util.Map<java.lang.String,java.lang.String> getVistaResHash()
          Vista para mostrar el resultado de los detalles del fichero
protected  org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Realiza las acciones requeridas, según sean mostrar el formulario para subir el fichero a comprobar, comprobar la firma u obtener el hash
private  org.springframework.web.multipart.MultipartFile obtenerFichero(javax.servlet.http.HttpServletRequest request)
          Obtiene el stream del fichero subido en el formulario
private  Datos obtenerHash(javax.servlet.http.HttpServletRequest request)
          Acción que se realiza cuando se compruba un Hash de un fichero
 void setServicioFirmador(ServicioFirmador servicioFirmador)
           
 void setVistaFormulario(java.util.Map<java.lang.String,java.lang.String> vistaFormulario)
          Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle
 void setVistaResFirma(java.util.Map<java.lang.String,java.lang.String> vistaResFirma)
          Vista para mostrar el resultado de la comprobación de la firma del fichero
 void setVistaResHash(java.util.Map<java.lang.String,java.lang.String> vistaResHash)
          Vista para mostrar el resultado de los detalles del fichero
private  void validarFirma(javax.servlet.http.HttpServletRequest request)
          Valida que la firma sea correcta.
 
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

MENSAJE_ERROR

private static final java.lang.String MENSAJE_ERROR
Clave para el menjaje de error

See Also:
Constant Field Values

CLAVE_DATOS_VISTA

private static final java.lang.String CLAVE_DATOS_VISTA
Clave para los datos que se enciarán a la vista

See Also:
Constant Field Values

HASH

private static final java.lang.String HASH
Clave para el resumen criptográfico del fichero

See Also:
Constant Field Values

FIRMA

private static final java.lang.String FIRMA
Clave para comprobar la firma del fichero

See Also:
Constant Field Values

CLAVE_PARAMETRO_FICHERO

private static final java.lang.String CLAVE_PARAMETRO_FICHERO
Parámetro utilizado para recuperar el fichero

See Also:
Constant Field Values

vistaFormulario

private java.util.Map<java.lang.String,java.lang.String> vistaFormulario
Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle


vistaResHash

private java.util.Map<java.lang.String,java.lang.String> vistaResHash
Vista para mostrar el resultado de los detalles del fichero


vistaResFirma

private java.util.Map<java.lang.String,java.lang.String> vistaResFirma
Vista para mostrar el resultado de la comprobación de la firma del fichero


servicioFirmador

private ServicioFirmador servicioFirmador
Objeto que contiene utilidades de firma

Constructor Detail

ControladorComprobarFichero

public ControladorComprobarFichero()
Method Detail

handleRequestInternal

protected org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request,
                                                                             javax.servlet.http.HttpServletResponse response)
                                                                      throws java.lang.Exception
Realiza las acciones requeridas, según sean mostrar el formulario para subir el fichero a comprobar, comprobar la firma u obtener el hash

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

distribuidor

protected org.springframework.web.servlet.ModelAndView distribuidor(java.lang.String accion,
                                                                    javax.servlet.http.HttpServletRequest request,
                                                                    javax.servlet.http.HttpServletResponse response)
                                                             throws java.lang.Exception
Este método hace una llamada a las diversas acciones de los 'eventos' básicos, según el valor que viene cargado en la acción

Parameters:
accion -
request -
response -
Returns:
Throws:
java.lang.Exception

accionComprobarFirma

private org.springframework.web.servlet.ModelAndView accionComprobarFirma(javax.servlet.http.HttpServletRequest request,
                                                                          javax.servlet.http.HttpServletResponse response)
                                                                   throws java.lang.Exception
Acciones que se realizan para comprobar la firma

Parameters:
request -
response -
Returns:
Throws:
java.lang.Exception

validarFirma

private void validarFirma(javax.servlet.http.HttpServletRequest request)
                   throws WebYingoException,
                          java.io.IOException
Valida que la firma sea correcta. Si no es así lanza una excepción del tipo WebAppintraException

Parameters:
request -
Throws:
WebYingoException
java.io.IOException

accionComprobarHash

private org.springframework.web.servlet.ModelAndView accionComprobarHash(javax.servlet.http.HttpServletRequest request,
                                                                         javax.servlet.http.HttpServletResponse response)
                                                                  throws java.lang.Exception
Accion que se lanza para comprobar el hash de un fichero

Parameters:
request -
response -
Returns:
Throws:
java.lang.Exception

obtenerHash

private Datos obtenerHash(javax.servlet.http.HttpServletRequest request)
                   throws WebYingoException,
                          java.io.IOException,
                          java.security.NoSuchAlgorithmException,
                          FicheroYingoException
Acción que se realiza cuando se compruba un Hash de un fichero

Parameters:
request -
Returns:
Throws:
WebYingoException
java.io.IOException
java.security.NoSuchAlgorithmException
FicheroYingoException

obtenerFichero

private org.springframework.web.multipart.MultipartFile obtenerFichero(javax.servlet.http.HttpServletRequest request)
                                                                throws java.io.IOException,
                                                                       WebYingoException
Obtiene el stream del fichero subido en el formulario

Parameters:
request -
Returns:
Throws:
java.io.IOException
WebYingoException

accionInicio

private org.springframework.web.servlet.ModelAndView accionInicio(javax.servlet.http.HttpServletRequest request,
                                                                  javax.servlet.http.HttpServletResponse response)
                                                           throws java.lang.Exception
Carga el formulario correspondiente al argumento que se le pasa en el request

Parameters:
request -
response -
Returns:
Throws:
java.lang.Exception

crearVistaFormulario

private org.springframework.web.servlet.ModelAndView crearVistaFormulario(javax.servlet.http.HttpServletRequest request)
                                                                   throws java.lang.Exception
Muestra el formulario

Parameters:
tarea -
datos -
Returns:
Throws:
java.lang.Exception

getServicioFirmador

public ServicioFirmador getServicioFirmador()
Returns:
the servicioFirmador

setServicioFirmador

public void setServicioFirmador(ServicioFirmador servicioFirmador)
Parameters:
servicioFirmador - the servicioFirmador to set

getVistaFormulario

public java.util.Map<java.lang.String,java.lang.String> getVistaFormulario()
Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle

Returns:
the vistaFormulario

setVistaFormulario

public void setVistaFormulario(java.util.Map<java.lang.String,java.lang.String> vistaFormulario)
Map de vistas para mostra el formulario donde se podrá subir el fichero para ver el detalle

Parameters:
vistaFormulario - the vistaFormulario to set

getVistaResFirma

public java.util.Map<java.lang.String,java.lang.String> getVistaResFirma()
Vista para mostrar el resultado de la comprobación de la firma del fichero

Returns:
the vistaResFirma

setVistaResFirma

public void setVistaResFirma(java.util.Map<java.lang.String,java.lang.String> vistaResFirma)
Vista para mostrar el resultado de la comprobación de la firma del fichero

Parameters:
vistaResFirma - the vistaResFirma to set

getVistaResHash

public java.util.Map<java.lang.String,java.lang.String> getVistaResHash()
Vista para mostrar el resultado de los detalles del fichero

Returns:
the vistaResHash

setVistaResHash

public void setVistaResHash(java.util.Map<java.lang.String,java.lang.String> vistaResHash)
Vista para mostrar el resultado de los detalles del fichero

Parameters:
vistaResHash - the vistaResHash to set