Saturday, May 26, 2012

Work Around: Detail Table in ADF Pop Up Region not refreshed at runtime as it caches old data.

While developing a simple master detail application in ADF I came across this problem. My model structure is as follows. I have a JOB table having structure like [JOB_ID,JOB_TITLE,MAXSALARY,MINSALARY] an EMPLOYEES table having structure like[EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATE,JOB_ID,SALARY ,COMMISSION_PCT,MANAGER_ID,DEPARTMENT_ID].
My view query is like below
In below Picture ADF popup ‘Employee List by Job Title’ gives the UI representation of the above view. And the Master table UI represents the JOB table. When user clicks on a particular row in master table, ADF popup shows all Employees having that particular JOB_TITLE. As shown in below picture
So far we are good and page renders properly and while user clicks on a particular row then Pop UP shows expected employee details . But the problem comes as user clicks on another row then Pop UP shows old data instead of new data i.e when user clicks on ‘Accountant’ row then it shows all EMPLOYEES who are ‘Accountant’. But when user clicks on ‘Programmer’ then also it shows all EMPLOYEES  who are ‘Accountant’ instead of ‘Programmer’.
My bean code is as follows

My Application module implementation code is as follows

Work Around:
After investigating a bit when I see the log file I am bit surprised, It is actually executing the view but the Pop Up is not able to show the updated data.

image As a work around I have used partial target programmatically while user closes the pop up. And it solves the problem.

Code for Pop up is as follows

Here “d1” is document id used in UI page.