À medida que migra para uma versão atualizada do Groovy, você pode encontrar alguns problemas que precisam ser resolvidos. Um programa chamado Validador de Scripts Groovy ajuda a encontrar as regras que precisam ser ajustadas e fornece um relatório para que você possa corrigir os problemas.
Note:
O Validador de Scripts Groovy fica disponível somente quando seu aplicativo contém regras de negócios Groovy criadas pelo usuário. Consulte Validação de Scripts Groovy para obter informações sobre como executar o Validador de Script Groovy.
Após executar o Validador de Script Groovy no seu aplicativo, use as informações deste tópico para resolver problemas de validação.
Diretrizes Gerais
Use Tipos de Dados Explícitos em vez de def. Por exemplo, especifique o tipo de dados explícito para variáveis, como String, int, List<String> ou Map<String,Integer>.
Observação: Se você estiver usando a palavra-chave def e ela não for sinalizada pela ferramenta de validação, deixe-a como está.
Se receber um erro ao trabalhar com números flutuantes, use o sufixo "d" para garantir que os números flutuantes sejam tratados como "double", em vez de "BigDecimal". Por exemplo, it.data = 1212121212.111d.
Se receber um erro que não entende, verifique se a primeira linha do script se parece com: /*RTPS: */
Mesmo que não tenha RTPs, verifique se esta é a primeira linha.
Se tiver RTPs, adicione-os à primeira linha desta forma: /*RTPS: {selectedDepartment} {hireDate} {newEmployeeName} */.
Note:
A partir da atualização de outubro (25.10), você não precisará mais substituir as funções de Data obsoletas pelas funções de Calendário correspondentes como parte do processo de validação. Isso será resolvido e não será mais um problema. Os métodos Date.format(), Date.getAt(), Date.parse() etc. funcionarão e não mostrarão mais erros de validação.
Erros e Correções Sugeridas
Table 3-2 Erros e Correções Sugeridas
| Erro | Exemplo de Código | Causa Possível | Solução Possível |
|---|---|---|---|
|
Esta propriedade não existe: |
N/A |
Isso pode ser o resultado da não utilização do modelo RTPS e do fato de que as variáveis são referenciadas por meio de colchetes ou chaves. Como consequência, o mecanismo Groovy tenta avaliar as variáveis como expressões Groovy. |
Utilize |
|
Não é possível atribuir um valor do tipo |
|
O erro ocorre porque os dados da Lista não têm um tipo explícito. Portanto, o Groovy os trata como |
Para resolver esse problema, execute uma das seguintes ações:
|
|
Não é possível atribuir um valor do tipo |
|
O erro ocorre porque o objeto que está sendo atribuído não tem um tipo explícito nem é convertido em |
Para resolver esse problema, converta o valor em Use a sintaxe Por exemplo:
|
|
Não é possível atribuir o valor do tipo |
|
O erro ocorre porque |
Para resolver esse problema, adicione a conversão Por exemplo:
|
|
Não é possível chamar:
com os argumentos [java.util.List <java.lang.Object>, java.util.List <java.lang.Object>] |
|
O erro ocorre porque os argumentos |
Para resolver esse problema, especifique o tipo de dados da variável. Por exemplo:
|
|
Não é possível chamar:
com os argumentos
|
|
O erro ocorre porque os argumentos |
Para resolver esse problema, adicione a conversão Por exemplo:
|
|
Não é possível chamar:
com os argumentos
|
|
O erro ocorre porque os argumentos |
Para resolver esse problema, adicione a conversão Por exemplo:
|
|
Não é possível localizar o método correspondente |
|
O erro ocorre porque o método |
Para resolver esse problema, insira o seguinte:
|
|
Não é possível localizar o método correspondente |
|
O erro ocorre porque o método de formato, que estava anteriormente disponível em versões mais antigas do Groovy, não está mais disponível. |
Para resolver esse problema, insira o seguinte:
|
|
Não é possível localizar o método correspondente |
List <Cube> cube = operation.application.getCubes() Dimension dimScenario = operation.application.getDimension("Scenario", cube.toArray(new Cube[cube.size()])) |
O tipo |
Para resolver esse problema, execute uma das seguintes ações:
|