<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Las Neuras de Davioth</title>
	<atom:link href="http://www.davioth.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.davioth.com</link>
	<description>Donde pongo mis neuras y trabajos</description>
	<lastBuildDate>Sun, 18 Jul 2010 18:07:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Podcast Agile-Canarias del 2 Julio 2010</title>
		<link>http://www.davioth.com/?p=263</link>
		<comments>http://www.davioth.com/?p=263#comments</comments>
		<pubDate>Sun, 18 Jul 2010 18:07:55 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=263</guid>
		<description><![CDATA[El pasado 2 de Julio celebramos una reunión de Agile-canarias en la que se realizó un juego ágil , impartido por Yeray Darias y Gregorio Mena. También en esa reunión Yeray habló sobre las técnicas Pomodoro y yo un poco sobre GIT vs SVN. Incluyo la presentación. DesconferenciaGIT Hasta la siguiente reunión Primera parte Segunda [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=8" title="Informática"><img src="/wp-images/icons/topic_informatica.gif" style="float:right;" width="74" height="74" alt="Informática" /></a>
<img src="/wp-images/icons/topic_default.gif" style="float:right;" width="15" height="15" alt="Default Icon" /><p>El pasado 2 de Julio celebramos una reunión de <a href="http://agile-canarias.blogspot.com/" target="_blank">Agile-canarias</a> en la que se realizó un juego ágil , impartido por <a href="http://developerscookbook.blogspot.com" target="_blank">Yeray Darias</a> y <a target="_blank">Gregorio Mena</a>. También en esa reunión Yeray habló sobre las técnicas Pomodoro y yo un poco sobre GIT vs SVN. Incluyo la presentación.</p>
<p><a href="http://www.davioth.com/wp-content/uploads/2010/07/DesconferenciaGIT.pdf">DesconferenciaGIT</a></p>
<p>Hasta la siguiente reunión</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Julio_1.mp3" target="_blank">Primera  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Julio_2.mp3" target="_blank">Segunda  parte</a><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=263</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conectar servidor apache con tomcat 6</title>
		<link>http://www.davioth.com/?p=247</link>
		<comments>http://www.davioth.com/?p=247#comments</comments>
		<pubDate>Mon, 14 Jun 2010 22:03:57 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[conectar]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mod_jk]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=247</guid>
		<description><![CDATA[Durante estos días he tenido que conectar un servidor Apache 2.2.14 con un Tomcat 6, para realizar pruebas. Tras leer un montón de páginas que explican como hacerlo he creado una &#8220;chuleta&#8221; que ahora comparto con todos. Paso seguidos: 1. Descargo desde http://apache.rediris.es/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/i586/ el mod_jk para apache 2.2.x 2. Copio en modules de apache el [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=8" title="Informática"><img src="/wp-images/icons/topic_informatica.gif" style="float:right;" width="74" height="74" alt="Informática" /></a>
<p>Durante estos días he tenido que conectar un servidor Apache 2.2.14 con un Tomcat 6, para realizar pruebas. Tras leer un montón de páginas que explican como hacerlo he creado una &#8220;chuleta&#8221; que ahora comparto con todos.</p>
<h3><strong>Paso seguidos:</strong></h3>
<p>1. Descargo desde http://apache.rediris.es/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/i586/ el mod_jk para apache 2.2.x</p>
<p>2. Copio en modules de apache el mod_jk.so</p>
<p><span id="more-247"></span></p>
<p>3. Creo en conf el fichero mod_jk, que indica donde cargar el .so descargado, el fichero de workers.properties<br />
Teniendo el aspecto</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Load mod_jk module</span>
<span style="color: #666666; font-style: italic;"># Update this path to match your modules location</span>
LoadModule jk_module modules<span style="color: #000000; font-weight: bold;">/</span>mod_jk.so
&nbsp;
<span style="color: #666666; font-style: italic;"># Where to find workers.properties</span>
<span style="color: #666666; font-style: italic;"># Update this path to match your conf directory location</span>
JkWorkersFile conf<span style="color: #000000; font-weight: bold;">/</span>workers.properties
&nbsp;
<span style="color: #666666; font-style: italic;"># Where to put jk logs</span>
<span style="color: #666666; font-style: italic;"># Update this path to match your logs directory location</span>
JkLogFile logs<span style="color: #000000; font-weight: bold;">/</span>mod_jk.log
&nbsp;
<span style="color: #666666; font-style: italic;"># Set the jk log level [debug/error/info]</span>
JkLogLevel info
&nbsp;
<span style="color: #666666; font-style: italic;"># Select the log format</span>
JkLogStampFormat <span style="color: #ff0000;">&quot;[%a %b %d %H:%M:%S %Y]&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># JkOptions indicate to send SSL KEY SIZE,</span>
JkOptions +ForwardKeySize +ForwardURICompat <span style="color: #660033;">-ForwardDirectories</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># JkRequestLogFormat set the request format</span>
JkRequestLogFormat <span style="color: #ff0000;">&quot;%w %V %T&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Send everything for context /ws to worker ajp13</span>
JkMount <span style="color: #000000; font-weight: bold;">/</span>ws ajp13
JkMount <span style="color: #000000; font-weight: bold;">/</span>ws<span style="color: #000000; font-weight: bold;">/*</span> ajp13
&nbsp;
<span style="color: #666666; font-style: italic;"># Send everything for context /jsp-examples to worker ajp13</span>
JkMount <span style="color: #000000; font-weight: bold;">/</span>jsp-examples ajp13
JkMount <span style="color: #000000; font-weight: bold;">/</span>jsp-examples<span style="color: #000000; font-weight: bold;">/*</span> ajp13
&nbsp;
<span style="color: #666666; font-style: italic;"># Send everything for context /servelts-examples to worker ajp13</span>
JkMount <span style="color: #000000; font-weight: bold;">/</span>servlets-examples ajp13
JkMount <span style="color: #000000; font-weight: bold;">/</span>servlets-examples<span style="color: #000000; font-weight: bold;">/*</span> ajp13</pre></div></div>

<p>Con JkMount indicamos que cuando se indique esa ruta en el apache se redirija la petición al tomcat para que resuelva la petición.</p>
<p>4. Crear el workes.properties, donde se indica como conectar con el tomcat</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Define 1 real worker named ajp13</span>
worker.list=ajp13
&nbsp;
<span style="color: #666666; font-style: italic;"># Set properties for worker named ajp13 to use ajp13 protocol,</span>
<span style="color: #666666; font-style: italic;"># and run on port 8009</span>
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=<span style="color: #000000;">8009</span>
worker.ajp13.lbfactor=<span style="color: #000000;">50</span>
worker.ajp13.cachesize=<span style="color: #000000;">10</span>
worker.ajp13.cache_timeout=<span style="color: #000000;">600</span>
worker.ajp13.socket_keepalive=<span style="color: #000000;">1</span>
worker.ajp13.socket_timeout=<span style="color: #000000;">300</span><span style="color: #666666; font-style: italic;"># Define 1 real worker named ajp13</span>
worker.list=ajp13</pre></div></div>

<p>Con este fichero podemos indicar todas la conexiones a los tomcats que resolverán las peticiones.</p>
<p>5. Luego en conf\server.xml del Tomcat habilitar la conexión ajp13 en el tomcat, en este fichero descomentar esta linea</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!-- Define an AJP 1.3 Connector on port 8009 --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Connector</span> <span style="color: #000066;">port</span>=<span style="color: #ff0000;">&quot;8009&quot;</span> <span style="color: #000066;">enableLookups</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000066;">redirectPort</span>=<span style="color: #ff0000;">&quot;8443&quot;</span> <span style="color: #000066;">protocol</span>=<span style="color: #ff0000;">&quot;AJP/1.3&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Esta parte es importante porque con esto indicamos al tomcat por que puerto escucha para atender conexiones, así el valor de <strong>port</strong> debe ser el mismo de <strong>worker.ajp13.port</strong><br />
6. Incluyo el fichero con del mod_jk.conf en el httpd.conf de apache</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">include conf<span style="color: #000000; font-weight: bold;">/</span>mod_jk.conf</pre></div></div>

<h3>Webs usadas</h3>
<ul>
<li> <a href="http://www3.ntu.edu.sg/home/ehchua/programming/howto/apache_tomcat_howto.html" target="_blank">Apache 2 with Tomcat 6</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=247</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podcast de Agile-Canarias del 4 de Junio 2010</title>
		<link>http://www.davioth.com/?p=240</link>
		<comments>http://www.davioth.com/?p=240#comments</comments>
		<pubDate>Sun, 13 Jun 2010 17:21:02 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=240</guid>
		<description><![CDATA[El pasado 4 de Junio celebramos una reunión de Agile-canarias en la que se realizó un taller de integración continua, impartido por Yeray Darias y Fran Reyes Para no perder el hilo de lo que se relata en esta entrada se irán enlazando los artículos sobre el taller. Hasta la siguiente reunión el 2 de [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=8" title="Informática"><img src="/wp-images/icons/topic_informatica.gif" style="float:right;" width="74" height="74" alt="Informática" /></a>
<img src="/wp-images/icons/topic_default.gif" style="float:right;" width="15" height="15" alt="Default Icon" /><p>El pasado 4 de Junio celebramos una reunión de <a href="http://agile-canarias.blogspot.com/" target="_blank">Agile-canarias</a> en la que se realizó un taller de integración continua, impartido por <a href="http://developerscookbook.blogspot.com" target="_blank">Yeray Darias</a> y <a href="http://es.linkedin.com/in/franreyesperdomo" target="_blank">Fran Reyes</a></p>
<p>Para no perder el hilo de lo que se relata en esta <a href="http://agile-canarias.blogspot.com/2010/06/tutoriales-de-la-presentacion-de.html" target="_blank">entrada</a> se irán enlazando los artículos sobre el taller.</p>
<p>Hasta la siguiente reunión el 2 de Julio de 2010.</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_1.mp3" target="_blank">Primera  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_2.mp3" target="_blank">Seguna  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_3.mp3" target="_blank">Tercera  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_4.mp3" target="_blank">Cuarta  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_5.mp3" target="_blank">Quinta  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_6.mp3" target="_blank">Sexta  parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias4Junio2010_7.mp3" target="_blank">Séptima  parte</a><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=240</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podcast Agile Canarias del 27 de Mayo 2010</title>
		<link>http://www.davioth.com/?p=225</link>
		<comments>http://www.davioth.com/?p=225#comments</comments>
		<pubDate>Sun, 16 May 2010 21:30:47 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=225</guid>
		<description><![CDATA[El pasado 27 de Mayo celebramos una reunión de Agile-canarias en la que tratamos sobre las pizarra kanban y así hablamos sobre como aplicar el cambio en la empresa. Hasta la siguiente reunión el 4 de Junio de 2010. Primera parte Segunda parte]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=8" title="Informática"><img src="/wp-images/icons/topic_informatica.gif" style="float:right;" width="74" height="74" alt="Informática" /></a>
<img src="/wp-images/icons/topic_default.gif" style="float:right;" width="15" height="15" alt="Default Icon" /><p>El pasado 27 de Mayo celebramos una reunión de <a href="http://agile-canarias.blogspot.com/" target="_blank">Agile-canarias</a> en la que tratamos sobre las pizarra <a href="http://es.wikipedia.org/wiki/Kanban" target="_blank">kanban</a> y así hablamos sobre como aplicar el cambio en la empresa.</p>
<p>Hasta la siguiente reunión el 4 de Junio de 2010.</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias20100507_1.mp3">Primera parte</a><br />
</p>
<p><a href="http://www.davioth.com/agileCanarias/agileCanarias20100507_2.mp3">Segunda parte</a><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=225</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CAS2010</title>
		<link>http://www.davioth.com/?p=222</link>
		<comments>http://www.davioth.com/?p=222#comments</comments>
		<pubDate>Thu, 06 May 2010 08:25:41 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[conferencia]]></category>
		<category><![CDATA[spain]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=222</guid>
		<description><![CDATA[El día 10 y 11 de Junio se celebrará en Madrid la primera conferencia sobre metodologías ágiles en España Para más información pueden visitar el blog oficial CAS2010]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=8" title="Informática"><img src="/wp-images/icons/topic_informatica.gif" style="float:right;" width="74" height="74" alt="Informática" /></a>
<p>El día 10 y 11 de Junio se celebrará en Madrid la primera conferencia sobre metodologías ágiles en España</p>
<p>Para más información pueden visitar el blog oficial <a href="http://conferencia2010.agile-spain.com/" target="_blank">CAS2010</a></p>
<p><a href="http://conferencia2010.agile-spain.com/"><img class="aligncenter" title="Banner CAS2010" src="http://www.iexpertos.com/AgileSpain2010Vertical.jpg" alt="" width="200" height="624" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=222</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Procesar un CSV</title>
		<link>http://www.davioth.com/?p=205</link>
		<comments>http://www.davioth.com/?p=205#comments</comments>
		<pubDate>Thu, 31 Dec 2009 17:13:42 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Groovy]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=205</guid>
		<description><![CDATA[Por varias razones he tenido que procesar un fichero en CSV sencillo y para ello me aproveche de ciertas facilidades de Groovy. A continuación pongo el código utilizado. Código de la clase de dominio que almacena: class Pais { def descripcion } Código del procesado: def pathTemporal = System.getProperty(&#34;java.io.tmpdir&#34;) def pathFichero = pathTemporal + '/pais.csv' [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=74" title="Groovy"><img src="/wp-images/icons/topic_groovy.png" style="float:right;" width="80" height="39" alt="Groovy" /></a>
<p>Por varias razones he tenido que procesar un fichero en CSV sencillo y para ello me aproveche de ciertas facilidades de Groovy. A continuación pongo el código utilizado.</p>
<h2>Código de la clase de dominio que almacena:</h2>
<pre class="brush: groovy;">
class Pais {

 def descripcion

}
</pre>
<h2>Código del procesado:</h2>
<pre class="brush: groovy;">
def pathTemporal =  System.getProperty(&quot;java.io.tmpdir&quot;)

def pathFichero = pathTemporal + '/pais.csv'

def fich = new File (pathFichero)

def array = fich.readBytes()

def cadena = new String (array)

def lista = cadena.replace('\n','#').tokenize('#')

def patron = []

def primera = true

lista.each {linea-&gt;

    def lineaProcesada = linea.tokenize(';')

    if (primera == true) {

        patron = lineaProcesada

        primera = false

    } else {

        def mapa = [:]

        def valores = lineaProcesada

        def i = 0

        patron.each{clave-&gt;

            if ((clave?.trim()?.size() &gt; 0) || (valores[i]?.trim()?.size() &gt; 0)) {

                mapa.&quot;$clave&quot; = valores[i]

                i++

            } 

        }

        def temp = new Pais (mapa)

    }

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=205</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manipular Definición de un Bean Spring</title>
		<link>http://www.davioth.com/?p=190</link>
		<comments>http://www.davioth.com/?p=190#comments</comments>
		<pubDate>Tue, 13 Oct 2009 17:53:32 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Groovy]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=190</guid>
		<description><![CDATA[Por razones diversas he tenido que buscar una forma de modificar la definición de un Bean en Spring, de tal manera que una propiedad fuera modificada según un valor que fuera cargado desde el fichero de configuración, en este caso Config.groovy. El código a continuación ilustra la forma de utilizar BeanFactoryPostProcessor para poder manipular la [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=74" title="Groovy"><img src="/wp-images/icons/topic_groovy.png" style="float:right;" width="80" height="39" alt="Groovy" /></a>
<p>Por razones diversas he tenido que buscar una forma de modificar la definición de un Bean en Spring, de tal manera que una propiedad fuera modificada según un valor que fuera cargado desde el fichero de configuración, en este caso Config.groovy.<br />
El código a continuación ilustra la forma de utilizar <a href="http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html" target="_blank">BeanFactoryPostProcessor</a> para poder manipular la definición de un Bean durante la carga. Y MutablePropertyValues para poder manipular las propiedades de un Bean.</p>
<p><strong><span style="color: #0000ff;"><span style="text-decoration: underline;">Código Groovy</span></span></strong></p>
<pre class="brush: groovy;">
import org.springframework.beans.factory.config.BeanFactoryPostProcessor
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory
import org.springframework.beans.factory.config.BeanDefinition
import org.springframework.beans.MutablePropertyValues
import org.springframework.beans.PropertyValue
import org.springframework.beans.BeansException
import org.codehaus.groovy.grails.commons.ConfigurationHolder

//Manejo de Cadenas
import org.apache.commons.lang.StringUtils

//Logger
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory

/**
 * Clase que implementa un Post Configurador que nos permite navegar entre todos los
 * Beans y en el caso de encontrar una propiedad &quot;@grails.configuration.alfa&quot; cambiará
 * el valor de esa propiedad por el valor de la variable a partir de la @ y en el caso
 * de no existir esa variable se utilizará como valor la cadena a partir de la @.
 *
 * @author ubaydm
 *
 */
public class GrailsConfigConfigure implements BeanFactoryPostProcessor {
        protected static final Log logger = LogFactory.getLog(GrailsConfigConfigure.class)

void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
                                                                     throws BeansException {
logger.info (&quot;&gt;&gt; Reconfigurando Beans en la aplicación&quot;)
def beansPresentes = beanFactory.getBeanDefinitionNames()
//Ahora cargo por cada Bean por su nombre

beansPresentes.each {
    def beanActual = it
    logger.info (&quot;&gt;&gt;&gt; Procesando el Bean $beanActual&quot;)
    BeanDefinition beanCargado = (BeanDefinition)beanFactory.getBeanDefinition (beanActual)

    MutablePropertyValues mutablePropertys = beanCargado.getPropertyValues()
    //En caso de que el Bean no tenga propiedades no se procesa
    if (mutablePropertys.size() &gt; 0) {
           //Obtención de la propiedades
           PropertyValue[] propiedades = mutablePropertys.getPropertyValues()
           propiedades.each { propiedad -&gt;
              def namePropiedad = propiedad.getName ()
              logger.info (&quot;&gt;&gt;&gt;&gt; Procesando la propiedad $namePropiedad&quot;)
              def valorActual = propiedad.getValue ()

              if (valorActual.contains('@')) {

                  def valorParaCambio = StringUtils.substringAfter (valorActual, &quot;@&quot;)
                  def valorNuevo = valorConfiguracion (valorParaCambio)

                  logger.info (&quot;&gt;&gt;&gt;&gt;&gt; Cambiando la propiedad $namePropiedad por $valorNuevo&quot;)
                  PropertyValue propiedad = mutablePropertys.getPropertyValue(namePropiedad)

                  PropertyValue nuevaPropiedad = new PropertyValue (address, valorNuevo)
                  mutablePropertys.setPropertyValueAt(nuevoAddress, 0)
              }
           }
    }
}

}
}
</pre>
<p><strong><span style="color: #0000ff;"><span style="text-decoration: underline;">Definición de Bean</span></span></strong></p>
<pre class="brush: xml;">
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
      xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
      xmlns:cxf=&quot;http://cxf.apache.org/core&quot;
      xmlns:jaxws=&quot;http://cxf.apache.org/jaxws&quot;
      xmlns:util=&quot;http://www.springframework.org/schema/util&quot;
      xsi:schemaLocation=&quot;
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd&quot;&gt;

&lt;bean class=&quot;GrailsConfigConfigure&quot;/&gt;

    &lt;jaxws:endpoint id=&quot;beanAModificarId&quot;
    				implementorClass=&quot;BeanModificado&quot;
                                implementor=&quot;#beanModificado&quot;
propiedad=&quot;@propiedad.en.config&quot;&gt;
&lt;/jaxws:endpoint&gt;

&lt;/beans&gt;
</pre>
<p><strong><span style="text-decoration: underline;"><span style="color: #3366ff;">Enlaces de Referencia:</span></span></strong></p>
<ul>
<li><a href="http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html" target="_blank">BeanFactoryPostProcessor</a><span style="color: #3366ff;"><span style="color: #000000;"> </span></span></li>
<li><a href="http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/beans/MutablePropertyValues.html" target="_blank">MutablePropertyValues</a><span style="color: #3366ff;"><span style="color: #000000;"> </span></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=190</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectar si un Nif es correcto en Groovy</title>
		<link>http://www.davioth.com/?p=187</link>
		<comments>http://www.davioth.com/?p=187#comments</comments>
		<pubDate>Thu, 03 Sep 2009 16:44:31 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[detector]]></category>
		<category><![CDATA[Nif]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=187</guid>
		<description><![CDATA[En estos días he tenido que buscar una forma de detectar si un Nif español era o no válido para lo que me he ayudado de la Wikipedia. Y a continuación expongo lo que he hecho. Función para detectar Nif correcto. def nifValido (nif) { if (nif == &#34;&#34;) return false def n = nif.toUpperCase() [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=74" title="Groovy"><img src="/wp-images/icons/topic_groovy.png" style="float:right;" width="80" height="39" alt="Groovy" /></a>
<p>En estos días he tenido que buscar una forma de detectar si un Nif español era o no válido para lo que me he ayudado de la Wikipedia. Y a continuación expongo lo que he hecho.</p>
<p><strong><span style="color: #0000ff;"><span style="text-decoration: underline;">Función para detectar Nif correcto.<br />
</span></span></strong></p>
<pre class="brush: groovy;">
def nifValido (nif) {
  if (nif == &quot;&quot;)
          return false
  def n = nif.toUpperCase()
  String NIF_STRING_ASOCIATION = &quot;TRWAGMYFPDXBNJZSQVHLCKET&quot;
  def dni = n[0..-2].toInteger()
  if ((n ==~ /^[0-9]{8}[A-Za-z]$/) &amp;&amp; (n.contains(NIF_STRING_ASOCIATION.charAt(dni % 23).toString()))){
           log.info (&quot;El nif $n es correcto&quot;)
           return true
  }
  log.info (&quot;El nif $n No es correcto&quot;)
  return false
}
</pre>
<p><span style="text-decoration: underline;"><span style="color: #0000ff;"><strong>Enlaces de Referencia</strong></span></span></p>
<ul>
<li><a href="Número de identificación fiscal" target="_blank">Número de Indentificación fiscal (Nif) , referencia la Wikipedia.</a></li>
<li><a title="b:Algoritmo para obtener la letra del NIF" href="http://es.wikibooks.org/wiki/Algoritmo_para_obtener_la_letra_del_NIF" target="_blank">Algoritmo para obtener la letra del NIF</a>, referencia la Wikipedia.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=187</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Date to XMLGregorianCalendar</title>
		<link>http://www.davioth.com/?p=181</link>
		<comments>http://www.davioth.com/?p=181#comments</comments>
		<pubDate>Thu, 03 Sep 2009 08:40:24 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Conversión]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[to XMLGregorianCalendar]]></category>
		<category><![CDATA[XMLGregorianCalendar]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=181</guid>
		<description><![CDATA[Por diferentes razones he tenido que manipular el tipo XMLGregorianCalendar. Y a continuación pongo todo lo que he aprendido. Date to XMLGregorianCalendar import javax.xml.datatype.DatatypeFactory def calendar = new GregorianCalendar() calendar.setTime ( new Date ()) def alfa  = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar) println &#34;Tipo Final ${alfa.class.name}&#34; Salida Tipo Final com.sun.org.apacha.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=74" title="Groovy"><img src="/wp-images/icons/topic_groovy.png" style="float:right;" width="80" height="39" alt="Groovy" /></a>
<p>Por diferentes razones he tenido que manipular el tipo XMLGregorianCalendar. Y a continuación pongo todo lo que he aprendido.</p>
<p><strong><span style="color: #0000ff;"><span style="text-decoration: underline;">Date to XMLGregorianCalendar</span></span></strong></p>
<pre class="brush: groovy;">
import javax.xml.datatype.DatatypeFactory
def calendar = new GregorianCalendar()
calendar.setTime ( new Date ())
def alfa  = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar)

println &quot;Tipo Final ${alfa.class.name}&quot;
</pre>
<p><span style="text-decoration: underline;"><span style="color: #0000ff;"><strong>Salida</strong></span></span></p>
<blockquote><p>Tipo Final com.sun.org.apacha.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convirtiendo XMLGregorianCalendar to Date</title>
		<link>http://www.davioth.com/?p=168</link>
		<comments>http://www.davioth.com/?p=168#comments</comments>
		<pubDate>Tue, 04 Aug 2009 19:01:58 +0000</pubDate>
		<dc:creator>davioth</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[XMLGregorianCalendar]]></category>

		<guid isPermaLink="false">http://www.davioth.com/?p=168</guid>
		<description><![CDATA[Por diferentes razones he tenido que manipular el tipo XMLGregorianCalendar. Y a continuación pongo todo lo que he aprendido. XMLGregorianCalendar to Date import javax.xml.datatype.DatatypeFactory def calendar = new GregorianCalendar() calendar.setTime ( new Date ()) def alfa  = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar) println &#34;Tipo final ${alfa.toGregorianCalendar().getTime().class.name}&#34; Salida tipo final java.util.Date]]></description>
			<content:encoded><![CDATA[<a href="http://www.davioth.com/?cat=74" title="Groovy"><img src="/wp-images/icons/topic_groovy.png" style="float:right;" width="80" height="39" alt="Groovy" /></a>
<p>Por diferentes razones he tenido que manipular el tipo <a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/XMLGregorianCalendar.html">XMLGregorianCalendar</a>. Y a continuación pongo todo lo que he aprendido.</p>
<p><span style="color: #0000ff;"><span style="text-decoration: underline;"><strong>XMLGregorianCalendar to Date</strong></span></span></p>
<p><span style="font-family: monospace;"></p>
<pre class="brush: groovy;">
import javax.xml.datatype.DatatypeFactory
def calendar = new GregorianCalendar()
calendar.setTime ( new Date ())
def alfa  = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar)

println &quot;Tipo final ${alfa.toGregorianCalendar().getTime().class.name}&quot;
</pre>
<p><span style="color: #0000ff;"><strong>S<span style="text-decoration: underline;">alida</span></strong></span></span></p>
<blockquote>
<pre>tipo final java.util.Date</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.davioth.com/?feed=rss2&amp;p=168</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
