Usando Groovy em Scripts

É possível incorporar código Groovy em scripts usando o tipo de etapa de Membros Groovy. Para cada script com código Groovy, é criada uma classe Groovy por meio da concatenação de todas as etapas de Membros Groovy.

Por motivos de segurança, são disponibilizadas poucas classes Java do produto e de terceiros para escrita de script em Groovy. As classes base permitidas podem ser exibidas no visualizador de Documentos Java de Groovy, por meio do link 'Visualizar Documentos Java de Groovy' na zona contextual Dicas do Script. Para visualizar a lista de classes permitidas de terceiros, clique no link 'Visualizar lista de permissões de Groovy de terceiros' na zona Dicas do Script.

Observação: Este sistema permite usar Groovy para fins de processamento back-end. Ele não deve ser usado para interfaces de usuário. A linguagem Groovy também não se aplica a scripts do BPA.

Mecanismo de script Groovy

Para scripts chamados do Java e totalmente escritos em Groovy, é preciso usar uma versão do mecanismo de script Groovy. O sistema processa esse tipo de script de maneira semelhante ao código escrito em Java. Assim, não é preciso converter o script de/para XML, é possível usar um código que funciona diretamente nos objetos do sistema, o que traz benefícios de desempenho.

Os seguintes tipos de script dão suporte à versão Groovy do mecanismo:

Scripts de Plug-In

É possível configurar Scripts de Plug-In para usar o mecanismo Groovy se eles contêm apenas tipos de etapa orientados para Groovy. O sistema fornece uma superclasse gerada automaticamente que define a API do spot de plug-in. Internamente, o código Groovy precisa seguir as convenções do sistema para tipos de algoritmo baseados em Java, incluindo um método 'invoke', que é o ponto de entrada de plug-in, e a definição dos parâmetros 'variáveis' por meio de anotações.

Scripts da Biblioteca Groovy

Os Scripts da Biblioteca Groovy permitem criar grupos de rotinas comuns escritas em Groovy que podem ser chamadas dentro de outros scripts. Os scripts desse tipo precisam incluir um tipo de etapa de Interface da Biblioteca Groovy em que os métodos disponíveis publicamente na biblioteca sejam escutados. O código que dá suporte a esses métodos é definido em um ou mais tipos de etapa de Membros Groovy no script da biblioteca. Os métodos definidos na biblioteca podem aceitar argumentos e retornar valores de qualquer tipo. Os scripts desse tipo usam o mecanismo Groovy por padrão e não podem incluir tipos de etapa de escrita de script.

Os scripts que precisam chamar métodos de uma biblioteca Groovy podem usar o método createLibraryScript fornecido pelo sistema para instanciar a interface da biblioteca. Confira se a classe que está sendo instanciada inclui a extensão .de nome do arquivo da classe.

Chamando Groovy no Mecanismo de Escrita de Script

Se um script de plug-in ou de serviço for configurado para usar uma versão do mecanismo de escrita de script, ele poderá incluir uma mistura de tipos de etapa regulares e de Membros Groovy. Os tipos de etapa de script definirão o processo a ser executado. As etapas de Membros Groovy contêm um código que pode ser chamado dos tipos de etapa de Editar Dados no script por meio do comando invokeGroovy. Esse comando só funciona com métodos Groovy que não recebem argumentos e retornam void. Para obter mais detalhes, consulte a seção sobre Editar Dados.

Para scripts que usam essa opção, é fornecida uma superclasse contendo métodos que dão suporte a ações comuns de escrita de script, como comandos de movimentação e avaliação de strings, e métodos para chamar objetos de negócios, serviços de negócios e scripts de serviço. Para obter detalhes dos métodos aceitos, consulte os Javadocs específicos da linguagem Groovy.

Importando Classes do Groovy

Todas as classes do Groovy usadas pelo script devem ser declaradas explicitamente em um tipo de etapa Importações do Groovy. Ao salvar um script, se o sistema localizar classes referenciadas no script que não forem declaradas explicitamente, o sistema emitirá um aviso e adicionará automaticamente instruções de importação dessas classes. Os gravadores de script devem revisar as importações para confirmar se são as classes corretas (caso haja uma classe com o mesmo nome em dois pacotes diferentes).

Compatibilidade Retroativa

Em versões anteriores, o sistema não exigia importações explícitas e tinha lógica para importar automaticamente todas as classes que podem ser chamadas disponíveis para o Groovy no tempo de execução. Para qualquer script existente que não declare explicitamente suas importações, o sistema continuará recorrendo à importação de todas as classes que podem ser chamadas no tempo de execução. No entanto, essa não é a prática recomendada, e sim identificar e atualizar qualquer script como desse tipo.

O sistema oferece um programa em batch F1-CAGVY que relata todos os scripts que exigiam que a etapa de importação automática fosse compilada com êxito. Além disso, esse programa em batch é útil quando a versão do Groovy é atualizada para detectar proativamente possíveis problemas na compilação de scripts existentes que podem ocorrer devido a alterações no Groovy. As implementações são incentivadas a executar este programa em batch no curto prazo para identificar e corrigir os scripts que não têm importações explícitas e também para qualquer atualização de versão do Groovy analisar todos os scripts da implementação que possam ser relatados.