Como utilizar o Regex no Fluig
Neste exemplo vou demonstrar como podemos utilizar o REGEX no Fluig e utilizar esse recurso para validar o retorno do dataset saveRecord.
Como validar o retorno do dataset saveRecord do RM.
Durante a execução do dataset saveRecord, o sistema RM retorna o padrão CODCOLIGADA;IDENTIFICADOR.
Dependendo da tela o formato pode variar, porém geralmente é o padrão conforme este exemplo: 1;1234
No código abaixo estamos executando a ação de salvar um registro na tabela do Financeiro, porém precisamos capturar se há algum erro ou se foi bem executado.
A forma de avaliar o resultado pode ser avaliando a estrutura da mensagem de retorno. Se der certo a edição o sistema RM irá retornar os dados da chave primária.
No exemplo abaixo validamos o formato: “^d{1,2};d{3,}$”, que significa: “O resultado deve começar com número e deve ter entre 1 e dois dígitos, seguidos de ponto vírgula, seguido de um número com tamanho de no mínimo 3 sem limite de máximo e deve finalizar com esse padrão numérico.”
Código REGEX Fluig
Neste exemplo estamos utilizando a classe java.util.regex.Pattern do java, fazendo uma chamada direta do método matches.
Desta forma é possível verificar se o resultado pertence a um padrão, se não pertencer assume-se que aconteceu um erro , que é impresso capturado através do evento de captura.
var result = authIwsDataServer.saveRecord('FinLanDataBR', xml, contexto);
log.info("Resultado do Servico: " + result);
var regex="^d{1,2};d{3,}$";
validacao=java.util.regex.Pattern.matches(regex, result.trim());
log.info("realizando o teste com o Regex: " + validacao);
if(validacao==false){
erro= 'Erro ao executar o serviço. O resultado não pertence ao padrão normal. ' + result;
throw(erro);
}
Comments ()