Contextual
event ,in simple terms is a way to communicate between taskflows.
Sometimes
we have taskflow open in a region and have to get some values from
that taskflow .
This
scenario can be achieved by contextual event.
Contextual
Event have two parts-
- Publisher
Event (Producer)- As button or any component that can raise event
- Handler
Event (Customer)- that listens and process event published by
producer
This
tutorial is based on example developed on default HR schema of Oracle
DB 11g
I
have created two application and called first one in secod
application as region.
Create
first application using Department table of HR schema and drag
Department Name on page fragment, now create publisher event (follow
steps) for Department Name .
Select
Department Name field in structure window and go to property
Inspector select ContextualEvent
click
on green add icon and select event type and name for publisher event
- Select field value from Iterator Binding
here
you are done with publisher event or producer create a jar of this
application in order to use it in second application.
Now
start Second Application that will handle and process this event,
create a page and put an output text and set its value from managed
bean
Now
create a event handler class to process published event and to make
it available to page binding level , we have to create DataControl
for this class.
Right
click on event class and Click on CreateDataControl.
Now
add this method binding to page so that it can be accessible from
page binding
Now
drag and drop taskflow from jar library on page as region by this
published event will also be available to page
Now
go to page binding and goto ContextualEvents tab ,click on
subscribers tab and click on add icon this will open a popup window
,click on search button , it will show available publisher event,
now select event and goto handler search option and select function
that you have previously added in page binding
Give
consumer parameter name same as event handler function