EGT (del inglés Eclipse Guvnor Tools) proporciona una interfaz para que los desarrolladores puedan leer, escribir, agregar y borrar activos de un servidor JBoss Enterprise BRMS Platform usando JBoss Developer Studio 4. EGT le brinda a los desarrolladores una interfaz similar a los sistemas de control tradicionales tal como Subversion.
JBoss solo proporciona soporte para esta funcionalidad en JBoss Developer Studio versiones 4.
El repositorio de BRMS Platform y EGT no tienen la intención de reemplazar un sistema de control fuente dedicado en su entorno de desarrollo sino que brinda una manera conveniente de acceso para los desarrolladores.
Guvnor es el nombre del proyecto de código abierto sobre el cual se ha construído JBoss Enterprise BRMS Platform. Eclipse Guvnor Tools se desarrollaron con esto en mente. En cualquier lugar en donde EGT se refiera a "Guvnor" se puede considerar como equivalente a "BRMS Platform". Para evitar confusión en lo que queda de este capítulo utilizaremos el término "Guvnor".
EGT tiene dos vistas – Explorador del repositorio e historial de versiones – son el punto central de gran parte de la interacción con el repositorio Guvnor.
La perspectiva "Guvnor Repository Exploring" se brinda como la distribución sugerida. Se puede acceder desde la ventana Open Perspective ( -> -> ).
En el lado izquierdo se encuentran las vistas Guvnor Repository Explorer y Eclipse Properties, la vista Guvnor Resource History se encuentra en la parte inferior y el Eclipse Resource Navigator está en el lado derecho. El Guvnor Repository Explorer propociona acceso a los recursos del repositorio Guvnor en un formato de árbol navegable. La vista Guvnor Resource History muestra revisiones de recursos especificos disponibles en el repositorio.
Después de abrir la perspectiva Guvnor, la primera tarea es realizar una conexión a un repositorio Guvnor. Esto lo maneja el asistente de conexión Guvnor. Este asistente aparece en varios lugares dentro de EGT (como se detalla a continuación), pero en esta sección vamos a abordar solo los dos puntos de entrada más básicos. El asistente de conexión Guvnor se puede iniciar utilizando el menú de Eclipse: File , New , Other , Guvnor , Guvnor repository location o en el explorador Guvnor utilizando el menú desplegable:
o el botón en el menú:
El seleccionar cualquiera de estos iniciará el asistente de conexión Guvnor:
Los valores predeterminados aparecen en los campos de ubicación, puerto y repositorio, (consulte la sección "Preferencias para Guvnor" a continuación para obtener mayores detalles sobre cómo cambiar estos valores predeterminados).
Por suspuesto, cualquiera de estos campos se puede modificar escribiendo en la casilla correspondiente. Arrastre y suelte o peque en el campo de la ubicación de un repositorio Guvnor típico
URL tal como:
http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/webdav
Los resultados en la URL se analizan sintácticamente en los campos respectivos también. La información de autenticación (nombre del usuario y contraseña) se pueden almacenar opcionalmente en el archivo clave del banco de trabajo de Eclipse basado en la selección de "Guardar nombre de usuario y contraseña". Si la información no se almacena en el key-ring entonces el EGT usa la autenticación de sesión. Esto significa que las credenciales proporcionadas se utilizan solamente durante el tiempo de vida de la instancia del banco de trabajo de Eclipse.
Si la información de autenticación no se almacena en el key-ring o si no es válida entonces el
EGT le preguntará cuando tenga que acceder al respositorio
Guvnor:
Si la autenticación falla entonces el EGT volverá a intentar una vez más y luego emitirá un error de fallo de autenticación. Si reste error se presenta entonces puede volver a intentar la misma operación y brindar información de autenticación diferente. El EGT llama al repositorio Guvnor varias veces como cuando determina si hay actualizaciones de los recursos así que si utiliza autenticación de sesión entonces la ventana de autenticación aparecerá en momentos diferentes durante la sesión de Eclipse, dependiendo de las acciones que tome. Para facilitar el uso recomendamos el guardar la información de autenticación en la clave de Eclipse. El archivo de clave de Eclipse es diferente de los archivos de claves que se encuentran en algunas plataformas tal como Mac OS X y muchas formas de Linux. Por lo tanto algunas veces si accede un repositorio Guvnor por fuera del EGT, los archivos de claves pueden des-sincronizarse y se le pedirá que se autentique en Eclipse. Es una molesta pero sus credenciales usuales aplican aquí.
Una vez que se completa el asistente de conexión Guvnor aparecerá la nueva conexión del repositorio en Guvnor Repository Explorer. Luego puede expandir la vista de árbol para ver el contenido del repositorio.
La vista del explorador del repositorio Guvnor contiene estructuras de árbol para el contenido del repositorio Guvnor. Tal como se describió anteriormente hay acciones del menú y de la barra de herramientas para crear conexiones del repositorio Guvnor. La “X” roja en la barra de herramientas y “Delete” en el menú borra una conexión del repositorio Guvnor y la opción “Refresh” del menú vuelve a cargar el contenido del árbol para el nodo seleccionado. Finalmente hay un número de opciones en la barra de herramientas y en el menú para soportar la funcionalidad “drill-into”: en la barra de herramientas estas se representan por la casa (“return to top level/home”) y las flechas (go into/back). Drill-down es útil al trabajar con estructuras de árboles profundos y cuando desea concentrarse en una sola rama del árbol.
Hay un número de operaciones que se pueden realizar en los archivos del repositorio Guvnor. El seleccionar un archivo en el repositorio Guvnor hace que la vista de propiedades de Eclipse se actualice con los detalles de ese archivo:
El hacer doble clic en una carpeta (directorio) en el árbol hará que ese directorio se expanda si está plegado o viceversa. El hacer doble clic en un archivo en el árbol hará que se abrá un editor de sólo lectura en Eclipse, mostrando el contenido de ese archivo:
El arrastrar un archivo del árbol del repositorio Guvnor en una carpeta en un proyecto local de Eclipse (por ejemplo en la vista del navegador de recursos de Eclipse) hará que se realice una copia de ese archivo en el espacio de trabajo local de Eclipse, (nota: también puede utilizar “Save As...” cuando un archivo está abierto en un editor de sólo lectura para guardar una copia local escribible del contenido. Sin embargo, al hacer esto no se asociará el archivo creado con su fuente Guvnor). Finalmente puede ver el historial de revisiones de un archivo seleccionado en el árbol usando la opción “Show History” del menú de contexto, (los detalles del historial del recursos se discute a continuación).
Como lo mencionamos en la Introducción, el propósito principal del EGT es el permitir el desarrollo usando recursos que se mantienen en un repositorio Guvnor. Hay dos métodos de obtener copias locales de recursos del repositorio Guvnor:
1. Arrastre y suelte del explorador del repositorio Guvnor tal como se describió anteriormente.
Cuando se crean copias locales de los archivos del repositorio Guvnor, el EGT establece una asociación entre la copia local y el archivo maestro en el repositorio, (esta información se mantiene en el directorio “.guvnorinfo” (normalmente) escondido en el proyecto local y como todos los metadatos los usuarios no lo deben cambiar). Esta asociación permite operaciones tal como la actualización y el guardar cambios en sincronización con la copia maestra que se mantiene en el repositorio Guvnor. El EGT decora los recursos locales asociados con copias maestras del repositorio Guvnor. Esta decoración aparece en las vistas de Eclipse que cumplen con los requerimientos del navegador común de Eclipse tal como el navegador de recursos de Eclipse y el explorador de paquetes Java. La imagen a continuación muestra la decoración en el navegador de recursos de Eclipse:
Note el ícono Guvnor en la parte superior derecha de las imágenes de archivo y los detalles de revisión de Guvnor que se agregan a los nombres de los archivos, (se puede cambiar la presencia/ubicación de estos, consulte “Guvnor Preferences” a continuación para obtener mayores detalles). Por ejemplo, aquí vemos que “simpleRule.drl” está asociado con un recurso del repositorio Guvnor y la copia local se basa en la revisión 3 con un sello de fecha 7-15-2008, 15:37:34. Sin embargo, el archivo “deleteTest.txt,” no está asociado con un archivo del repositorio Guvnor. Puede encontrar mayores detalles sobre la asociación en la pagina de propiedades estándar de Eclipse por medio de la opción "Properties" del menú de contexto:
El EGT contribuye una página de propiedades a la ventana de propiedades de Eclipse, arriba puede ver su contenido. Se puede ver el repositorio especifico Guvnor, la ubicación dentro del repositorio, la versión (fecha/sello de fecha) y el número de la revisión.
El EGT proporciona un número de acciones (disponibles por medio del menú de contexto de “Guvnor” en los archivos) para trabajar con archivos, ambos asociados con las copias maestras del repositorio Guvnor y las que no están asociadas. Las acciones son:
Actualización
Agregar
Guardar cambios
Mostrar historial
Comparar con la versión
Cambiar a la versión
Borrar
Desconectar
Cada una de estas acciones se describirán a continuación.
Actualizar acción:
La acción de actualización está disponible para uno o más recursos Guvnor que no están en sincronización con las copias maestras del repositorio Guvnor. Estos recursos no estarían en sincronización ya que (una de las siguientes o ambas): (1) hay cambios locales en estos recursos o (2) las copias maestras han cambiado en el repositorio Guvnor. Al realizar la acción de actualización se reemplaza el contenido del archivo local con el contenido actual de las copias maestras del repositorio Guvnor (equivalente a “cambio de versión” para la última versión).
Agregar acción:
La acción de agregar está disponible para uno o más archivos locales que no estén asociados con una copia maestra del repositorio Guvnor. El seleccionar la acción de agregar inicia el asistente “Add to Guvnor”:
La primera página del asistente le pide que seleccione el repositorio Guvnor de destino y le da la opción de crear una nueva conexión del repositorio Guvnor (en cuyo caso la segunda página es la misma del asistente de conexiones de Guvnor que describimos anteriormente). Una vez seleccione el repositorio Guvnor de destino, el asistente le pide la ubicación de la carpeta para agregar los archivos seleccionados:
Aquí seleccioné la carpeta mortages
como el destino. El hacer clic en “Finish” agrega los archivos seleccionados al repositorio Guvnor y crea una asociación entre los archivos locales y los del repositorio Guvnor. El asistente no le permitirá sobreescribir archivos existentes del repositorio Guvnor al agregar nuevos archivos.
Compare con la acción de versión:
La acción de comparación con versión está habilitada para un archivo asociado del repositorio Guvnor. Esta acción primero abre un asistente que le pide la versión para realizar la comparación (con el contenido del archivo local):
Una vez que se escoge la revisión entonces la acción abre el editor de comparación de Eclipse (sólo lectura):
Este editor usa las técnicas de comparación estándares de Eclipse para mostrar las diferencias en las dos versiones. En los casos en donde no hay diferencias, el editor no abrirá: en lugar, aparecerá una ventana diciendo que no hay diferencias.
Cambio a la acción de versión:
La acción de cambio de versión está habilitada para un archivo asociado del repositorio Guvnor. Primero la acción de cambio de versión le pide que seleccione una versión:
Una vez que se escoja la versión, la acción de cambio de versión reemplaza el contenido del archivo local con el de la revisión seleccionada.
Acción de borrar:
La acción de borrar está habilitada para uno o más archivos asociados del repositorio Guvnor. Después de confirmar por medio de la ventana, la acción de borrar elimina los archivos en el repositorio Guvnor y borra los metadatos locales para la asociación del repositorio Guvnor.
Acción de desconexión:
La acción de desconexión está habilitada para uno o más archivos asociados del repositorio Guvnor y borra los metadatos locales para la asociación del repositorio Guvnor.
Vista del historial de recursos Guvnor:
La vista del historial de recursos Guvnor muestra los detalles del historial de revisión para los archivos seleccionados tanto locales como los que se encuentran en los repositorios Guvnor. El estado inicial de esta vista es:
La vista del historial de recursos Guvnor se llena por medio de las acciones "Show History" en el menú de contexto "Guvnor" local o en el menú de contexto para un archivo del repositorio Guvnor en el explorador del repositorio Guvnor. Una vez que se realiza esta acción, la vista del historial de recursos Guvnor se actualiza para mostrar el historial de revisiones:
Aquí vemos que el archivo “simpleRule.drl” tiene tres revisiones. Al hacer doble clic en una fila de revisión (o menú de contexto “Open (Read only)”) abre un editor de solo lectura en Eclipse con el contenido de la revisión, (nota: también puede guardar con “Save As...” cuando un archivo está abierto en un editor de sólo lectura para guardar una copia escribible local del contenido. Sin embargo, al hacer esto, no se asociará el archivo creado con su fuente Guvnor).
Además del archivo de arrastre y suelte de la vista del explorador del repositorio Guvnor, EGT también incluye un asistente para copiar uno o más archivos desde un repositorio Guvnor al espacio de trabajo local (y establecer la asociación con el repositorio Guvnor). Este asistente está disponible desde las opciones del menú de Eclipse Import , Guvnor, Resource from Guvnor y Eclipse File, New, Other, Guvnor, Resource from Guvnor, (nota: el asistentes es idéntico pero aparece en ambos lugares para acomodar aquellos usuarios que tienden a ver esta funcionalidad como si estuviera en una sola categoría). La primera página del asistente le pide que escoja el repositorio Guvnor fuente y le da la opción de crear una nueva conexión del repositorio Guvnor (en curo caso la segunda página es la misma que el asistente de conexión de Guvnor descrito anteriormente).
Una vez que se selecciona el repositorio Guvnor fuente, el asistente le pide que escoja el recurso:
Finalmente se escoge la ubicación destino en el espacio de trabajo local:
Una vez termine, el asistente copia los archivos seleccionados del repositorio Guvnor al espacio de trabajo local. Si ya existe un archivo con el mismo nombre en el destino entonces el asistente usa la ventana estándar de Eclipse “prompt for rename”:
EGT brinda una página de preferencias en la categoría “Guvnor”:
Las preferencias cubren dos categorías: las conexiones del repositorio Guvnor y las decoraciones de recursos del repositorio local Guvnor.
Preferencias de conexión del repositorio Guvnor
Hay dos preferencias que se pueden establecer para las conexiones del repositorio Guvnor y estas se utilizan al crear nuevas conexiones. La primera es una plantilla URL del repositorio Guvnor predeterminado, la cual facilita crear múltiples conexiones similares simplemente cambiando parte del campo tal como el nombre del host. La segunda que por defecto se debe habilitar el guardar la información de autenticación en la clave de la plataforma de Eclipse. Así como con la plantilla URL del repositorio Guvnor se puede determinar si el guardar una instancia especifica de la información de autenticación en la clave de la plataforma Eclipse al crear la conexión. Es decir ambas preferencias son simplemente valores convenientes establecidos con valores predeterminados razonables.
Preferencias de decoración de recursos del repositorio Guvnor local
La segunda categoría de preferencias que EGT proporciona se encarga de la manera en que se presenta la decoración de recursos locales asociados con recursos del repositorio Guvnor. Ya que el repositorio Guvnor no es un substituto para SCM y ya que las herramientas SCM en Eclipse tienden a decorar recursos locales, es útil el poder controlar la manera en que EGT decora sus recursos locales para evitar conflictos con paquetes SCM. En la sección “File Decoration” de la página de preferencias puede seleccionar la ubicación (superior izquierda o derecha o inferior izquierda o derecha) del ícono de decoración o puede escoger el no presentarla. En la sección “Text” puede formatear los metadatos Guvnor que se agregan a los nombres de archivos: si mostrar un indicador (>) cuando el archivo local tiene cambios que no se han guardado en el repositorio Guvnor. Si debe mostrar el número de la revisión, si debe mostrar el sello de fecha. Cualquier cambio a estas preferencias tienen efecto de manera inmediata al hacer clic en los botones “Apply” u “Ok”.