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);   
     }