Tags
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
Dentro do nosso Composite.xml adicione um BPELProcess chamado RegexBPELProcess
Dentro do seu RegexBPELProcess adicione um Transformation e dê o nome de Transform_Regex
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.
Ligue agora seu input com seu result.
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”
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:
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>
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
Execute e veja no Response o retorno:
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