es.mcu.yingo.firma
Class GeneradorXmlImpl

java.lang.Object
  extended by es.mcu.yingo.firma.GeneradorXmlImpl
All Implemented Interfaces:
GeneradorXml

public class GeneradorXmlImpl
extends java.lang.Object
implements GeneradorXml

Genera un archivo xml a partir de una colección de datos. Dicho archivo se genera de modo que sea adecuado para que sea firmado posteriormente el contenido del xml "SolicitudFirmada", donde el primer nodo es "SolicitudID"

Author:
carlos.garcia.h

Field Summary
protected  org.apache.commons.logging.Log logger
          Log de la aplicación
private  java.lang.String urlNamespaceDs
          Url napespace Ds
private  java.lang.String urlNamespaceEtsi
          Url napespace Etsi
private  UtilFichero utilFicheroReal
          Utilidad para el manejo de ficheros
 
Constructor Summary
GeneradorXmlImpl()
           
 
Method Summary
private  void anadirCampoFichero(Datos campo, org.dom4j.Element eDatos)
          Añade un campo fichero al XML con el nombre del fichero y el hash.
private  void anadirCampoTexto(Datos campo, org.dom4j.Element eDatos)
          Añade un elemento al xml dentro del elemento de datos con el valor del campo
private  org.dom4j.Element anadirNodoDatos(org.dom4j.Element eSolicitudId, java.util.Collection<Datos> datos)
          Añade el nodo de los datos del XML según vengan almacenados en la tarea
private  org.dom4j.Element anadirNodoSolicitudFirmada(org.dom4j.Document documento)
          Crea el nodo principal \"SolicitudFirmada\" del documento
private  org.dom4j.Element anadirNodoSolicitudId(org.dom4j.Element eSolicitudFirmada)
          Se añade el nodo de solicitudId al nodo de solicitud firmacda
 java.lang.String generarXmlParaFirma(java.util.Collection<Datos> datos)
          Genera el xml a partir del Map de datos aplantillando la tarea
 java.lang.String getUrlNamespaceDs()
           
 java.lang.String getUrlNamespaceEtsi()
           
 UtilFichero getUtilFicheroReal()
          Utilidad para el manejo de ficheros
 void setUrlNamespaceDs(java.lang.String urlNamespaceDs)
           
 void setUrlNamespaceEtsi(java.lang.String urlNamespaceEtsi)
           
 void setUtilFicheroReal(UtilFichero utilFicheroReal)
          Utilidad para el manejo de ficheros
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Log de la aplicación


utilFicheroReal

private UtilFichero utilFicheroReal
Utilidad para el manejo de ficheros


urlNamespaceDs

private java.lang.String urlNamespaceDs
Url napespace Ds


urlNamespaceEtsi

private java.lang.String urlNamespaceEtsi
Url napespace Etsi

Constructor Detail

GeneradorXmlImpl

public GeneradorXmlImpl()
Method Detail

generarXmlParaFirma

public java.lang.String generarXmlParaFirma(java.util.Collection<Datos> datos)
                                     throws java.lang.Exception
Genera el xml a partir del Map de datos aplantillando la tarea

Specified by:
generarXmlParaFirma in interface GeneradorXml
Parameters:
datos -
tarea -
Returns:
Throws:
java.lang.Exception

anadirNodoSolicitudFirmada

private org.dom4j.Element anadirNodoSolicitudFirmada(org.dom4j.Document documento)
Crea el nodo principal \"SolicitudFirmada\" del documento

Parameters:
documento -
Returns:

anadirNodoSolicitudId

private org.dom4j.Element anadirNodoSolicitudId(org.dom4j.Element eSolicitudFirmada)
Se añade el nodo de solicitudId al nodo de solicitud firmacda

Parameters:
eSolicitudFirmada -
Returns:

anadirNodoDatos

private org.dom4j.Element anadirNodoDatos(org.dom4j.Element eSolicitudId,
                                          java.util.Collection<Datos> datos)
                                   throws java.security.NoSuchAlgorithmException,
                                          FicheroYingoException,
                                          java.io.IOException
Añade el nodo de los datos del XML según vengan almacenados en la tarea

Parameters:
eSolicitudId -
datos -
tarea -
Returns:
Throws:
java.io.IOException
FicheroYingoException
java.security.NoSuchAlgorithmException

anadirCampoFichero

private void anadirCampoFichero(Datos campo,
                                org.dom4j.Element eDatos)
                         throws java.security.NoSuchAlgorithmException,
                                FicheroYingoException,
                                java.io.IOException
Añade un campo fichero al XML con el nombre del fichero y el hash. Además añade al Map de datos el hash del fichero en la clave nombreCampo + "_hashSHA1"

Parameters:
campo -
datos -
eDatos -
Throws:
java.security.NoSuchAlgorithmException
FicheroYingoException
java.io.IOException

anadirCampoTexto

private void anadirCampoTexto(Datos campo,
                              org.dom4j.Element eDatos)
Añade un elemento al xml dentro del elemento de datos con el valor del campo

Parameters:
campo -
eDatos -

getUrlNamespaceDs

public java.lang.String getUrlNamespaceDs()
Returns:
the urlNamespaceDs

setUrlNamespaceDs

public void setUrlNamespaceDs(java.lang.String urlNamespaceDs)
Parameters:
urlNamespaceDs - the urlNamespaceDs to set

getUrlNamespaceEtsi

public java.lang.String getUrlNamespaceEtsi()
Returns:
the urlNamespaceEtsi

setUrlNamespaceEtsi

public void setUrlNamespaceEtsi(java.lang.String urlNamespaceEtsi)
Parameters:
urlNamespaceEtsi - the urlNamespaceEtsi to set

getUtilFicheroReal

public UtilFichero getUtilFicheroReal()
Utilidad para el manejo de ficheros

Returns:
the utilFicheroReal

setUtilFicheroReal

public void setUtilFicheroReal(UtilFichero utilFicheroReal)
Utilidad para el manejo de ficheros

Parameters:
utilFicheroReal - the utilFicheroReal to set