Posts Tagged ‘gen’

h1

Generador Seam

4 abril 2009

Me ha tocado uno de esos proyectos guapos que primero te dicen que va a ser una tecnología, después otra y al final, te toca una que no conoces y te das cuenta de que te han «enmaronao». En esta ocasión se trata de una aplicación en JBoss Seam, después de dar unas cuantas vueltas he visto que JBoss Seam tiene el cual te genera el esqueleto de la aplicación y si tienes la base de datos creada, te permite usar ingeniería inversa para la creación de las clases. A continucación explicaré brevemente como se usa esta herramienta. El código generado te vale tanto para eclise como para netbeans.

Para empezar debemos descargarnos la última versión de JBoss seam, actualmente es la 2.1.1.GA y lo descomprimimos en el directorio que deseemos. Entonces ejecutamos las siguientes sentencias:

[JBOSS_SEAM_HOME]\seam setup

Entonces aparecerá por pantalla un mensaje y empezará a realizar algunas preguntas de configuración:

Buildfile: C:\Projects\jboss-seam\seam-gen\build.xml

setup:
    [echo] Welcome to seam-gen 🙂
    [input] Enter your Java project workspace [C:/Projects]
    Introduce tu directorio de proyectos (workspace)

    [input] Enter your JBoss home directory [C:/Program Files/jboss-4.0.5.GA]
    Introduce el directorio en el que se encuentra JBoss

    [input] Enter the project name [myproject]
    Introduce el nombre del proyecto
helloworld
    [input] Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support) [ear] (ear,war,)
    Quieres que el archivo de despliegue sea un war o un ear

    [input] Enter the Java package name for your session beans [com.mydomain.helloworld] 
    Introduce el nombre del paquete para los beans de session
org.jboss.helloworld
    [input] Enter the Java package name for your entity beans [org.jboss.helloworld]
    Introduce el nombre del paquete para los beans de las entidades
    [input] Enter the Java package name for your test cases [org.jboss.helloworld.test] 
    Introduce el nombre de paquete para los tests

    [input] What kind of database are you using? [hsql] (hsql,mysql,oracle,postgres,mssql,db2,sybase,)
   ¿Qué tipo de base de datos vas a usar?
mysql
    [input] Enter the Hibernate dialect for your database [org.hibernate.dialect.MySQLDialect]
    Introduce el dialecto de la base de datos

    [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.jar] 
    Introducela ruta al driver JDBC
../../mysql-connector.jar
    [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driver]
    Introduce el nombre de la clase del driver JDBC

    [input] Enter the JDBC URL for your database [jdbc:mysql:///test] 
    Introduce la URL de la base de datos

    [input] Enter database username [sa] 
    Introduce el usuario de la base de datos
gavin
    [input] Enter database password [] 
    Introduce la clave de la base de datos

    [input] Are you working with tables that already exist in the database? [n] (y,n,)
    ¿Estás trabajando con tablas que ya existen en la base de datos?
y
    [input] Do you want to drop and recreate the database tables and data in import.sql each time you deploy? [n] (y,n,) 
    ¿Quieres que se creen las tablas cada vez que se ejecute el war?
n
[propertyfile] Creating new property file: C:\Projects\jboss-seam\seam-gen\build.properties
     [echo] Installing JDBC driver jar to JBoss server
     [echo] Type 'seam new-project' to create the new project

BUILD SUCCESSFUL
Total time: 1 minute 17 seconds

A continuación pasamos a crear el proyecto en nuestro workspace:
[JBOSS_SEAM_HOME]\seam new-project

Cuando finalice el proceso nos saldrá un mensaje confirmando que se ha creado el proyecto con existo. Finalmente, si tenemos la base de datos ya creada, pasaremos a
usar la ingenieria inversa para crear los pojos y los dao.

[JBOSS_SEAM_HOME]\seam generate-entities

Al igual que antes nos mostrará por pantalla el log, indicanco al final si todo ha ido bien.

Para terminar importamos el proyecto al eclipse o a netbeans y c´est fini.

Espero que os sirva de ayuda.