Uso de Groovy en Scripts
El código Groovy se puede incorporar en scripts mediante el tipo de paso de Miembros de Groovy. Por cada script con código Groovy habrá una clase única de Groovy creada mediante la concatenación de todos los pasos de Miembros de Groovy.
Por seguridad, las clases Java de terceros y del producto disponibles para scripting en Groovy están restringidas. Las clases base permitidas se pueden visualizar en el visor Documentos Java de Groovy a través del enlace "Visualizar Documentos Java de Groovy" en la zona Consejos de Script sensible al contexto. La lista de clases de terceros permitidas se puede visualizar mediante el enlace "Visualizar lista de permitidos de Groovy de terceros" en la zona Consejos de Script.
Motor de Script Groovy
Para los scripts invocados desde Java y escritos íntegramente en Groovy, se debe utilizar una versión del motor de script de Groovy. El sistema procesa este tipo de script de forma similar al código escrito en Java. Esto evita la necesidad de convertir el script en un formato XML o desde este formato y permite el uso de código que actúa directamente sobre los objetos del sistema con beneficios de performance resultantes.
Los siguientes tipos de script admiten la versión de motor de Groovy:
Scripts de Conector
Los Scripts de Conector se pueden configurar para utilizar el motor Groovy si solo contienen tipos de pasos orientados a Groovy. El sistema proporciona una superclase generada automáticamente que define la API de lugar de conector. Internamente, el código Groovy debe ser compatible con las convenciones del sistema para tipos de algoritmo basados en Java, incluidas la inclusión de un método "invocar" que es el punto de entrada del conector y la definición de parámetros "flexibles" que usan anotaciones.
Scripts de Biblioteca Groovy
Los Scripts de Biblioteca Groovy proporcionan la capacidad de crear grupos de rutinas comunes escritas en Groovy que se pueden llamar desde otros scripts. Los scripts de este tipo deben incluir un tipo de paso único de Interface de Biblioteca Groovy en el que se muestran los métodos disponibles públicamente en la biblioteca. El código de soporte de estos métodos se define en uno o varios tipos de paso de Miembros de Groovy en el script de la biblioteca. Los métodos definidos en la biblioteca pueden aceptar argumentos y devolver valores de cualquier tipo. Los scripts de este tipo usan el motor de Groovy por defecto y no pueden incluir tipos de paso de scripting.
Los scripts que necesitan invocar métodos de una biblioteca Groovy pueden usar el método createLibraryScript proporcionado por el sistema para instanciar la interface de la biblioteca. Asegúrese de que la clase para la cual se crean instancias incluya la extensión de nombre de archivo .class.
Invocación de Groovy dentro del Motor de Scripting
Si un script de conector o un script de servicio está configurado para usar una versión de motor de scripting, puede incluir una combinación de pasos de tipo regular y Miembros de Groovy. Los tipos de pasos de script definirán el proceso que se debe ejecutar. Los pasos Miembros de Groovy incluyen código que se puede llamar desde los tipos de pasos Editar Datos dentro del script que utiliza el comando invokeGroovy. Solo los métodos de Groovy que no reciben argumentos y regresan vacíos se soportan al usar este comando. Consulte la sección sobre pasos de datos de edición para obtener más detalles.
Para los scripts que utilizan esta opción, el marco proporciona una superclase que contiene métodos que soportan acciones comunes de scripting, como comandos move, evaluación de cadenas y métodos para invocar objetos de negocio, servicios de negocio y scripts de servicio. Consulte los Javadocs específicos de Groovy para obtener detalles de los métodos soportados.
Importación de Clases de Groovy
Todas las clases Groovy utilizadas por su script deben declararse explícitamente en un tipo de paso Importaciones de Groovy. Al grabar un script, si el sistema encuentra clases referenciadas en el script que no están declaradas explícitamente, el sistema emite una advertencia y agrega automáticamente sentencias de importación para las clases. Los escritores de scripts deben revisar las importaciones para confirmar que sean de las clases correctas (en caso de que haya una clase con el mismo nombre en dos paquetes diferentes).
Compatibilidad con Versiones Anteriores
En versiones anteriores, el sistema no requería importaciones explícitas y tenía una lógica para importar automáticamente todas las clases invocables disponibles para Groovy en tiempo de ejecución. Para cualquier script existente que no declare explícitamente sus importaciones, el sistema continúa recurriendo a la importación de todas las clases invocables en tiempo de ejecución. No obstante, la sugerencia es identificar y actualizar cualquier script de este tipo, ya que esta no es la práctica recomendada.
El sistema proporciona un programa de lote F1-CAGVY que informa todos los scripts que requirieron el paso de importación automática para compilarse exitosamente. Además, este programa de lote es útil cuando se actualiza la versión de Groovy para detectar proactivamente posibles problemas en la compilación de scripts existentes que puedan ocurrir debido a cambios en Groovy. Se recomienda que las implementaciones ejecuten este programa de lotes a corto plazo para identificar y corregir los scripts que carezcan de importaciones explícitas, y también que las actualizaciones de versión de Groovy revisen los scripts de la implementación que puedan informarse.