BPEL

Trabalhando com Regex no BPEL

Hoje no BPEL não existe uma função especifica para que possamos trabalhar diretamente com Regex (Regular Expression) no BPEL, por isso irei demonstrar neste Post uma das maneiras que podemos fazer para aplicar uma Regex à um processo.

Neste exemplo iremos basicamente passar um valor ao nosso BPEL e validaremos estes valores através do Regex.

Para nossos testes crie um projeto chamado RegexBpel

Imagem Blog UansCarvalho

Dentro do nosso Composite.xml adicione um BPELProcess chamado RegexBPELProcess

Imagem Blog UansCarvalho

Dentro do seu RegexBPELProcess adicione um Transformation e dê o nome de Transform_Regex

Imagem Blog UansCarvalho

Dê um duplo clique agora sobre o seu Transform_Regex

Em Source adicione seu inputVariable e em Target Variable deixe seu outputVariable e clique em no Sinal de + para abrirmos a Transformation.

Imagem Blog UansCarvalho

Ligue agora seu input com seu result.

Imagem Blog UansCarvalho

Agora vá no Source do seu Transformation e adicione a seguinte linha na declaração de suas namespaces.

xmlns:strClass=”http://www.oracle.com/XSL/Transform/java/java.lang.String”

Imagem Blog UansCarvalho

Agora adicione o trecho de código abaixo do seu <xsl:value-of select=”/client:process/client:input”/>

<xsl:call-template name=”strReplace”>
        <xsl:with-param name=”param” select=”/client:process/client:input”/>
</xsl:call-template>

Agora retire sua linha <xsl:value-of select=”/client:process/client:input”/>

Então ficará assim:

Imagem Blog UansCarvalho

Adicione agora o trecho de código abaixo do seu </xsl:template>

<xsl:template name=”strReplace”>
    <xsl:param name=”param”/>
    <xsl:value-of select=”strClass:replaceAll($param, ‘[^0-9]’, ”)”/>
</xsl:template>

Imagem Blog UansCarvalho

Veja acima que estamos usando a função replaceAll, iremos pegar o que será passado em nosso Input através da variavel $param, aplicaremos a Regex [^0-9] onde não será permitido passarmos qualquer valor que seja diferente do intervalo de números de 0 a 9 e por ultimo através das aspas simples, digo que caso existe estes valores trocaremos por nada, ou seja, irá apenas retirar estes valores.

Faça agora o deploy do seu projeto e vamos aos testes

Direto no EM (Enterprise Manager) do seu BPEL veja abaixo que estou passando os valores

A-1-2%3*4=5

Imagem Blog UansCarvalho

Execute e veja no Response o retorno:

Imagem Blog UansCarvalho

Veja que no meu response foi retirado qualquer valor que passei diferente dos números.

 

Duvidas ? Deixe seu comentário e faça download deste  Projeto :-)

 

Abraços e até a Próxima

/:-D

 

Criei este Blog destinado a desenvolvedores e interessados na Tecnologia Oracle SOA Suite, minha idéia é que no futuro ele sirva de referência para Analistas e Desenvolvedores desde aprendizes a especialistas. Já existem alguns Posts interessantes que abordam um pouco do meu dia a dia, no passar do tempo irei alimentar este Blog com o máximo de informações possíveis, por isso peço por gentileza aos interessados e afins que caso tenham alguma dúvida, sugestão ou crítica que me digam para que eu possa da melhor forma suprir as expectativas e na medida do possível sanar todas as duvidas que vierem a surgir ou até mesmo criar novos Posts abordando algum tópico que venha a ser relevante para todos os interessados. Obrigado Uans Carvalho

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *