Oracle ADF > ViewObject

Примеры применения к ViewObject критериев для выборки, фильтрации, группировок (ViewCriteria, Where, GroupBy, и т.д.):



Чтобы в консоль печатался ViewoObject при его вызове, можно установить параметр -Djbo.debugoutput=console в настройках Jdeveloper. ViewController --> Run/Debug --> Edit Run Configuration --> Java Options --> -Djbo.debugoutput=console

Необходимо после этого перестартовать домен weblogic. Особенно актуально, когда приходится работать с Rest сервисами.



Очередной update в понимании, поэтому я думаю, что лучший вариант применения фильтрации к ViewObject следующий:

1) Если переменные во ViewObject можно задать с помощью SQL запроса (с обработкой nvl, case и д.р.), то лучшей обойтись без каких-либо дополнительных переменных, ViewCriteria. Но не стоит особо упираться и городить 4-х этажные SQL запросы, если можно сделать решение проще.

2-3) Если значене переменных нужно задать по умолчанию, то лучше это сделать с помощью выражений, в том числе Groovy выражений. А т.к. Groovy очень похож на java, то не так уж это и сложно.

2-3) Если нужно то применять, то отменять ViewCriteria. Лучше, по возможности, отказаться от них. Если нет, то они вполне ОК.

4) Добавлять конструкции Where если не удалось обойтись вышеперечисленными способами.

5) Создавать ViewObjec полностью динамически. Я пока не делал. Обходился.





Link in ADF




VO (ViewObject)




VC (ViewCriteria)




Where Clause



Имплементация VO с помощью java классов (IMPL)



Commit && Rollback




Обработка nvl во viewObject




Все, что связано с ROW у VO



Еще примеры:

Динамические VO:

ADF : Dynamic View Object
http://mahmoudoracle.blogspot.ru/2012/05/adf-dynamic-view-object.html



Proxy VO:

Proxy ViewObject and Dynamic Editable UI in ADF http://andrejusb.blogspot.ru/2012/03/proxy-viewobject-and-dynamic-editable.html



Создание VO программно:

https://bitbucket.org/oracle-adf/programmatic-view-object

Creating Dynamic View Object at Runtime programmatically - Oracle ADF
http://www.awasthiashish.com/2013/07/creating-dynamic-view-object-at-runtime.html

Insert New Row in ADF ViewObject Programatically
http://www.awasthiashish.com/2012/12/insert-new-row-in-adf-viewobject.html



Primary Key:

Primary Key Auto Insert In ADF (Equivalent to before commit trigger in forms)
http://adfindepth.blogspot.ru/2016/06/primary-key-auto-insert-in-adf-before.html



Полезные примеры:

http://docs.oracle.com/cd/E21043_01/web.1111/b31974/bcadvvo.htm#CEGJACDC

Most Used Codes in ADF (Iterate over ViewObject, get Value from pageFlow Scope variable)
http://www.awasthiashish.com/2012/11/most-used-codes-in-adf-iterate-voget.html



Working Programmatically with View Objects
https://docs.oracle.com/middleware/1212/adf/ADFFD/bcqueryprog.htm#ADFFD23744