es.mcu.yingo.tareas.acciones
Class AccionCrearPDF

java.lang.Object
  extended by es.mcu.yingo.tareas.acciones.AccionAbstracta
      extended by es.mcu.yingo.tareas.acciones.AccionCrearPDF
All Implemented Interfaces:
IdAplicacionAware, Accion
Direct Known Subclasses:
AccionCrearPDFExpediente

public class AccionCrearPDF
extends AccionAbstracta

Acción que se utiliza para crear un archivo en formato .pdf

Se especifican en la acción la ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper) miguel.esteban


Field Summary
private  Campo campo
          Campo que almacenará el archivo pdf
private  java.lang.String extensionFichero
          Extensión del archivo
private  java.lang.String jasperInforme
          Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)
static java.lang.String PARAM_CLASECARGADORA
           
static java.lang.String PARAM_DAO
           
private  java.util.Map parametrosFijos
          Lista de parámetros fijos que se pasarán al informe PDF
private  ProcesadorStream procesadorStream
          Método que procesa el InputStream devolviendo otro objeto InputStream modificado
private  UtilFichero utilFicheroReal
          Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos
private  UtilFichero utilFicheroSesion
          Utilidad de fichero que apunta al servidor de ficheros para datos de sesión
 
Fields inherited from class es.mcu.yingo.tareas.acciones.AccionAbstracta
logger
 
Constructor Summary
AccionCrearPDF()
          Constructor, por defecto la extensión del fichero será '.pdf'
 
Method Summary
private  void _doAccion(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Método privado que sirve para recoger todas las excepciones para arriba
private  void crearDirectorioTemporal(java.lang.String rutaRelativaTemp)
          Crea el directorio temporal que marca 'rutaRelativaTemp' al que apunta 'utilFicheroSesion'
private  java.lang.String crearRutaRelativaFicheroTemporal()
          Crea la ruta relativa del fichero temporal.
private  java.lang.String crearStreamPDF(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Crea el stream del PDF a partir de los datos cargados.
 void doAccion(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Lanza la ejecución de la acción que crea el archivo pdf
private  java.lang.String escribirFicheroPdf(java.io.InputStream archivoPdfStream, TareasRealizadasId ultTarRealizadaId)
          Escribe el fichero PDF
private  java.lang.String escribirPDF(net.sf.jasperreports.engine.JasperPrint miJasperPrint)
          Obtiene la fuente de datos del jasper desde el código de expedientes.
 Campo getCampo()
           
 java.lang.String getExtensionFichero()
          Extensión del archivo
 java.lang.String getJasperInforme()
          Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)
 java.util.Map getParametrosFijos()
          Lista de parámetros fijos que se pasarán al informe PDF
 ProcesadorStream getProcesadorStream()
          Objeto que procesa el InputStream devolviendo otro objeto InputStream modificado
 UtilFichero getUtilFicheroReal()
          Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos
 UtilFichero getUtilFicheroSesion()
           
protected  net.sf.jasperreports.engine.JRDataSource obtenerFuenteDeDatos(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Obtiene la fuente de datos
protected  java.util.Map obtenerParametrosInforme(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Obtiene los parámetros que se pasarán al informe PDF.
private  java.lang.String obtenerRutaFichero(TareasRealizadasId ultTarRealizadaId)
          Obtiene la ruta del fichero de la ruta que corresponde a la tarea realizada.
protected  java.io.InputStream obtenerStream(java.lang.String recurso)
          Obtiene el stream del recurso en el ClassPath
 void setCampo(Campo campo)
           
 void setExtensionFichero(java.lang.String extensionFichero)
          Extensión del archivo
 void setJasperInforme(java.lang.String jasperInforme)
          Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)
 void setParametrosFijos(java.util.Map parametrosFijos)
          Lista de parámetros fijos que se pasarán al informe PDF
 void setProcesadorStream(ProcesadorStream procesadorStream)
          Objeto que procesa el InputStream devolviendo otro objeto InputStream modificado
 void setUtilFicheroReal(UtilFichero utilFicheroReal)
          Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos
 void setUtilFicheroSesion(UtilFichero utilFicheroSesion)
           
 
Methods inherited from class es.mcu.yingo.tareas.acciones.AccionAbstracta
crearRutaReal, getBaseDatos, getIdAplicacion, grabarValorEnDatos, grabarValorEnDatosFichero, obtenerUltimaTarea, setBaseDatos, setIdAplicacion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_CLASECARGADORA

public static final java.lang.String PARAM_CLASECARGADORA
See Also:
Constant Field Values

PARAM_DAO

public static final java.lang.String PARAM_DAO
See Also:
Constant Field Values

jasperInforme

private java.lang.String jasperInforme
Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)


parametrosFijos

private java.util.Map parametrosFijos
Lista de parámetros fijos que se pasarán al informe PDF


campo

private Campo campo
Campo que almacenará el archivo pdf


extensionFichero

private java.lang.String extensionFichero
Extensión del archivo


utilFicheroReal

private UtilFichero utilFicheroReal
Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos


utilFicheroSesion

private UtilFichero utilFicheroSesion
Utilidad de fichero que apunta al servidor de ficheros para datos de sesión


procesadorStream

private ProcesadorStream procesadorStream
Método que procesa el InputStream devolviendo otro objeto InputStream modificado

Constructor Detail

AccionCrearPDF

public AccionCrearPDF()
Constructor, por defecto la extensión del fichero será '.pdf'

Method Detail

doAccion

public void doAccion(Dao dao,
                     java.lang.String idTarea,
                     java.lang.String codexpediente,
                     java.util.Map<java.lang.String,java.lang.String> datos,
                     Usuario usuario)
              throws YingoException
Lanza la ejecución de la acción que crea el archivo pdf

Parameters:
dao -
idTarea -
codexpediente -
datos -
usuario -
Throws:
YingoException

_doAccion

private void _doAccion(Dao dao,
                       java.lang.String idTarea,
                       java.lang.String codexpediente,
                       java.util.Map<java.lang.String,java.lang.String> datos,
                       Usuario usuario)
                throws java.lang.Exception
Método privado que sirve para recoger todas las excepciones para arriba

Parameters:
dao -
idTarea -
codexpediente -
datos -
usuario -
Throws:
java.lang.Exception

crearStreamPDF

private java.lang.String crearStreamPDF(Dao dao,
                                        java.lang.String idTarea,
                                        java.lang.String codexpediente,
                                        java.util.Map<java.lang.String,java.lang.String> datos,
                                        Usuario usuario)
                                 throws net.sf.jasperreports.engine.JRException,
                                        java.security.KeyStoreException,
                                        java.security.NoSuchAlgorithmException,
                                        java.security.cert.CertificateException,
                                        java.security.UnrecoverableKeyException,
                                        java.io.IOException,
                                        java.net.URISyntaxException,
                                        YingoException
Crea el stream del PDF a partir de los datos cargados.
Devuelve la ruta realativa del fichero temporal desde el directorio configurado en 'utilFicheroSesion'

Parameters:
dao -
idTarea -
codexpediente -
datos -
usuario -
Returns:
Throws:
net.sf.jasperreports.engine.JRException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
java.security.UnrecoverableKeyException
java.io.IOException
java.net.URISyntaxException
YingoException

escribirFicheroPdf

private java.lang.String escribirFicheroPdf(java.io.InputStream archivoPdfStream,
                                            TareasRealizadasId ultTarRealizadaId)
                                     throws YingoException,
                                            java.io.IOException
Escribe el fichero PDF

Parameters:
archivoPdfStream -
dao -
idTarea -
codexpediente -
usuario -
Throws:
YingoException
java.io.IOException

obtenerFuenteDeDatos

protected net.sf.jasperreports.engine.JRDataSource obtenerFuenteDeDatos(Dao dao,
                                                                        java.lang.String idTarea,
                                                                        java.lang.String codexpediente,
                                                                        java.util.Map<java.lang.String,java.lang.String> datos,
                                                                        Usuario usuario)
Obtiene la fuente de datos

Parameters:
dao -
idTarea -
codexpediente -
datos -
usuario -
Returns:

obtenerRutaFichero

private java.lang.String obtenerRutaFichero(TareasRealizadasId ultTarRealizadaId)
                                     throws YingoException
Obtiene la ruta del fichero de la ruta que corresponde a la tarea realizada. El nombre del fichero será el id de campo configurado en el atributo y la extensión cargada en el atributo 'extensionFichero'

Parameters:
ultTarRealizadaId -
Returns:
Throws:
YingoException

obtenerStream

protected java.io.InputStream obtenerStream(java.lang.String recurso)
Obtiene el stream del recurso en el ClassPath

Parameters:
recurso -
Returns:

escribirPDF

private java.lang.String escribirPDF(net.sf.jasperreports.engine.JasperPrint miJasperPrint)
                              throws net.sf.jasperreports.engine.JRException,
                                     java.security.KeyStoreException,
                                     java.security.NoSuchAlgorithmException,
                                     java.security.cert.CertificateException,
                                     java.security.UnrecoverableKeyException,
                                     java.io.IOException,
                                     java.net.URISyntaxException,
                                     FicheroYingoException
Obtiene la fuente de datos del jasper desde el código de expedientes.
Devuelve la ruta relativa del fichero a partir del directorio temporal que está configurado en 'utilFicheroSesion'

Returns:
Throws:
FicheroYingoException
java.lang.Exception
net.sf.jasperreports.engine.JRException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
java.security.UnrecoverableKeyException
java.io.IOException
java.net.URISyntaxException

crearRutaRelativaFicheroTemporal

private java.lang.String crearRutaRelativaFicheroTemporal()
                                                   throws FicheroYingoException
Crea la ruta relativa del fichero temporal. Devuelve la ruta relativa desde directorio temporal al que apunta 'utilFicheroSesion'

Returns:
Throws:
FicheroYingoException

crearDirectorioTemporal

private void crearDirectorioTemporal(java.lang.String rutaRelativaTemp)
                              throws FicheroYingoException
Crea el directorio temporal que marca 'rutaRelativaTemp' al que apunta 'utilFicheroSesion'

Throws:
FicheroYingoException

obtenerParametrosInforme

protected java.util.Map obtenerParametrosInforme(Dao dao,
                                                 java.lang.String idTarea,
                                                 java.lang.String codexpediente,
                                                 java.util.Map<java.lang.String,java.lang.String> datos,
                                                 Usuario usuario)
                                          throws YingoException
Obtiene los parámetros que se pasarán al informe PDF. En principio se añadiran los que son fijos para todos los informes cargados en el atributo parametrosFijos

Parameters:
dao -
idTarea -
codexpediente -
datos -
usuario -
Returns:
Throws:
YingoException

getJasperInforme

public java.lang.String getJasperInforme()
Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)

Returns:
the jasperInforme

setJasperInforme

public void setJasperInforme(java.lang.String jasperInforme)
Ruta interna del proyecto donde se encuentra la clase jasper compilada (.jasper)

Parameters:
jasperInforme - the jasperInforme to set

getParametrosFijos

public java.util.Map getParametrosFijos()
Lista de parámetros fijos que se pasarán al informe PDF

Returns:
the parametrosFijos

setParametrosFijos

public void setParametrosFijos(java.util.Map parametrosFijos)
Lista de parámetros fijos que se pasarán al informe PDF

Parameters:
parametrosFijos - the parametrosFijos to set

getCampo

public Campo getCampo()
Returns:
the campo

setCampo

public void setCampo(Campo campo)
Parameters:
campo - the campo to set

getExtensionFichero

public java.lang.String getExtensionFichero()
Extensión del archivo

Returns:
the extensionFichero

setExtensionFichero

public void setExtensionFichero(java.lang.String extensionFichero)
Extensión del archivo

Parameters:
extensionFichero - the extensionFichero to set

getUtilFicheroReal

public UtilFichero getUtilFicheroReal()
Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos

Returns:
the utilFicheroReal

setUtilFicheroReal

public void setUtilFicheroReal(UtilFichero utilFicheroReal)
Utilidad de fichero que apunta al servidor de ficheros donde se almacenan los datos

Parameters:
utilFicheroReal - the utilFicheroReal to set

getProcesadorStream

public ProcesadorStream getProcesadorStream()
Objeto que procesa el InputStream devolviendo otro objeto InputStream modificado

Returns:
the procesadorStream

setProcesadorStream

public void setProcesadorStream(ProcesadorStream procesadorStream)
Objeto que procesa el InputStream devolviendo otro objeto InputStream modificado

Parameters:
procesadorStream - the procesadorStream to set

getUtilFicheroSesion

public UtilFichero getUtilFicheroSesion()

setUtilFicheroSesion

public void setUtilFicheroSesion(UtilFichero utilFicheroSesion)