ADF : Dynamic View Object

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 box


2- 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.

You can download sample application from here

Reference: ADF : Dynamic View Object from our JCG partner Mahmoud A. ElSayed at the Dive in Oracle blog.

Related Whitepaper:

Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions

Get ready to program in a whole new way!

Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.

Get it Now!  

Leave a Reply


five × 8 =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.

Sign up for our Newsletter

15,153 insiders are already enjoying weekly updates and complimentary whitepapers! Join them now to gain exclusive access to the latest news in the Java world, as well as insights about Android, Scala, Groovy and other related technologies.

As an extra bonus, by joining you will get our brand new e-books, published by Java Code Geeks and their JCG partners for your reading pleasure! Enter your info and stay on top of things,

  • Fresh trends
  • Cases and examples
  • Research and insights
  • Two complimentary e-books