Академический Документы
Профессиональный Документы
Культура Документы
1 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
2 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
3 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
4 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
5 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
6 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
7 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
Share
Tweet
Like 0
8 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
9 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
package com.vesterli.demo.popupapp1.view.beans;
import java.util.Map;
import oracle.adf.model.BindingContext;
import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.events.EventDispatcher;
import oracle.adf.share.logging.ADFLogger;
import oracle.adf.view.rich.context.AdfFacesContext;
import oracle.jbo.uicli.binding.JUEventBinding;
AdfFacesContext fctx =
AdfFacesContext.getCurrentInstance();
DCBindingContainer bc =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
bc.getEventDispatcher().queueEvent(evtBind, btfReturnValue);
bc.getEventDispatcher().processContextualEvents();
10 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
btfReturnValue
WrapperEventBinding
<task-flow-call id="popup-flow">
<task-flow-reference>
<document>/WEB-INF/popup-flow.xml</document>
<id>popup-flow</id>
</task-flow-reference>
<return-value id="__3">
<name>popupReturn</name>
<value>#{pageFlowScope.btfReturnValue}</value>
</return-value>
</task-flow-call>
11 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
<bindings>
MethodName="sendEvent" IsViewObjectMethod="false"
DataControl="WrapperEvent"
InstanceName="WrapperEvent.dataProvider"/>
<eventBinding id="WrapperEventBinding">
<events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
<event name="wrapperEvent"/>
</events>
</eventBinding>
</bindings>
package com.vesterli.demo.popupapp1.view.beans;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import oracle.adf.share.logging.ADFLogger;
import oracle.adf.view.rich.component.rich.RichPopup;
12 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
import oracle.adf.view.rich.component.rich.fragment.RichRegion;
import oracle.adf.view.rich.event.RegionNavigationEvent;
import oracle.adf.view.rich.render.ClientEvent;
import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;
import org.apache.myfaces.trinidad.util.Service;
if (taskFlowId != null)
return taskFlowId;
else
return getEmptyTaskFlowId();
taskFlowId = newTaskFlowId;
return emptyTaskFlowId;
return popupTaskFlowId;
if (newViewId == null) {
13 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
do {
found = true;
} else {
component = component.getParent();
if (component == null) {
break;
} while (!found);
if (found) {
Service.getRenderKitService(context,
ExtendedRenderKitService.class).addScript(context,
setDynamicTaskFlowId("");
context.renderResponse();
14 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
<af:setPropertyListener
from="#{viewScope.PopupHandlerBean.popupTaskFlowId}"
to="#{viewScope.PopupHandlerBean.dynamicTaskFlowId}"
type="popupFetch"/>
regionNavigationListener=
"#{viewScope.PopupHandlerBean.regionNavigationListener}"/>
</af:panelWindow>
<af:serverListener type="serverPopupClosed"
method="#{viewScope.PopupHandlerBean.swapEmptyTaskFlow}"/>
</af:popup>
serverPopupClosed
15 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
<af:resource type="javascript">
function popupClosedListener(event) {
var params = {
};
params['popupId'] = popupId;
</af:resource>
package com.vesterli.demo.popupapp1.view.beans;
import java.util.Map;
import oracle.adf.share.logging.ADFLogger;
import oracle.adf.view.rich.context.AdfFacesContext;
16 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
pfs.put("DepartmentId", DeptNo);
pfs.put("DepartmentName", DeptName);
DataControl="EventHandler" RequiresUpdateModel="true"
Action="invokeMethod" MethodName="handleEvent"
IsViewObjectMethod="false">
NDType="java.lang.Object"/>
</methodAction>
${payLoad}
<eventMap xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
<event name="wrapperEvent">
<producer region="*">
<consumer handler="handleEvent"/>
</producer>
17 of 18 2/10/2017 7:32 PM
Running an ADF Task Flow in a Popup - Oracle Wiki - Oracle - Toad World http://www.toadworld.com/platforms/oracle/w/wiki/11169.running-an-ad...
</event>
</eventMap>
wrapperEvent
18 of 18 2/10/2017 7:32 PM