Feb 25, 10 by Juan Lebrijo about UML, blog, Eclipse, Java
Eclipse tiene un proyecto llamado EMF (Eclipse Modeling Framework) muy majo para dibujar diagramas UML2. Pero mi objetivo en este artículo es dibujar un diagramas de clases UML2 y generar el esqueleto de clases correspondiente.
En la arquitectura de la aplicación se recomienda tener tus modelos de dominio separados de servicio, lógica de negocio etc. EMF te permite crear tu diagrama de clases y luego generarte el código correspondiente.
Podemos instalarnos los plugins de EMF en nuestra inatalación de Eclipse, o descargarnos directamente la versión de Eclipse preparada para el modelado. Os recomiendo la segunda por ser más límpia, al menos para probar.
Os dejo el proyecto producto final de este artículo: Eclipse UML2 to code project.
Y ahora !! que empiece el espectaculo¡¡:
Crea un nuevo proyecto: File > New > Project... > Empty EMF Proyect
Dentro del directorio model nos creamos nuestro diagrama: New > Other... > Ecore Tools > Ecore Diagram.
Nos dibujamos nuestro modelo utilizando la paleta, y la vista de properties:
clases.jpg29.9 KB
Es muy intuitivo dibujar el diagrama. En la vista properties de la asociación introducimos la cardinalidad y marcamos "Is Containment" para hacer que sea de composición.
Ahora tenemos que crear un fichero de transición tipo .genmodel. Seleccionamos el fichero .ecore del diagrama que queremos generar el código, y con el botón derecho New > Other... > Eclipse Modeling Framework > EMF Generator Model.
Dentro del fichero .genmodel podemos generar código de la siguiente manera:
generar.jpg9.87 KB
y .... !!! MAGIA ¡¡¡ tenemos tres paquetes:
generated.thumbnail.jpg3.13 KB
Si pinchas la imagen anterior verás como se ha quedado el directorio src/ del proyecto:
classdiagram: Tiene el modelo a base de interfaces como mandan los cánones del desacoplamiento.
classdiagram.impl: Implementación del modelo y de la Factoria para generar las clases.
classdiagram.util: Implementación de la AdapterFactory.
Además del modelo con la implementación genera código para inyectar dependencias a través de factorias. Viene además con los comentarios de JavaDoc bien puestos para que los redactes.
Todos los getters/setters de los atributos definidos en el diagrama de clases.
Todos los métodos anotados con @generated, si no quieres que se reescriba en futuras regeneraciones de código le quitas la anotación.
Para profundizar en este tema, y en el de modelado UML2 con Eclipse, y para otros muchos temas de Eclipse/Java os recomiendo la página de Vogella (es un crack el tío).
Ahora tenemos que decir a Apache que cargue el módulo al arrancar, y que a todo fichero con extensión flv le genere un stream de video. Para ello creamos el fichero de carga flvx.load con el siguiente contenido:
Para que se carguen al inicio los copiaremos en los directorios:
/etc/apache2/mods-available/
/etc/apache2/mods-enabled/
Para visualizar los vídeos necesitamos un visor swf que se descargue automáticamente el client, y gestione la transmisión del video. Nosotros hemos elegido el visor flash Flowplayer, ya que es suficientemente robusto y tiene una versión libre (GPL).
Para utilizarlo en tu página debes añadir el JavaSpript descargado en el head del html:
To see the videos the client mus download in the begining a flash video player wich manage the video transmision. We choose flash Flowplayer, so it seems good and have a GPL version (GPL).
You must add the Javascript library at the header of your page, and locate in your page: