http://mahmoudoracle.blogspot.com/2012/05/adf-dynamic-view-object.html#.Uvlr5fldVZs
Today I want to write about dynamic view object which allow me to change its data source (SQL query) and attributes at run time.
I will use oracle.jbo.ApplicationModule::createViewObjectFromQueryStmt method to do this issue.
I will present how to do this step by step
Create View Object and Application Module
1- Right click on Model project and choose New
2- Choose from left pane "ADF Business Component" , then from list choose "View Object" and click"OK" button
3- Enter "DynamicVO" in "Name" and choose "Sql Query" radio button and click "Next" button.
4- Write in Select field "select * from dual" and click "Next" button until reach Window "Step 8 of 9"
5- Check "Add to Application Module" check box and click "Finish" button.
2- Open AppModuleImpl.java Class and Add the below method for dynamic view object
3- Open "AppModule" then open Java tab and Add changeDynamicVoQuery method to Client Interface
Test Business Component
1- Right click on AppModue in Application navigator and choose Run from drop down list.
2- Right click on AppModule in left pane and choose Show from drop down lsit
Write "Select * from Emp" in sqlStatement parameter
Click on Execute button, The result will be Success .
3- Click double click on DynamicVO1 in left pane, it will display the data of DynamicVO and display data which I entered "Select * from Emp" before not "Select * from dual" that was used in design time of view object.
To use dynamic view objects in ADF Faces, you should use ADF Dynamic Table or ADF Dynamic Form.
Today I want to write about dynamic view object which allow me to change its data source (SQL query) and attributes at run time.
I will use oracle.jbo.ApplicationModule::createViewObjectFromQueryStmt method to do this issue.
I will present how to do this step by step
Create View Object and Application Module
1- Right click on Model project and choose New
2- Choose from left pane "ADF Business Component" , then from list choose "View Object" and click"OK" button
3- Enter "DynamicVO" in "Name" and choose "Sql Query" radio button and click "Next" button.
4- Write in Select field "select * from dual" and click "Next" button until reach Window "Step 8 of 9"
5- Check "Add to Application Module" check box and click "Finish" button.
Implement Changes in Application Module
1- Open application module "AppModule", then open Java tab and check "Generate Application Module Class AppModuleImpl" check box2- Open AppModuleImpl.java Class and Add the below method for dynamic view object
public void changeDynamicVoQuery(String sqlStatement) {
ViewObject dynamicVO = this.findViewObject("DynamicVO1");
dynamicVO.remove();
dynamicVO = this.createViewObjectFromQueryStmt("DynamicVO1", sqlStatement);
dynamicVO.executeQuery();
}
3- Open "AppModule" then open Java tab and Add changeDynamicVoQuery method to Client Interface
Test Business Component
1- Right click on AppModue in Application navigator and choose Run from drop down list.
2- Right click on AppModule in left pane and choose Show from drop down lsit
Write "Select * from Emp" in sqlStatement parameter
Click on Execute button, The result will be Success .
3- Click double click on DynamicVO1 in left pane, it will display the data of DynamicVO and display data which I entered "Select * from Emp" before not "Select * from dual" that was used in design time of view object.
To use dynamic view objects in ADF Faces, you should use ADF Dynamic Table or ADF Dynamic Form.









