Esse "preparo dos datasets" são usados como uma ambientalização do formulario que vem a sequir ;
Com struts + ADF-UIX tinhamos a chamada de um metodo "public void beforePrepareModel(DataActionContext ctx)" esse metodo era uma modificação da action original do ADF-Struts, que nos faziamos intervindo no seu life-cycle original e ganhando esse "gancho" que usavamos com o fim de organizar nosso ambiente de dados;
public void beforePrepareModel(DataActionContext ctx){// TODO: Override this santoandrea.adf.controller.santoandreaDataForwardAction methodccacServiceImpl ccSer = (ccacServiceImpl) this.getccacService(ctx);ViewObject vCont = (ViewObject)ccSer.findViewObject("Tblcontratados");vCont.setWhereClause(null);vCont.setWhereClauseParams(null);}
Otimo; e agora com o Faces ??
Essa foi a origem de uma longa lista de soluções; eu vou enumerar as principais delas
- No diagrama adf-task-flow podemos por um method-Call, qual aponta para um metodo em backing bean ou no proprio application module;
- Utilizando o metodo initializer de um task-flow
- como no jDev 10g, podemos interferir no life-clycle do ADF-Faces, montando um "gancho" para nosso trabalho;
Qual é a mais correta ?
Bom essa pergunta não se responde assim, cada caso é um caso e suas aplicações e desvantagens devem ser ponderadas
A opção 1, é a mais incentivada pela Oracle , por ser a mais documentada o proprio task-flow ja demonstra que existe uma passagem por uma rotina que abre as tabelas e preprara o ambiente;
A opção 2 , também é muito boa, eu não gosto dela particularmente, porque ela fica de alguma forma "escondida" dentro do task-flow e também seria nescessario 1 task-flow por tela que deveria receber esse tratamento;
A opção 3, foi a unica forma que eu encontrei para atualizar a tela (ou os registros) de acordo com uma mudança uma variavel de ambiente qual poderia ser mudada em qualquer momento pelo usuário até mesmo quando ele estava com uma tela de dados aberta; então os registros precisariam refletir essa alteração de ambiente;
Nos proximos posts, demonstrarei detalhadamente cada uma