14 September 2011

Ejecutar un ViewCriteria desde código

En ADF, los View Objects se pueden definir múltiples criterios de búsqueda, cada una filtrando por diferentes campos con distintos valores fijos, calculados o recibidos por parámetros.

Existen ocasiones en las que, desde código Java, puede interesarnos ejecutar un VO, utilizando un criterio de búsqueda previamente definido, el siguiente código permite hacer eso.

En el siguiente código, se recupera el "application model" del proyecto llamado "AppModule", para luego recuperar el VO llamado "PaisView1" y ejecutarlo utilizando el ViewCriteria "findByFundacion" con sus parámetros que tiene definido.
...
AppModuleImpl module;
module = (AppModuleImpl)getDBTransaction()
         .getRootApplicationModule()
         .findApplicationModule("AppModule");

PaisViewImpl vo = (PaisViewImpl)module.getPaisView1();
       
ViewCriteria vc = vo.getViewCriteria("findByFundacion");
VariableValueManager vvm = vc.ensureVariableManager();
vvm.setVariableValue("pFecDesde", this.getFecIni());
vvm.setVariableValue("pFecHasta", this.getFecFin());

       
RowSet rs = (RowSet)vo.findByViewCriteria(vc,-1,
            ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
..

- FIN -

No comments: