com.ejie.r01f.xmlproperties.customizer
Class XMLPropertiesCustomizer

java.lang.Object
  extended bycom.ejie.r01f.xmlproperties.customizer.XMLPropertiesCustomizer

public class XMLPropertiesCustomizer
extends java.lang.Object

Clase que "customiza" las XML properties en base a variables que se definen en un fichero de "customización" con la siguiente estructura: Las propiedades customizadas pueden ser cadenas e incluso XMLs completos!!! que serán sustituidos en la propiedad A su vez, el fichero de properties de la aplicación, contendrá variables del tipo $[guidGenerator.sequence.length]$ $propName1$ local com.ejie.r01f.guids.SimpleGUIDDispenser $[guidGenerator.sequence.length]$ /html/datos/$[entorno]$/r01kQueryIndexerMapping.xml Adicionalmente, en el fichero de propiedades se pueden definir secciones dependientes de otras variables utilizando la notación: OJO!!! Las variables se indican como $var$ y no como $[var]$ que es como se indican las variables para la sustitución NOTA: 1.- Se pueden indicar varios valores de la variable separandolos por | Ej El proceso de customización de propiedades se hace en dos pasos: 1.- Se sustituyen los valores de todas las variables 2.- Se computan las condiciones de inclusion


Constructor Summary
XMLPropertiesCustomizer()
          Constructor vacío
XMLPropertiesCustomizer(java.lang.String appCode, boolean keepNotMatchingIfs)
          Constructor a partir del código de aplicacion
 
Method Summary
 java.lang.String composeVarsDebugInfo(java.util.Properties vars)
          Obtiene información de depuración acerca de las variables de sustitución
 java.lang.String customize(java.io.Reader propsReader, java.io.InputStream varsXML)
           
 java.lang.String customize(java.io.Reader propsReader, java.util.Properties vars)
          Realiza la customización de propiedades: 1.- Sustituye los valores de las variables 2.- Procesa las propiedades condicionales
static void main(java.lang.String[] args)
          Main Method
 java.util.Properties parseVarsXMLFile(java.io.InputStream varsXML)
          Parsea el fichero XML que contiene las variables a sustituir y devuelve un mapa con los nombre:valor de las variables
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLPropertiesCustomizer

public XMLPropertiesCustomizer()
Constructor vacío


XMLPropertiesCustomizer

public XMLPropertiesCustomizer(java.lang.String appCode,
                               boolean keepNotMatchingIfs)
Constructor a partir del código de aplicacion

Parameters:
appCode -
keepNotMatchingIfs -
Method Detail

customize

public java.lang.String customize(java.io.Reader propsReader,
                                  java.util.Properties vars)
                           throws java.io.IOException
Realiza la customización de propiedades: 1.- Sustituye los valores de las variables 2.- Procesa las propiedades condicionales

Parameters:
propsReader - Reader a las propiedades a customizar
vars - mapa con los valores de las propiedades prop:valor
Returns:
las propiedades customizadas
Throws:
java.io.IOException - si ocurre algún error al leer las propiedades

customize

public java.lang.String customize(java.io.Reader propsReader,
                                  java.io.InputStream varsXML)
                           throws java.io.IOException,
                                  org.xml.sax.SAXException
Parameters:
propsReader - Reader a las propiedades a customizar
varsXML - XML con las propiedades y sus valores con las que customizar
Returns:
las propiedades customizadas
Throws:
java.io.IOException - si ocurre algún error al leer las propiedades
org.xml.sax.SAXException - si ocurre algún error al parsear las customizaciones de las propiedades
See Also:
customize(Reader, Properties)

parseVarsXMLFile

public java.util.Properties parseVarsXMLFile(java.io.InputStream varsXML)
                                      throws org.xml.sax.SAXException
Parsea el fichero XML que contiene las variables a sustituir y devuelve un mapa con los nombre:valor de las variables

Parameters:
varsXML - el fichero XML con la definición de variables
Returns:
un mapa nombre:valor con las propiedades
Throws:
org.xml.sax.SAXException - si ocurre algún error al parsear el xml con las variables

composeVarsDebugInfo

public java.lang.String composeVarsDebugInfo(java.util.Properties vars)
Obtiene información de depuración acerca de las variables de sustitución

Parameters:
vars - variables
Returns:
una cadena de depuración

main

public static void main(java.lang.String[] args)
Main Method

Parameters:
args -