going to describe one non declarative use case. Imagine, if there is a
table with filter functionality, you may want to intercept filter items
and apply the same for another VO. This another VO should be based on
the same DB table, so it could apply criteria items against the table.
Sample application - AdvancedViewCriteriaApp.zip,
implements a fragment with table component and a chart. Table component
can be filtered, criteria is intercepted and applied for the chart,
this one is rendered from different VO with GROUP BY query. Chart stays
in synch and displays data according to the criteria filtered in the
In the log, I’m printing out intercepted criteria from the table filter:
Chart is rendered from the SQL query below:
filter criteria is being intercepted by overridden method
buildViewCriteriaClauses. Criteria clause is constructed here, we just
need select FilterViewCriteria, the one originating from table filter.
We could apply this criteria straight ahead to the VO responsible to
bring chart data. However, this would not work - ADF BC would wrap
original chart SQL query with SELECT * FROM (…) QRSLT WHERE (table
filter criteria). This would not work, because table filter criteria is
not present in the original chart SQL statement. To make it work, I’m
updating original SQL query for chart data, by updating WHERE clause
part: Read the complete article here.
WebLogic Partner Community
For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.
Blog Twitter LinkedIn Forum Wiki