edu.uoc.tfc.j2ee.icampanario.grepresenta.useful
Class GRepresentaUseful

java.lang.Object
  extended by edu.uoc.tfc.j2ee.icampanario.grepresenta.useful.GRepresentaUseful

public class GRepresentaUseful
extends java.lang.Object

Clase de utilidades

Author:
Ismael Campanario Cabrera

Method Summary
static java.lang.String convertToHex(byte[] data)
          Convierte un array de bytes a hexadecimal.
static void copyDataStream(java.io.InputStream input, java.io.OutputStream output)
          Método auxiliar que realiza una copia de datos de un InputStream a un OutputStream
static java.lang.String encrypt(byte[] key, java.lang.String s)
          Codifica la clave 3DES
static java.lang.String encrypt(java.lang.String[] key, java.lang.String s)
          Genera el Código Seguro de Verificación (CSV)
static java.lang.String encrypt(java.lang.String key, java.lang.String s)
          Codifica la clave 3DES
static PDFDocument footerGenerator(PDFDocument document, java.util.List<SignerData> signers, java.lang.String verifirmaUrl, java.lang.String endPointAfirmaServer, java.lang.String[] clave3DES, java.lang.String verifyText)
          Agrega un pie de firma al documento.
static void generatePDF(java.lang.String host, int port, java.io.OutputStream outputDocument, byte[] document)
          Método para generacion de pdf
static PDFDocument generatePdtWithFoot(SignDocument document, java.lang.String key, java.lang.String verifyURL, java.lang.String endpoint, java.lang.String verifyText)
          Genera el pdf con el pie de firma
static SignerData getCertificateData(byte[] pkcs7)
          Obtiene los datos del certificado.
static SignerData getDataSigner(java.lang.String subject, java.lang.String issuer, java.lang.String format)
          Parsea los datos del firmante.
static java.lang.String getErrorVar(java.lang.String varName)
          Devuelve el mensaje de error cuando no se puede obtener el valor de una variable
static java.util.Date getSignDate(byte[] pkcs7)
          Obtiene la fecha de firma.
static java.util.List<SignerData> getSignersDataCertificate(byte[] pkcs7, java.lang.String format)
          Obtiene los datos del certificado.
static int getSimilarUser(java.util.List<User> userList, User user, java.lang.String userName)
          Devuelve el porcentaje de similitud entre un usuario dado y la lista de usuarios.
static java.lang.String getWaterMarkReference(java.lang.String idiom)
          Devuelve la referencia a la marca de agua
static byte[] inputStreamToByte(java.io.InputStream in)
          Método que lee desde un inputstream y lo pasa a memoria en un array
static void insertWaterMark(byte[] document, java.lang.String markPath, java.io.OutputStream out, java.lang.Integer positionX, java.lang.Integer positionY)
          Crea una marca de agua en un documento
static byte[] keyToByteArray(java.lang.String key)
          Convierte la cadena de la clave 3DES a un array de bytes.
static byte[] keyToByteArray(java.lang.String[] key)
          Convierte el array de cadenas de la clave 3DES a un array de bytes.
static org.w3c.dom.Document parseaDoc(java.io.InputStream fichero)
          Parsea un documento XML y lo introduce en un DOM.
static byte[] setVariables(java.lang.String host, int port, java.io.InputStream inputDocument, java.util.Map<java.lang.String,java.lang.Object> vars)
          Método para sustitucion de variables de un documento
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setVariables

public static byte[] setVariables(java.lang.String host,
                                  int port,
                                  java.io.InputStream inputDocument,
                                  java.util.Map<java.lang.String,java.lang.Object> vars)
                           throws java.lang.Exception
Método para sustitucion de variables de un documento

Parameters:
host - maquina
port - puerto
inputDocument - documento entrada
vars - variables
Returns:
contenido
Throws:
java.lang.Exception - si ha ocurrido un error

generatePDF

public static void generatePDF(java.lang.String host,
                               int port,
                               java.io.OutputStream outputDocument,
                               byte[] document)
                        throws java.lang.Exception
Método para generacion de pdf

Parameters:
host - maquina
port - puerto
document - documento fisico
outputDocument - documento salida
Throws:
java.lang.Exception - si ha ocurrido un error

generatePdtWithFoot

public static PDFDocument generatePdtWithFoot(SignDocument document,
                                              java.lang.String key,
                                              java.lang.String verifyURL,
                                              java.lang.String endpoint,
                                              java.lang.String verifyText)
                                       throws java.lang.Exception
Genera el pdf con el pie de firma

Parameters:
document - el documento pdf
key - key
verifyURL - url verificacion
endpoint - url servicio
verifyText - texto de verificacion
type - Tipo del cajetin de firma.
Returns:
pdf con pie de firma
Throws:
PDFDocumentException - si ha ocurrido algun error al generar documento
java.lang.Exception

getSimilarUser

public static int getSimilarUser(java.util.List<User> userList,
                                 User user,
                                 java.lang.String userName)
Devuelve el porcentaje de similitud entre un usuario dado y la lista de usuarios.

Parameters:
userList - Lista de usuarios.
userName - Nombre y apellidos del usuario a buscar.
user - Usuario encontrado.
Returns:
Porcentaje de similitud del nombre y apellido.

getWaterMarkReference

public static java.lang.String getWaterMarkReference(java.lang.String idiom)
Devuelve la referencia a la marca de agua

Parameters:
idiom - idioma
Returns:
url

getCertificateData

public static SignerData getCertificateData(byte[] pkcs7)
Obtiene los datos del certificado.

Parameters:
pkcs7 - Archivo PKCS7 con los datos de firma.
Returns:
DataSigner con nombre, dni y fecha de firma.

getSignersDataCertificate

public static java.util.List<SignerData> getSignersDataCertificate(byte[] pkcs7,
                                                                   java.lang.String format)
Obtiene los datos del certificado.

Parameters:
pkcs7 - Archivo PKCS7 o xml con los datos de firma.
format - Formato de firma del fichero de firma.
Returns:
Lista de DataSigner con nombres, dnis y fechas de firma.

copyDataStream

public static void copyDataStream(java.io.InputStream input,
                                  java.io.OutputStream output)
                           throws java.io.IOException
Método auxiliar que realiza una copia de datos de un InputStream a un OutputStream

Parameters:
input - Origen de los datos a copiar
output - Destino dónde se copiarán los datos
Throws:
java.io.IOException

getErrorVar

public static java.lang.String getErrorVar(java.lang.String varName)
Devuelve el mensaje de error cuando no se puede obtener el valor de una variable

Parameters:
varName - Nombre de la variable
Returns:
Mensaje de error para la variable

convertToHex

public static java.lang.String convertToHex(byte[] data)
Convierte un array de bytes a hexadecimal.

Parameters:
data -
Returns:

keyToByteArray

public static byte[] keyToByteArray(java.lang.String key)
Convierte la cadena de la clave 3DES a un array de bytes.

Parameters:
key -
Returns:

keyToByteArray

public static byte[] keyToByteArray(java.lang.String[] key)
Convierte el array de cadenas de la clave 3DES a un array de bytes.

Parameters:
key -
Returns:

inputStreamToByte

public static byte[] inputStreamToByte(java.io.InputStream in)
                                throws java.lang.Exception
Método que lee desde un inputstream y lo pasa a memoria en un array

Parameters:
in - Entrada de datos
Returns:
array con los bytes leidos
Throws:
java.lang.Exception

getSignDate

public static java.util.Date getSignDate(byte[] pkcs7)
Obtiene la fecha de firma.

Parameters:
pkcs7 - Fichero PKCS7 con los datos de firma
Returns:
fecha de firma

parseaDoc

public static org.w3c.dom.Document parseaDoc(java.io.InputStream fichero)
Parsea un documento XML y lo introduce en un DOM.

Parameters:
uriFirma - URI al fichero XML
Returns:
Documento parseado

getDataSigner

public static SignerData getDataSigner(java.lang.String subject,
                                       java.lang.String issuer,
                                       java.lang.String format)
                                throws java.lang.Exception
Parsea los datos del firmante.

Parameters:
subject - Asunto del certificado, con los datos del firmante.
format - Formato del fichero de firma.
Returns:
dataSigner Objeto signerData con los datos del firmante.
Throws:
java.lang.Exception

footerGenerator

public static PDFDocument footerGenerator(PDFDocument document,
                                          java.util.List<SignerData> signers,
                                          java.lang.String verifirmaUrl,
                                          java.lang.String endPointAfirmaServer,
                                          java.lang.String[] clave3DES,
                                          java.lang.String verifyText)
                                   throws java.lang.Exception
Agrega un pie de firma al documento.

Parameters:
document -
signers -
verifirmaUrl -
endPointAfirmaServer -
clave3DES -
verifyText -
Returns:
Throws:
PDFDocumentException
java.lang.Exception

encrypt

public static java.lang.String encrypt(java.lang.String key,
                                       java.lang.String s)
                                throws java.lang.Exception
Codifica la clave 3DES

Parameters:
key -
s -
Returns:
Throws:
java.lang.Exception

encrypt

public static java.lang.String encrypt(java.lang.String[] key,
                                       java.lang.String s)
                                throws java.lang.Exception
Genera el Código Seguro de Verificación (CSV)

Parameters:
key - Clave 3DES
s - Código de transacción.
Returns:
CSV
Throws:
java.lang.Exception

encrypt

public static java.lang.String encrypt(byte[] key,
                                       java.lang.String s)
                                throws java.lang.Exception
Codifica la clave 3DES

Parameters:
key -
s -
Returns:
Throws:
java.lang.Exception

insertWaterMark

public static void insertWaterMark(byte[] document,
                                   java.lang.String markPath,
                                   java.io.OutputStream out,
                                   java.lang.Integer positionX,
                                   java.lang.Integer positionY)
Crea una marca de agua en un documento

Parameters:
document -
markPath -
Throws:
java.lang.Exception