Criando um Task Flow mestre-detalhe
O Oracle ADF (Application Development Framework) é um framework de aplicação baseado na plataforma Java, padrões Java EE e tecnologias open-source. Por ser declarativo, o Oracle ADF simplifica e acelera o desenvolvimento, possibilitando que os desenvolvedores foquem na lógica de negócio da aplicação, ao invés dos detalhes de codificação.
Vamos começar a programar em Oracle ADF, criando um Task Flow mestre-detalhe de departamentos e funcionários. Baixe a aplicação de exemplo: MasterDetailApp.zip
Para criar uma nova aplicação ADF Oracle, navegue até Arquivo | Geral | Applications, selecione Web Application Fusion (ADF), e clique em OK.
Altere as seguintes propriedades:
- Application Name: MasterDetailApp
- Application Package Prefix: br.com.waslleysouza
Nós não precisamos alterar os projetos, portanto, clique em Finish.
Agora, temos uma aplicação com dois projetos, Model que é responsável pela camada de modelo (model layer) e ViewController que é responsável pelas camadas de visão e controle (view e controller layer).
- Para criar Business Components, clique com o botão direito no projeto Model e selecione New.
- Navegue até Business Tier | ADF Business Components, selecione Business Components from Tables, e clique em OK.
- Se esta é a primeira vez que você cria uma aplicação, você terá que criar uma conexão de banco de dados.
- Clique no ícone de adição para criar a conexão.
- Depois de configurar as propriedades, clique em OK duas vezes.
Um Entity Object representa uma linha em uma tabela de banco de dados e simplifica a modificação de seus dados.
Nós só precisamos das tabelas de Empregados e Departamentos para esta aplicação.
- Clique em Query para procurar tabelas do esquema HR e selecione Employees e Departments. Clique em Next.
Um View Object representa uma consulta SQL e simplifica o trabalho com seus resultados.
- Selecione Employees e Departments, e clique em Next.
Nós não precisamos de Read-Only View Object. Clique em Next.
Application Module é o componente transacional que os componentes de interface do usuário usam para trabalhar com dados de aplicações.
- Clique em Finish.
Agora, nós temos doze arquivos em nosso projeto:
- AppModule é um Application Module.
- Employees e Departments são Entity Objects.
- EmployeesView e DepartmentsView são View Objects.
- EmpManagerFkAssoc, DepMgrFkAssoc e EmpDepFkAssoc são Entity Associations. Entity Associations são componentes de negócios que definem uma relação entre dois Entity Objects.
- EmpManagerFkLink, DepMgrFkLink e EmpDepFkLink são View Links. View Links são componentes de negócios que definem uma relação entre dois View Objects.
- O arquivo Model.jpx contém informações de configuração que o JDeveloper usa em design time para permitir que você crie o projeto Model com ADF Business Components.
- Para criar Task Flow, clique com o botão direito no projeto ViewController e selecione New.
- Navegue até Web Tier | JSF, selecione ADF Task Flow, e clique em OK.
- Desmarque a opção Create with Page Fragments, e clique em OK.
- Arraste e solte um componente view do Component Palette dentro do Task Flow.
- Renomeie para DepartmentEmployees.
- Clique duas vezes em DepartmentEmployees, e clique em OK para criar a página.
- Vá para Component Palette e arraste e solte um Panel Splitter da seção Layout dentro da página.
- Mude a propriedade Orientation para vertical.
- Vá para Data Controls do painel Application Navigator, e expanda AppModuleDataControl.
- Arraste e solte DepartmentsView1 dentro do first facet, e selecione Table | ADF Read-only Table.
- Selecione a opção Single Row, e clique em OK.
- Vá para Data Controls do painel Application Navigator, e expanda DepartmentsView1.
- Arraste e solte EmployeesView3 dentro do second facet, e selecione Table | ADF Read-only Table.
- Clique em OK.
Nós precisamos atualizar a segunda tabela quando selecionarmos uma linha na primeira, para pegar os funcionários do departamento.
- Selecione a segunda tabela, e vá para o painel Property Inspector.
- Edite a propriedade PartialTriggers, selecione a primeira tabela, e clique em OK.
- Salve tudo.
Para executar a aplicação, clique com o botão direito em task-flow-definition.xml e selecione Run.
Obs.: Em vez de criar duas tabelas dentro da página, você pode arrastar e soltar EmployeesView3 dentro da página e selecionar Master-Detail | ADF Master Table, Detail Table.
Dessa forma você tem o mesmo resultado. =D