Task Flows reutilizáveis

Task Flows são pequenas aplicações com regras de negócio bem definidas. Em alguns casos, um Task Flow pode precisar da regra implementada em outro Task Flow. Ao invés de implementarmos essa regra nos dois Task Flows, causando duplicação de código, implementamos apenas um e o inserimos dentro do outro, aplicando a reutilização de Task Flows.

Nesse post iremos criar uma aplicação com dois Task Flows, um deles irá mostrar a lista de empregados e o outro irá mostrar as informações do empregado selecionado.
Baixe a aplicação de exemplo: ReusableTaskFlowApp.zip.

Crie uma nova aplicação Fusion Web Application (ADF).
Quando se cria uma aplicação usando o template de aplicação disponibilizado pelo JDeveloper, ele organiza o seu workspace dentro de projetos, criando e organizando muitos arquivos de configuração necessários pelo tipo de aplicação que está sendo criado. O template Fusion Web Application (ADF), providencia o conjunto de configurações dos projetos necessários para criar uma aplicação web que usa ADF Faces para a camada de visão, ADF Page Flow para a camada de controle, e ADF Business Components para a camada de negócios.

Para criar o Business Components, clique com o botão direito no projeto Model, e selecione New.
Navegue até Business Tier | ADF Business Components | Business Components from Tables, e clique em OK.
Selecione a conexão com o schema HR, e clique em OK duas vezes.
Na etapa 1, clique em Query para consultar as tabelas do schema HR.
Selecione EMPLOYEES, e clique em Next.

reusable-task-flows1

Na etapa 2, selecione Employees e clique em Next.

reusable-task-flows2

Na etapa 3, clique em Next.
Na etapa 4, clique em Finish.

reusable-task-flows3

Para criar o primeiro Task Flow, clique com o botão direito no projeto ViewController e selecione New.
Navegue até Web Tier | JSF | ADF Task Flow, e clique em OK.
Informe o nome ViewEmployeesTaskFlow, desmarque a opção Create with Page Fragments, e clique em OK.

reusable-task-flows4

Crie o segundo Task Flow.
Informe o nome EditEmployeesTaskFlow, desmarque a opção Create with Page Fragments, e clique em OK.

reusable-task-flows5

Abra o Task Flow ViewEmployeesTaskFlow.
Arraste e solte o componente View na página, e renomeie para ViewEmployees.
Arraste e solte o Task Flow EditEmployeesTaskFlow.
Arraste e solte o componente Control Flow Case no ViewEmployees, e depois clique em EditEmployeesTaskFlow. Substitua o * por goEditEmployeesTaskFlow.

reusable-task-flows6

Clique duas vezes em ViewEmployees, e clique em OK.

reusable-task-flows7

Atualize o painel Data Controls, e expanda o HrAppModuleDataControl.
Arraste e solte o EmployeesView1 na página, e selecione Table | ADF Read-only Table.
Marque a opção Single Row, e clique em OK.

reusable-task-flows8

Inclua a classe AFStrecthWidth na tabela.

reusable-task-flows9

Insira dois botões abaixo da tabela. Eles devem ficar dentro da tag FORM.

reusable-task-flows10

Configure os botões.

reusable-task-flows11

No EditEmployeesTaskFlow, mude a propriedade transação para Always Begin New Transaction.

reusable-task-flows12

Configure o EditEmployeesTaskFlow.

reusable-task-flows13

Selecione o Router, e configure as regras de navegação.

reusable-task-flows14

No componente Commit, altere a propriedade End Transaction para Commit.
No componente Rollback altere a propriedade End Transaction para Rollback.

reusable-task-flows15

Vá até o painel Data Controls | HrAppModuleDataControl | EmployeesView1 | Operations.
Arraste e solte a operação CreateInsert em CreateInsertEmployees.

reusable-task-flows16

Clique duas vezes em EditEmployees, e clique em Ok.
Vá até o painel Data Controls, arraste e solte o EmployeesView1 na página, e selecione Form | ADF Form.
Marque a opção Include Submit Button, e clique em Ok.

reusable-task-flows17

No botão Submit, altere as propriedades Text para Save e Action para goCommit.
Insira outro botão, e altere as propriedades Text para Cancel, Action para goRollback e Immediate para true.

reusable-task-flows18

Salve tudo, e execute o ViewEmployeesTaskFlow.
Selecione um empregado e clique em Edit.

reusable-task-flows19

Altere alguns valores e clique em Save.

reusable-task-flows20

reusable-task-flows21

Waslley Souza

Autor: Waslley Souza

Consultor Oracle com foco em tecnologias Oracle Fusion Middleware e SOA. Certificado Oracle WebCenter Portal, Oracle ADF e Java.

Deixe uma resposta

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