You are on page 1of 2

-----------------------------------------------------------------

-----------------------------------------------------------------
Incorporar clases externas a GeneXus X/Ev1
-----------------------------------------------------------------
-----------------------------------------------------------------

Para nuestro ejemplo, se proveen 3 clases que compilaremos y empaquetaremos (armar


JAR) para luego incorporar a GX X / Ev1.
La clase hashMD5 genera el "hash" MD5 para invocar desde GeneXus.
La clase md5sum es un wrapper de la hashMD5 para probar desde linea de comandos.
La clase Version la utilizamos para probar y nada mas.

NOTA: Se utiliza como nombre de paquete "ar.com.minatel.utils" pero puede ser


modificado a gusto.

-----------------------------------------------------------------
Paso 1: Armar el JAR para incorporar a GeneXus
-----------------------------------------------------------------

NOTA: Para compilar y empaquetar, debemos tener en el path la ruta del JDK.

Copiar los fuentes en una carpeta, por ejemplo:


c:\src\java

Luego, posicionado en esa carpeta compilar de esta manera:

c:\src\java> javac -d . hashMD5.java


c:\src\java> javac -d . md5sum.java
c:\src\java> javac -d . Version.java

Empaquetar:

c:\src\java> jar -cf lmutils.jar ar

Probar:

c:\src\java> java -cp lmutils.jar ar.com.minatel.utils.Version

-----------------------------------------------------------------
Paso 2: Incorporamos el JAR a GX
-----------------------------------------------------------------

a. En GeneXus X/Ev1 vamos a Tools -> Application Integration -> Java Class Import
b. En el "Step 1" seleccionamos en "Import from" el tipo "Package file" y
seleccionamos el JAR que acabamos de crear.
c. En el "Step 2" seleccionamos un prefijo, por ejemplo "claseexterna_" o "xclass_"
o como les guste. GeneXus agregara este prefijo a cada una de las clases
importadas. Es bueno poner este tipo de objetos en algun folder, por ejemplo
"Externos", no tiene que estar creado, GeneXus lo crea si no existe.
d. En el "Step 3" seleccionamos las clases que querramos importar y finalizamos el
proceso con el boton "Import".
e. Verificar en las propiedades del generador que en el Classpath figure nuestro
archivo JAR.

-----------------------------------------------------------------
Paso 3: Utilizar la clase importada
-----------------------------------------------------------------

Para utilizar estas clases importadas simplemente debemos definir una variable y en
el tipo de dato debemos seleccionar la clase correspondiente dentro de "External
Objects".
Luego, tenemos acceso a los metodos de nuestra clase a traves de esta variable, por
ejemplo para una variable que defini de tipo "xclass_hashMD5" tendremos en GeneXus
algo asi:

&hashPassword = &hashMD5.execute(&auxPassword)