Serializer / Parser de ficheros XMI en Java con Netbeans

Ante las preguntas de ana y GG en este post, me he decidido a liberar el código de un proyecto que estaba desarrollando y que desafortunadamente, por falta de tiempo, he tenido que cancelar.

Se trata de un generador y parser de ficheros XMI, uno de los tantos estándares de XML, concretando, una especificación para el intercambio de diagramas que fue escrita para proveer una manera de compartir modelos UML entre diferentes herramientas de modelado.

La forma tanto de utilizar el serializer (escritura en fichero XMI) como la de utilizar el parser es muy sencilla y parecida. Por ejemplo, para el serializer basta con:

  1. KXmlSerializer serializer = new KXmlSerializer();
  2. serializer.startTag(null, "packagedElement");
  3. serializer.attribute(NAMESPACE_XMI, "xmi:id", pClassID);
  4. serializer.attribute(null, "name", pClassName);
  5. serializer.attribute(null, "visibility", "public");
  6. serializer.attribute(null, "isAbstract", "true");
  7. serializer.endTag(null, "packagedElement");

Lo que da lugar a un XMI del tipo:

  1. <packagedElement xmi:type="uml:Class" name="Jam" xmi:id="BOUML_0x1f883_4" visibility="public" isAbstract="true">

Espero que le sirva a alguien el código desarrollado. Podéis descargarlo de aquí.

Sé el primero en valorar positivamente

Instalar Ubuntu 8.10 Intrepid en HP 2133 Mini-Note mediante USB

hp2133

La verdad que no ha sido un camino de rosas instalar Ubuntu 8.10 Intrepid Ibex en mi nuevo y flamante HP 2133 (gracias Morty!).

Al final lo conseguí instalar en una ocasión con un CD Ubuntu 8.10 versión alternate y en otra ocasión con la versión Desktop.

Vamos a ver la instalación con la versión Alternate y seguidamente comentaré más o menos los cambios para instalar la Desktop.

Requisitos para este tutorial:

  • Un mini Notebook HP 2133, por supuesto.
  • ISO de Ubuntu 8.10 alternate.
  • Conexión por cable Ethernet disponible.
  • Un pc de escritorio con Ubuntu o Windows XP instalado.
  • Un pendrive USB. Como nota importante, reseño que utilizando un MP4 de Saytes todo eran problemas y que, sin embargo, utilizando un pendrive de 8gb de la marca Kingston la velocidad de lectura / escritura aumenta y el proceso transcurre sin errores.

Pasos para la instalación:

  • Formatear el pendrive. Desmontarlo y desde una terminal escribir:
    sudo mkfs.vfat /dev/sdX1

    donde X es la letra de la unidad USB, en mi caso es sdb1.

  • Para hacer el pendrive bootable, vamos a Ubuntu en nuestro PC de escritorio, y buscamos en el menú Sistema => Administración la opción Create a USB Startup Disk.
  • Una vez finalizado el proceso, debemos eliminar las referencias al CD-ROM en los ficheros que ha grabado la utilidad de autoarranque del pendrive. Esto evita que te pida montar el CD en uno de los pasos. En una de las carpetas hay una serie de archivos con extensión cfg que habrá que modificar de la siguiente forma:
    • En text.cfg, modificar la linea 5:
      append  noprompt cdrom-detect/try-usb=true persistent file=/cdrom/preseed/ubuntu.seed initrd=/install/initrd.gz quiet --

      por esta

      append  noprompt cdrom-detect/try-usb=true persistent file=/preseed/ubuntu.seed initrd=/install/initrd.gz quiet --
    • En adtext.cfg, modificar la linea 4:
      append  file=/cdrom/preseed/ubuntu.seed priority=low initrd=/install/initrd.gz --

      por esta

      append  file=/preseed/ubuntu.seed priority=low initrd=/install/initrd.gz --
    • En gfxboot.cfg, modificar la linea 8:
      replace cli=file=/cdrom/preseed/cli.seed

      por esta

      replace cli=file=/preseed/cli.seed

      y la linea 11:

      replace ltsp=file=/cdrom/preseed/ltsp.seed

      por esta

      replace ltsp=file=/preseed/ltsp.seed
  • Desmontar el pendrive del equipo de escritorio e insertarlo en el HP 2133. Arrancar el equipo y pulsar F9 para escoger el dispositivo USB como el que arrancará primero.
  • Seguir los pasos de la instalación de forma normal teniendo en cuenta que, al menos en mi caso, en el paso Seleccionar e instalar programas no puedes elegir nada, porque si lo haces, el sistema te dice que no se puede descargar (a pesar de estar conectado vía cable). Al no elegir nada se instala el sistema base.
  • Cuando termina la instalación te suelta en un terminal. Inicias sesión e instalas gdm:
    sudo apt-get install gdm
  • ANTES DE REINICIAR vamos a hacer uso de los pasos que nos ofrece Daniel Alberto Rodríguez Méndez, para dejar la tarjeta gráfica instalada y que al reiniciar podamos ver el entorno gráfico.

    Lo que yo he hecho, guiándome por esta referencia, ha sido lo siguiente:

    • Bajarme el driver correspondiente a nuestra tarjeta gráfica de este enlace.
    • Descomprimir el fichero descargado con el siguiente comando:
      tar xvzf 85a-43862-u810-2d-bin.tar.gz
    • Nos colamos en el directorio que se ha extraído del archivo:
      cd 85a-43862-u810-2d-bin/

    • Copiamos el driver al directorio que nos comentan en el Readme:
      cp via_drv.so /usr/lib/xorg/modules/drivers/
    • Nos descargamos el magnífico xorg.conf.chi ya preparado en el sitio de dabeto en este enlace.
    • Lo renombramos a xorg.conf:
      mv xorg.conf.chi xorg.conf
    • Y lo copiamos, sobrescribiendo el xorg.conf original:
      mv xorg.conf /etc/X11/
    • Listo el tema gráfico. Ahora ya podemos reiniciar y, al volver a Ubuntu, deberíamos ver la pantalla de bienvenida. Pero podemos observar que no tenemos WiFi. Para cargar el driver, he encontrado tres formas válidas. La primera, sirve para todos los kernels y no la he encontrado en ninguna referencia. Simplemente observando los errores que me "chillaba" Ubuntu, me di cuenta de que se "casi" se reconocían los drivers del chipset WiFi, pero se informaba que había que bajarse e instalar la última versión. Las otras dos formaron parte de instalaciones anteriores y, o bien no funcionaban en el kernel 2.6.27-11-generic, o bien la WiFi se iba y volvía de vez en cuando.
      • Se trata de seguir los pasos indicados en este enlace, que son los siguientes:
      • wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
        tar xjf b43-fwcutter-011.tar.bz2
        cd b43-fwcutter-011
        make
        cd ..
        export FIRMWARE_INSTALL_DIR="/lib/firmware"
        wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
        tar xjf broadcom-wl-4.80.53.0.tar.bz2
        cd broadcom-wl-4.80.53.0/kmod
        sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta.o

        Esta solución, al ser los drivers oficiales, funciona hasta en el kernel 2.6.27-11, al contrario que las dos soluciones que vienen a continuación.

      • La segunda solución, que no funciona en el kernel 2.6.27-11, trata de seguir los pasos de este enlace. Básicamente se traduce en ejecutar los siguientes comandos:
        sudo su
        wget docnielsen.dk/linux/hp2133-wlan-`uname -r`-wl.ko.gz
        mv hp2133-wlan-`uname -r`-wl.ko.gz wl.ko.gz
        gzip -d wl.ko.gz
        mv wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
        depmod -a
        rmmod ndiswrapper
        rmmod wl
        insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko
        reboot
      • Otra solución es seguir los pasos de este otro enlace, que dan en la sección "To install wireless". Esta solución trata de usar ndiswrapper, para instalar los drivers disponibles para Windows. Básicamente, se traduce en:
        • Ir a este enlace.
        • Seguir el Paso 1: All BCM43XX - Install NDISWrapper and Blacklist Native Driver.
        • Seguir el Paso 2a: SP34152 Driver Download / Extraction
        • Seguir el Paso 3: All BCM43xx - Configure NDISWrapper (and WPA Supplicant).
        • Una vez finalizados los pasos anteriores, seguir el paso HARDY BUG FIX.
        • Reiniciar Ubuntu.

Con esto, ya tenemos las dos cosas más importantes configuradas, que son la tarjeta gráfica y el chip WiFi. Es bueno seguir los consejos de una de las páginas que he dado para ajustar configuraciones como habilitar el escalado de la CPU o deshabilitar los altavoces externos cuando se enchufan unos auriculares.

Todo esto ha sido probado, como ya se ha dicho, con el CD de instalación Alternate. Recientemente he conseguido instalar de nuevo Ubuntu pero con el CD de instalación en su versión Desktop y realizando la instalación desde un lector de DVD externo conectado al puerto USB. Como contrapartida a lo que se puede leer en el 90% de los foros, a mi no me ha funcionado con el CD de instalación Desktop el incluir la opcion xforcevesa en los parámetros del kernel, ni tampoco arrancando directamente el CD con la orden live xforcevesa.

Lo que a mi me funcionó fue pulsar F4 y escoger la opción "Modo gráfico seguro" para la instalación. El único inconveniente es que no se veían los botones de aceptar y cancelar y tuve que ir jugando con la tecla Tab.

A 1 persona le gusta esta entrada

Problema de sonido en Firefox 3 con Ubuntu

Me ha ocurrido que no tenia sonido en Youtube una vez instalado Ubuntu Intrepid Ibex, a pesar de que había instalado el Flash Player desde el mismo Firefox 3. La solución ha sido cerrar Firefox y escribir en consola:

neonigma@neonigma-laptop:~$ sudo apt-get install flashplugin-nonfree-extrasound

Este comando instalará una versión del plugin de Flash para Firefox 3 en la que sí me funciona el sonido.

Conviene también revisar los complementos haciendo clic en Herramientas => Complementos en Firefox 3.

Como puede verse en la imagen, se me han quedado dos complementos Shockwave Flash, así que pulsé el botón Desactivar del segundo y reinicié Firefox 3 para evitar problemas.

A 1 persona le gusta esta entrada

Cómo utilizar el DNI electrónico con Ubuntu Hardy

Ya tengo mi nuevo y «flamante» DNI electrónico con el que presuntamente se pueden realizar muchas operaciones sin esperar tediosas colas.

Me ha parecido increíble lo fácil que se tiene funcionando este DNI electrónico en Ubuntu, comparado con la utilización de la tarjeta de empleo electrónica para el Servicio Andaluz de Empleo, los cuales mantienen una versión MUY antigua del Java Runtime Environment y sin esa versión, no hay uso de la tarjeta. Pero vamos al grano, que me pierdo.

Dispongo de un lector criptográfico que gratuitamente me suministraron en el SAE. En concreto, se trata del Omnikey 3121 CCID, que podéis ver mejor en la siguiente imagen:

Bueno, pues visto el hardware del que dispongo, y el DNI, claro, paso a enumerar los pasos que he seguido por si a alguien más pudiera resultarle de utilidad.

Paso 0. Instalar JRE (Java Runtime Enviroment): en este caso, si no tenemos JRE, podemos instalar el último de los repositorios, con el siguiente comando:

neonigma@neonigma-laptop:~$ sudo apt-get install sun-java6-jre

Paso 1. Instalar los drivers del lector criptográfico correspondiente: en mi caso, los drivers de Omnikey vienen con el paquete libccid, que se instala con este sencillo comando:

neonigma@neonigma-laptop:~$ sudo apt-get install libccid

Paso 2. Instalar middleware PC/SC: Es el middleware que conecta el software criptográfico con el lector de tarjetas. Se encuentra en los repositorios, así que podemos instalarlo de la siguiente forma:

neonigma@neonigma-desktop:~/descargas/sae$ sudo apt-get install pcscd pcsc-tools

Paso 3. Ahora instalamos de los repositorios opensc:

neonigma@neonigma-desktop:~$ sudo apt-get install opensc mozilla-opensc

Paso 4. Descargamos e instalamos los drivers de DNI-e:

neonigma@neonigma-desktop:~$ wget http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/Ubunt_Gutsy.tar
neonigma@neonigma-desktop:~$ tar xf Ubunt_Gutsy.tar
neonigma@neonigma-desktop:~$ sudo dpkg -i Ubunt_Gutsy/opensc-dnie_1.4.0-5_i386.deb

En este paso nos pedirán que respondamos a una serie de preguntas. Marcamos las 3 opciones que nos salen y aceptamos las dos ventanas. La última hace referencia al lugar donde se instalará el certificado para Firefox, dicha ruta es /usr/lib/opensc-pkcs11.so.

Paso 5. Reiniciar.

Paso 6. Verificar el correcto funcionamiento del DNI-e: con el DNI insertado en el lector, vamos a este enlace, pulsamos aceptar a la pregunta acerca de si queremos utilizar el certificado y comprobamos que funcione correctamente, en cuyo caso aparecerá una imagen parecida a la siguiente:

Si posees en vez de mi modelo otros lectores como el ACR38, te recomiendo la entrada que ha creado J. Félix Ontañón en este enlace.

Errores comunes

  • Alcachi nos informa de un error que podría ocurrirle a alguien con la extension de Firefox noscript instalada. En su caso el noscript hizo que no se cargase automáticamente el modulo de seguridad para el firefox. Para instalarlo manualmente lo más sencillo es cargar en el navegador la siguiente dirección:
    file:///usr/share/opensc-dnie/instal_dnie/instala_modulo.htm
    y decirle al noscript que permita ejecutar scripts en esta página.
  • julianon nos informa de que se deben instalar las versiones de los paquetes opensc que vienen en la página del dni, si se tienen instaladas o se os instalan versiones posteriores es probable que ocurran errores.

Creative Commons License Este tutorial tiene licencia CC-BY.

Referencia: AxLinux

A 9 personas les gusta esta entrada

Cómo depurar un MIDlet con NetBeans IDE Mobility

Para depurar nuestra aplicación móvil con el IDE NetBeans podemos fijarnos en la siguiente imagen, en la que señalo los pasos básicos para ejecutar paso a paso la aplicación.

  1. En primer lugar colocamos el punto de interrupción donde queremos que la aplicación quede detenida para comenzar la ejecución paso a paso. Para ello simplemente hacemos clic en la columna gris que hay a la izquierda de cada línea de código a la altura de una línea de código determinada. La línea de código tiene que hacer algo, es decir, no se permite colocar el punto de interrupción en la declaración de una variable
  2. Ahora abrimos la ventana de configuración del proyecto, haciendo clic con el botón derecho en nuestro proyecto en la ventana Projects y escogiendo la opción Properties. También podemos seleccionar el proyecto e ir a la opción de menú File – «proyecto» properties.
    Una vez abierta la ventana de configuración, hacemos clic en el ítem Running y lo configuramos todo de acuerdo a la imagen anterior. Es decir, se selecciona una Regular Execution puesto que la ejecución OTA Over The Air no permite la depuración y se marca un dominio de seguridad maximum para que no se nos pregunte si deseamos dar permiso a la aplicación cada vez que quiera escribir o leer de un fichero.
  3. El último paso es hacer clic en el icono que hay justo a la derecha del botón de ejecución normal, tal y como marca el número 3 en la imagen anterior.

Una vez hecho esto, podemos ver en la siguiente imagen que cuando se abre el emulador, debemos realizar las acciones necesarias que den lugar a la activación del punto de interrupción. Es decir, que debemos escoger aquellas acciones de nuestra aplicación que provoquen que la ejecución pase por el lugar donde hemos colocado el punto de interrupción. Cuando esto sucede, la ejecución en el emulador se detiene y pasa a NetBeans, colocando éste una flechita verde justo encima del punto de interrupción.

Entonces, con las teclas F7 y F8 iremos pasando línea a línea de forma agresiva (ejecutando línea a línea incluso las llamadas a funciones) o de forma menos agresiva (obteniendo sólo el resultado de la ejecución de funciones, sin entrar en ellas), respectivamente.

Sé el primero en valorar positivamente

Convertir un HTML a PDF en Ubuntu

Hoy necesitaba pasar el manual de Gentoo Linux 2008.0 sin red que tenía en HTML a formato PDF. Una vez más, me puse a buscar a ver qué nos ofrecía Ubuntu gratuitamente para este cometido.

Ha sido gratificante descubrir una aplicación como <HTML>doc, que se puede instalar junto a una librería para convertir .chm de esta forma:

sudo apt-get install libchm-bin htmldoc

Una vez hecho esto, escribiendo htmldoc en la consola accedemos al programa que nos muestra la figura:

Pulsando en el botón Add files o en el botón Add URL añadiremos el origen HTML a convertir. En las opciones de salida tengo puesto lo siguiente:

Existe una particularidad y es que los PDF generados sólo admiten codificación iso, como puede verse en la siguiente imagen:

Esto ocasiona que si generamos un PDF de un HTML capturado en Ubuntu, nos saldrá con los típicos acentos raros debido a la codificación UTF-8. Esto lo solucionamos fácil, recodificando el archivo a codificación latin1 y dándoselo como entrada a <HTML>doc. La recodificación es de la siguiente forma:

recode utf8..latin1 archivo.html

A 3 personas les gusta esta entrada

GetDeb.net anuncia su repositorio Playbuntu

El Ubuntu Debs Proyect, ahora conocido como simplemente GetDeb.net, anunció en su blog que comenzará a ofrecer un nuevo repositorio de juegos para toda la comunidad de esa popular distribución. Llamado Playbuntu, el repositorio incluirá todos los juegos disponibles en el sitio de GetDeb.net, además de la facilidad de recibir actualizaciones de tus favoritos usando la herramienta Update Manager.

El trabajo en montar el repositorio en sí recién está comenzando, pero los nuevos y actualizados juegos ya pueden descargarse de aquí.

El anuncio también recuerda que esta iniciativa independiente necesita la ayuda de todos, ya sea mediante una donación o bien ayudándola a construir los paquetes .deb.

Y todos los juegos en .deb listos para instalar con un par de clics!!!!!!!

Via VivaLinux!

Sé el primero en valorar positivamente

Linux-gamers: un DVD con juegos 3D para GNU/Linux

Nueva versión de Linux-gamers que incluye varios juegos 3D para la plataforma GNU/Linux. Nos ofrecerá la posibilidad de arrancar desde el dvd y empezar a jugar sin necesidad de proceder a la instalación de paquetes o distribución alguna («boot-and-play»). Incluye los drivers propietarios de Nvidia y Ati para no sufrir problemas de aceleración hardware y con la opción de guardar configuración y niveles en dispositivos USB.

Podéis descargar este DVD en este enlace.

Via meneame.net

A 1 persona le gusta esta entrada

Transformar PDF de 1 hoja en uno de 4 hojas por página

Imaginemos la operación: tenemos un PDF corriente y moliente de 1 hoja por página y queremos imprimirlo en una impresora ajena. Gasto de tinta extraordinario si el documento es muy grande y sólo lo queremos para consultarlo.

En este caso lo más fácil es instalar el paquete pdfjam, que contiene las siguientes utilidades:

pdfnup, que permite colocar varias hojas por página.
pdfjoin, que permite concatenar diferentes ficheros PDF en un solo archivo.
pdf90, que permite rotar las página de uno o más ficheros PDF de 90 en 90º.

Para la causa que mencionamos en el título de la entrada, basta con ejecutar el siguiente comando:

pdfnup --nup 4 archivo.pdf

Y tendremos nuestro fichero PDF con 4 hojas por página. Ahorro de consumo, que se llama.

A 2 personas les gusta esta entrada