viernes, 18 de febrero de 2011

Jasper Server

En las últimas semanas he comenzado a trabajar en un nuevo proyecto que, además de demasiados cambios a nivel personal (como demuestra que me halle escribiendo aquí a estas horas), me ha proporcionado algunas interesantes novedades a nivel profesional.

Una de ellas es el haber comenzado a trabajar con Jasper Server. Ya había utilizado anteriormente la tecnología de JasperSoft para crear informes, siempre a través de la herramienta iReport, pero nunca había llegado a tocar el servidor.

En mi caso me lo encontré ya montado y funcionando, pero me tocó hacer algunas modificaciones a los informes que contenía. La gran duda me surgió nada más empezar. ¿Cómo me bajo un reporte para poder editarlo? Lo primero que me indicó mi instinto fue que bichease la interfaz Web buscando una opción que lo permitiese, pero para mi sorpresa no la había, o estaba muy bien escondida.

Así que tiré del plan B, y rebuscando por iReport encontré una vista hasta entonces desconocida: el repositorio JasperServer.

Cuando se activa, esta vista muestra un panel desde el que se pueden configurar conexiones a servidores Jasper simplemente dando los parámetros necesarios mediante un wizard.


Una vez establecida la conexión, es posible navegar por el contenido del servidor hasta localizar los ficheros jrxml en él publicados. Basta entonces con hacer clic derecho sobre ellos y seleccionar la opción 'Open in editor' para tener el informe en el editor, y en una carpeta temporal de nuestro ordenador. Desde ahí no tenemos más que guardarlo donde nos interese.

Si tras hacer modificaciones queremos realizar el proceso inverso, actualizando la versión del servidor a partir de nuestra copia local, no tenemos más que volver a hacer clic derecho, y seleccionar en este caso 'Replace with current document' (lógicamente con el informe modificado abierto y activo en el editor).

Todo esto dicho para la versión 3.7.0 de iReport.

sábado, 5 de febrero de 2011

Uno de los errores que me he encontrado habitualmente desarrollando para Android con el plugin de Eclipse ADT es el siguiente:

emulator: ERROR: the user data image is used by another emulator. aborting

Cuando esto pasa resulta imposible desplegar una aplicación por más que reiniciemos el emulador, el eclipse, o lo que queramos. El porqué empieza a aparecer este error la verdad es que no he conseguido averiguarlo, pero sí que he encontrado una solución satisfactoria en los foros de stackoverflow.

Como ahí se explica, para solucionar el problema basta con eliminar dos carpetas ubicadas en la ruta C:\Documents and Settings\%user%\.android\avd\%nombreTelefono%.avd, cache.img.lock y userdata-qemu.img.lock.

En mi caso funcionó perfectamente, aunque en un principio obtuve un comportamiento extraño: cada vez que arrancaba la aplicación se lanzaba una nueva instancia del emulador. No duró mucho.

Otras alternativa que parece algo más limpia es la de reiniciar el servidor ADB. La he probado y funciona igualmente. Se puede hacer yendo a la vista DDMS, a la pestaña Devices, y al View Menu (la flecha blanca que apunta hacia abajo). Ahí tenemos la opción Reset ADB.