miércoles, septiembre 15, 2010

Clase BeanUtils de Apache Commons y las fechas

Hola,

Usando el API BeanUtils de Apache, en concreto su (gran) método copyProperties, me dí cuenta de que cuando el bean a copiar tenía algún campo con fechas y estas estaban a null se obtenía la siguiente traza:


No value specified for 'Date'
org.apache.commons.beanutils.ConversionException: No value specified for 'Date'


Bien, buscando por ahí encontré una forma de seguir usando BeanUtils aún cuando el bean tiene fechas a nulo.


Date defaultValue = null;
DateConverter converter = new DateConverter (defaultValue);
ConvertUtils.register (converter, java.util.Date.class);

BeanUtils.copyProperties (view, nuevo);


Simple pero eficaz. Lo encontré en un foro, pero no lo menciono ya que el "descubrimiento" fue hace ya bastante tiempo y no tengo ni idea de dónde lo saqué.

domingo, agosto 08, 2010

¿Un nuevo impulso para Linux?

Soy usuario habitual de Linux, en concreto de Ubuntu. Si, ya sé que muchos opinarán que hay mejores distribuciones. Particularmente no me interesa esa discusión. Cada usuario de Linux puede elegir la que más le convenza.

También habrá usuarios de otros sistemas que opinarán que dichos sistemas son mejores y expondrán sus razones. Tampoco es una discusión en la que quiera entrar. Ya le he tenido muchas veces.

Bueno, a lo que iba. Hace algún tiempo, en una reunión de amigos conocí a una persona metida en temas políticos en un pequeño pueblo, de izquierdas y fanático del software libre. Yo llevaba mi portátil y la última distribución de Ubuntu por aquel entonces. Había solicitado el CD a Canonical, con sus correspondientes pegatinas. Le vi tan entusiasmado, que le regalé las pegatinas.

Después empezamos una charla distendida sobre Linux, software libre y demás. Yo habitualmente tengo instalado un sistema dual (Windows/Linux) y me preguntó por qué, ya que con Linux podía hacer todo lo que necesitaba. Es casi cierto en mi caso, ya que desarrollo en Java y no necesito un Windows para realizar mi trabajo (puedo usar indiferentemente uno u otro sistema).

El caso es que sólo tuve que contestarle con tres palabras para que no siguiera insistiendo en el tema: "me gusta jugar". No dijo nada más.

Llegados a este punto, alguno me recordará que existe algo llamado Wine, que me permitirá instalar aplicaciones Windows en mi Linux, pero personalmente, no termina de convencerme. He tenido algunas experiencias con Wine, que no me han dejado buen sabor de boca. En ocasiones hay que remangarse para hacer que las cosas funcionen medianamente bien.

Es cierto que los esfuerzos de Canonical, Red Hat, Debian y otros han conseguido darle un impulso al S.O., pero recientemente ha surgido una noticia que creo que podría darle un impulso mucho mayor. Me refiero a la intención de Valve de publicar una versión de Steam para Linux.

Según las noticias, es posible que la primera versión esté disponible a finales de verano del 2010 y Valve ya ha confirmado que, aparte de los juegos que ya estaban disponibles para Linux (Unreal Tournament 2004, World of Goo o títulos de id Software como Enemy Territory: Quake Wars o Doom 3), títulos propios como Half-Life 2, Counter-Strike: Source o Team Fortress 2 y la siguiente versión de Portal también se lanzarán para esta plataforma.

Habrá que esperar a ver cómo se desarrollan los acontecimientos, pero tengo la impresión que este podría ser el mayor "empujón" que haya recibido Linux en los últimos años.