[Oracle ADF] TaskFlow

TaskFlow бывают Bounded и Unbounded.

В общем я всегда создавал Bounded TF. Указывал в них default вьюху и если нужно передавал параметры. + настраивал security.


Oracle Adf Bounded and Unbounded Taskflow and difference between Bounded and Unbounded Taskflow.

Bounded TF have single entry point and can have zero or more exit points. Whereas Unbounded TF has one or more entry point for the application (adfc-config.xml).

Bounded TF must have a default activity (Which is the entry point) whereas Unbounded TF cannot have default activity.

Bounded TF can be parameterized where as UnBounded TF cannot be parameterized.

We can create multiple Unbounded TF but during runtime they all become into one unbounded TF, thus resulting into inefficiency whereas it’s not true in the case of Bounded TF.

Bounded TF is re-usable whereas UnBounded TF is not.

We can implement Undo feature with Bounded TF( because it supports Transaction) but UnBounded TF doesn’t.

In Nutshell, We have to have one Unbounded TF and many Bounded TF to take advantage of many features such as re-usability, train stop, data sharing between task flows , transaction, etc.

http://mavendeveloper.com/2011/09/what-is-the-difference-between-bounded-and-unbounded-taskflows/

Или:

Разница: https://www.youtube.com/watch?v=97AOUPJ0bvU


Примеры работы с TaskFlow:


Save Points для TaskFlow для сохранения их состояния:


Еще какие-то примеры:



Оказывается и так можно (только я не нашел практического применения):


1
2
3
TaskFlowId taskFlow = new TaskFlowId(
    "WEB-INF/departments-task-flow-definition.xml",
    "departments-task-flow-definition");


https://bitbucket.org/oracle-adf/write-and-read-values-from-pageflowscope-of-a-region-bounded


https://bitbucket.org/oracle-adf/get-the-pageflowscope-of-a-region-bounded-task-flow



Чего-то не нашел как выпонить программно ReturnActivity.

Подозреваю, что как-то:


1
2
3
ControllerContext ccontext = ControllerContext.getInstance();
String viewId = "taskFlowReturn1";
ccontext.getCurrentViewPort().setViewId(viewId);



Буду признателен за подсказку



Интересные примеры:

http://naive-amseth.blogspot.ru/2010/12/testcase-programmatically-navigating-in.html
https://community.oracle.com/thread/1129942?tstart=0

Create taskFlow and region binding at run-time , show n numbers of regions using multiTaskFlow- Oracle ADF
http://www.awasthiashish.com/2014/08/create-taskflow-and-region-binding-at.html

Set and Get Value from Taskflow parameter (pageFlowScope variable) from Managed Bean- ADF
http://www.awasthiashish.com/2013/05/set-value-in-taskflow-parameter-from.html