Unofficial Content

Creación de la instancia por defecto

Instancia

Es un archivo xml que define el caso de un patrón, es decir, tiene toda la información necesaria para poder crear a partir de ella y con la aplicación de ciertos programas (templates) un archivo xpz para poder se consolidado en GX y crear objetos GX.

Partimos de una TRN de una KB GX.
Para obtener toda la info de la TRN y generar la instancia por default se usa la workwith.dll (esto se configura en la propiedad HelperAssembly en el pattern.definition) y dentro de ella la GXKnowledgeBase.dll para recorrer las tablas subordinadas, para saber como generar los Tabs.
Junto con estas clases y con la definición del pattern (pattern.definition) es que se crea la instancia por defecto.
En el pattern.definition se indica que nodos y con qué valores se va a generar la instancia por defecto.

Imagen2

Para indicarle a patterns cual es la clase que se va a usar para crear la instancia por default se configura en el pattern.definition (opción Tools / Edit pattern definition) la propiedad DefaultGenerator que por defecto tiene el valor GXPatterns.WorkWith.WorkWithGenerator (esta clase está dentro de la workwith.dll y esa clase usa la GXKnowledgeBase.dll).

Imagen3

El workwithgenerator.cs está dentro del gxpatternsources.zip (C:\Program Files\ARTech\Patterns11\Tools\GXPatternsSources.zip).
En ese zip se encuentran todos los fuentes de todas las dlls de patterns.

Como dijimos, una instancia es un archivo xml, y para ?escribir? ese archivo, se hace como un xml cualquiera, por ejemplo si revisamos el workwithgenerator.cs vamos a encontrar sentencias como las siguientes:

AddAttribute(tabNode, "name", subLevel.Description);
Para agregar el nodo Tab en la instancia.

De esa forma se va generando el xml correspondiente con cada uno de sus nodos, que luego se puede visualizar más facilmente en el Tree View.

Archivos de definición

Por otro lado tenemos la definición del pattern.
Estas definiciones están en el pattern.definition, que indica por ejemplo, que nodos y propiedades aparecerán en la instancia por defecto al aplicar un pattern.

Imagen4

 

Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant