Thursday, January 20, 2011

Get the PageFlowScope of a Region Bounded Task Flow

Sometimes you need to access the PageFlowScope of a Task Flow Region( child Bounded Task Flow ) and get a handle to a pageFlowScope managed Bean. Normally you don't need to do this and Oracle don't want you, to do this. To make this work you need three internal classes so there is no guarantee that it works in 11g R1 PS4 or higher, but it work in PS2 & PS3.

Basically this is what you need to do.

  • Get the Task Flow binding of the region in the page definition, you need to have the full name
  • Get the RootViewPortContext
  • Find the ChildViewPortContext , use the TaskFlow full name
  • Get the pageFlowScope Map of the ChildViewPortContext 

Here some demo code.

Here you can download the demo workspace

3 comments:

  1. exactly what I was looking for

    ReplyDelete
  2. Hi Biemond,

    Thank you for the post here!!!

    How do we use this without adfinternal package usage? as internal package/classes are meant for Oracle internal which may change without any notification.

    Please suggest if any alternate solution for the same.

    Thanks in advance!
    Shiavji

    ReplyDelete
    Replies
    1. Hi,

      sorry, Oracle don't want you to use it even when there is a valid use case, like in global menu and want to do things in a task flow fragment.
      But in 11gR1 there are not that many changes so it will always work in 11gR1


      thanks

      Delete