System.Collections.ListofTips

June 1, 2008

Intento de Generación de Código con AjGenesis

Filed under: Generación de Codigo — José Franco @ 2:39 pm

Estuve varios días alejado, porque estuve acostumbrándome a la metodología de trabajo, de desarrollo, y demás factores al nuevo cliente, y haciendo pruebas para cambiar un generador de código que tenían con CodeDom a AjGenesis.

La Arquitectura que tenemos, no sé si llamarla “Arquitectura”, solo tenemos un ServiceLocator, que tenemos todas mapeadas las entidades de spring.net, con una implementación de Ado para cada una, así es posible en usarla en distintos motores. Estas entidades son más un mapeo de la tabla, no posee ni conceptos de hijos, nietos ni nada similar, cosa que voy a intentar madurar a futuro, pero ya la próxima voy a estar implementando nhybernate.

http://swap.synnax.net/download.php?synx.5307-Alpha0.2.zip

Una vez instalado, van a la carpeta C:\Projects\Tools (No modifiquen el path en la instalación)


Ejecutamos:


Nos abre nuestro gestor de proyectos


Podemos agregar nuevas entidades a los existen, tanto la eliminación de Proyectos y entidades, se hace a mano por ahora.

Generemos un nuevo proyecto


Ingresamos los datos


En directory, no generar directorios con espacios, lo mismo sucede con el NameSpace. La Connecion String, también tiene que ser válida, así se conecta a base de datos y mapea.

Y el provider, en esta versión tiene implementadno Sql Server y Oracle (el tema que el template que deje es el que uso en el cliente, y hay ciertas referencias que no van a andar, pero modificando el helper ya estaria, prometo hacer un template neutro para la semana que viene)

Aceptamos, retornamos en la página anterior, y presionamos botón derecho sobre “WebCTC” (si nos basamos en los datos que ingrese anteriormente).


Vamos a Ver Entidades, nos va a aparecer un listado vacio


Vamos a la opción de “Crear”, los literales están mal.. ya que es una versión muy alfa..


Nos aparece las tablas a mapear, yo voy a mapear un par de Tablas, y le indico que me elimine el prefijo “AG_” (Así me genera la class Contractor, en vez de Ag_contractor), clickeamos en “Generar”.

Ya nos aparece en la lista de entidades


Si hacen doble clic sobre los elementos les va a levantar el Xml


Cerramos la ventana, volvemos a la ventana anterior

Le doy en Generar código a CTC



Abre una consola que ejecuta, el AjGenesis para la generación del código con mis entidades, y nant para compilar todo. Si todo salió bien van a ver un Build Succeded.

Presionan una tecla, y les va a abrir la carpeta de generación:


En la carpeta Assemblys, están todas las dll’s generadas.
Default.build, es la task de Nant.
Como verán, tiene spring, genera una capa de dao, y una implementación de sqlserver y otra de oracle, aunque la de oracle no esta implementada… solo es una copia del Sql server.

En la capa de Services, ya mapea los ojos para spring



Y también nos genero un proyecto de prueba llamado WebExample

Van A ver que me genera aspx ({ENTIDAD}_List.aspx) y llama al Service Locator


Es un ejemplo muy simple, pero nos deja ver si anda todo bien, levanto el proyecto y ejecuto alguno de los aspx


Y Listo, esta andando…

Al menos esto, yo ya le di uso práctico y lo use para un desarrollo, a medida que lo vaya usando, seguro que surgirán numerosos cambios



Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb
Bookmark and Share:

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress