O que é?
Adapter é um tipo de atividade que permite executar uma classe java que contém código customizado, possibilitando implementação de ações não padrões do Fusion.
Como implementar?
No BPM Studio, após inserir o componente de atividade, selecionar a opção script, conforme mostra a imagem abaixo:
Após a opção selecionada, deve-se preencher o caminho da classe java que contém o pacote e nome do método respectivamente:
Pacote: com.neomind.fusion.custom.neomind.comercial.comissoes
Nome da classe: AdapterInformaComissaoApoiadores
Este caminho é preenchido nas propriedades da atividade:
Um adapter de workflow deve implementar a interface AdapterInterface e possuir os métodos start e back, esses métodos são chamados pelo fluxo quando o mesmo passa pela atividade de script. Segue abaixo um exemplo de script:
O método start é executado quando a atividade é avançada, ou seja, quando a atividade de usuário anterior a ela é enviada, e recebe os seguintes parâmetros:
task: referente a classe Task, que retorna a tarefa de usuário que deu origem à atividade de script;
wrapper: referente a classe EntityWrapper, que nos traz o formulário do processo encapsulado, ou seja, os campos e seus respectivos valores;
startActivity: referente a classe classe Activity, que nos traz a atividade de script em si.
Lembrando que os nomes das variáveis dos parâmetros podem ser alterados, mas a ordem e a tipagem dos parâmetros devem ser a mesma.
Já o método back é executado quando a atividade é retornada, ou seja, por algum motivo o fluxo está seguindo o sentido contrário, o que pode ocorrer porque um usuário recusou uma tarefa posterior, por exemplo. Esse método recebe os parâmetros:
wrapper: referente a classe EntityWrapper, que traz o formulário do processo;
activity: referente a classe que nos traz a atividade de script em si.
Como no método start, os nomes dos parâmetros podem ser alterados, mantendo as respectivas classes e a ordem dos parâmetros.
Entendendo a função de cada um dos dois métodos padrões, podemos criar novos métodos customizados, caso necessário, e aplicar qualquer que seja o script para atender à nossa regra de negócio.
Com um pouco de conhecimento da linguagem Java e dos métodos utilizados no back-end do Fusion, é possível fazer praticamente qualquer customização no seu fluxo, basta ter em mente o objetivo a ser alcançado com a implementação do adapter e começar a desenvolver.