Inline popup restriction
Hi,
I am using JDev 11.1.1.4 and for re usability issues I have constructed a task flow in which I have some sort functionality in a jspx page (for this task flow, behavior is set to start a new transaction and 2 task flow returns are used: one for cancel(rollback), the other for save(commit) ), and this task flow is launched as an inline popup when pressing a button. This works ok when I am launching it from the main jspx page, but we decided that we need to use it also in other places, like from within another inline popup(which is constructed in the same way).
The problem is that when trying to launch the inline popup from another inline popup by pressing the button, an error will appear saying that a transaction is already open, so it cannot start another one. I have tried to make some adjustments and change the behavior of my reusable popup to use the existing transaction. In this case I am able to open my nested popup, I can work on it, but when pressing the Save button it won't actually commit anything into the database because it actually uses the existing opened transaction(the one that belongs to the inline popup that launched my reusable inline popup), which will end only when the parent popup is closed.
Do you have any idea if it's possible to launch an inline popup constructed the way I described above from within another inline popup constructed in the same way and what behavior both of the task flows should have?
Thanks,
Georgiana
Hi,
How can apply multiple skin with oracle adf ? that was I asked..
JDeveloper : 11.1.1.6
pls help me...
Edited by: 960539 on Sep 23, 2012 10:11 PM
Similar Messages
-
Error 500--Internal Server Error while opening a taskflow in inline popup
Hi,
I am getting "Error 500--Internal Server Error" while opening a bounded taskflow as a popup from another bounded taskflow containing page fragments. The popup taskflow contains jspx pages. I even removed the jspx pages from the popup taskflow to check if the error is resulting from the bindings on the pages but still I get the same error. The entire stack trace of the error in the popup dialog is :
Error 500--Internal Server Error
oracle.adf.controller.ControllerException: ADFC-04008: The BindingContext on the session is null.
at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:208)
at oracle.adfinternal.controller.util.model.AdfmUtil.getBindingContext(AdfmUtil.java:47)
at oracle.adfinternal.controller.util.model.DCFrameImpl.makeCurrent(DCFrameImpl.java:125)
at oracle.adfinternal.controller.state.ViewPortContextImpl.makeCurrent(ViewPortContextImpl.java:1006)
at oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(RequestState.java:159)
at oracle.adfinternal.controller.state.ControllerState.setRequestState(ControllerState.java:900)
at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:355)
at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:105)
at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:551)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhaseEvent(LifecycleImpl.java:147)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchBeforePagePhaseEvent(ADFPhaseListener.java:112)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:59)
at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.beforePhase(ADFLifecyclePhaseListener.java:44)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:258)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Any help is greatly appreciated.
Thanks,
KKHi Frank,
Thanks for the reply. I am using it as an inline popup. I am trying to create command links dynamically in an iterator. When a link is clicked a popup window opens. The text of the link is passed to the popup window by creating a variable in the session scope ( I even tried request scope) by an action listener in the backing bean.
I tried to create another simple application with a static command button which passes its text to popup window through a session scope variable. It worked fine. I am not sure why the same procedure is not working in my original application. Can you give me a hint what could possibly go wrong according the exception stack trace ?
Thanks,
KK -
ADFc: No view port found when using both Browser dialog and TF inline-popup
Hi,
Using JDev 11.1.1.2.
We have a table with data and two commandlinks. One navigates to a task-flow-call configured to "run as dialog" in a modal inline-popup. This opens a modal inline-popup that can be used to modify the data.
The second command link navigates to view (using the dialog: syntax) that opens a second browser window, displaying a jspx that retrieves an image from a servlet.
Both dialogs can be opened and closed multiple times if I use only one of them in a session, but once I have opened the browser dialog popup, opening the inline-popup gives an exception (see below).
The inline-popup actually shows, but instead of the taskflow inside it it shows "The website cannot display the page".
From debugging the source code, I see that the StateInstanceIdFromRequest (ControllerState:288) when opening the inline-popup is the ctrl-state from the main browser window address bar, r01nnp3js_9.
Then when the taskflow inside the inline-popup is opened, the StateInstanceIdFromRequest is r01nnp3js_13. If I open and close the inline-popup multiple times, this instanceid stays the same.
Until I open the browser dialog window with the second commandlink, the StateInstanceIdFromRequest for the view inside this dialog window is r01nnp3js_31, matching the ctrl-state from the dialog window address bar.
After closing the browser dialog window and clicking the first commandlink, the inline-popup shows but the StateInstanceIdFromRequest for the taskflow inside it is no longer r01nnp3js_13, but r01nnp3js_31!!
This is the InstanceID from the browser window that was closed!! This is incorrect and I think that the wrong StateInstance is looked up (ControllerState:304).
This results in an NPE (ControllerState:330) because the CurrentViewPort (looked up from mAllViewPorts with the wrong currentViewPortContextId) is null.
This is the stacktrace:<ControllerState><getViewPort> ADFc: No view port found with ID 'r01nnp3js_32'.
<ControllerState><getViewPort> ADFc: No view port found with ID 'r01nnp3js_32'.
08-jun 10:53:16 DEBUG 2/avravr001 (MnSessionContextFilter) ----- REQUEST START ----
08-jun 10:54:31 DEBUG 2/avravr001 (MnSessionContextFilter) ----- UNCAUGHT UNCHECKED EXCEPTION DURING REQUEST: NullPointerException, null ----
08-jun 10:54:31 DEBUG 2/avravr001 (MnSessionContextFilter) ----- REQUEST END ----
<8-jun-2010 10:54:31 uur CEST> <Error> <HTTP> <BEA-101017> <[ServletContext@12329770[app:KlantbeeldPME module:KlantbeeldPME path:/KlantbeeldPME spec-version:2.5 version:V2.0], request: weblogic.servlet.internal.ServletRequestImpl@f0f81e[
GET /KlantbeeldPME/faces/adf.dialog-request?_adf.ctrl-state=yg04i5vly_47&_rtrnId=1275987194538&__ADFvDlg__=true&_afrLoop=2956086037750&_afrWindowMode=0&_afrWindowId=_adfvdlg HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Referer: http://127.0.0.1:7101/KlantbeeldPME/faces/adf.dialog-request?_adf.ctrl-state=yg04i5vly_47&_rtrnId=1275987194538&__ADFvDlg__=true
Accept-Language: nl
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Cookie: JSESSIONID=H5k3MTDDTCpbCqjPhf1pWyJ2tsl3JBC3PTDXpQVzh8Fx74BJdLk6!1966224151
]] Root cause of ServletException.
java.lang.NullPointerException
at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:330)
at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:101)
at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:551)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhaseEvent(LifecycleImpl.java:147)
Truncated. see log file for complete stacktrace
>
<8-jun-2010 10:54:31 uur CEST> <Notice> <Diagnostics> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'DefaultServer' has triggered at 8-jun-2010 10:54:31 uur CEST. Notification details:
WatchRuleType: Log
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
WatchData: DATE = 8-jun-2010 10:54:31 uur CEST SERVER = DefaultServer MESSAGE = [ServletContext@12329770[app:KlantbeeldPME module:KlantbeeldPME path:/KlantbeeldPME spec-version:2.5 version:V2.0], request: weblogic.servlet.internal.ServletRequestImpl@f0f81e[
GET /KlantbeeldPME/faces/adf.dialog-request?_adf.ctrl-state=yg04i5vly_47&_rtrnId=1275987194538&__ADFvDlg__=true&_afrLoop=2956086037750&_afrWindowMode=0&_afrWindowId=_adfvdlg HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Referer: http://127.0.0.1:7101/KlantbeeldPME/faces/adf.dialog-request?_adf.ctrl-state=yg04i5vly_47&_rtrnId=1275987194538&__ADFvDlg__=true
Accept-Language: nl
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Cookie: JSESSIONID=H5k3MTDDTCpbCqjPhf1pWyJ2tsl3JBC3PTDXpQVzh8Fx74BJdLk6!1966224151
]] Root cause of ServletException.
java.lang.NullPointerException
at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:330)
at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:101)
at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:551)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhaseEvent(LifecycleImpl.java:147)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchBeforePagePhaseEvent(ADFPhaseListener.java:112)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:59)
at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.beforePhase(ADFLifecyclePhaseListener.java:44)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:258)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)What are my options here? How can I influence the ctrl-state of an inline-popup? Can a browser dialog window be disposed somehow and would that matter?
oracle.adfinternal.controller.state.ControllerState is an adfinternal class, what is the best way to hook into this and fix it?
Thanks and regards,
GerbenThanks Frank. I'm not sure how to do that, but I'll create a SR on the SID of my customer and refer to this thread.
regards,
Gerben -
Task flow-call as a Dialog with inline-popup issue JDev 11.1.1.2.0
I have a very serious issue with task flow-call running as a Dialog with inline-popup
have bunch of data driven table components pointing to pageDefs with Iterators
the problem is, the dialog comes first with nothing in it (blank) and it takes 3-5 seconds to fetch all views,
this is useless, there is no option to control taskflow-call activation , like you do for af:region
For reference : I am talking about this : http://jobinesh.blogspot.com/2010/08/refresh-parent-view-when-in-line-popup.html
Download the workspace , connect as HR Schema and you will see what I am talking about
looks really dumb, it would make sense to show dialog with data all at once, rarther than looking at blank screen to wait for the data to show up
Edited by: user626222 on Sep 20, 2010 8:57 AM
can I call this a bug?
Edited by: user626222 on Sep 20, 2010 1:58 PM
sometimes I wonder if anyone tested this, as soon as you have some data driven components on your page, you get all sorts of problems in ADF
But something simple, Adf client side invokes the Dialog as a popup first, and then it thinks oh ya I get massive pageDef to load, so end-user customer will stare at the blank screen for 10 secs , hoping that something will come up or program is crashed
Well, I am afraid to say you lost your customer :(
Edited by: user626222 on Sep 20, 2010 2:29 PM
Edited by: user626222 on Sep 20, 2010 2:35 PM
Edited by: user626222 on Sep 20, 2010 2:35 PM
Edited by: user626222 on Sep 20, 2010 2:36 PMok, knowing this fact, I want to show some kind of status indicator during the wait time.
Unfortunately, putting af:statusIndicator does not work untill after entire page loads
<?xml version="1.0" ?>
<?Adf-Rich-Response-Type ?>
<content action="/EmpApp/faces/displayEmployees.jspx?_adf.ctrl-state=5plp6ahes_72">
<fragment><![CDATA[<span id="f1::postscript"><input type="hidden" name="javax.faces.ViewState" value="!-e8tyzkiuc"></span>]]>
</fragment>
<fragment>
<![CDATA[<div id="afr::DlgSrvPopupCtnr::content" style="display:none"><div id="j_id12" style="display:none">
<div style="top:auto;right:auto;left:auto;bottom:auto;width:auto;height:auto;position:relative;" id="j_id12::content">
<div id="j_id13" class="x142"><div class="x157" _afrPanelWindowBackground="1"></div>
<div class="x157" _afrPanelWindowBackground="1"></div><div class="x157" _afrPanelWindowBackground="1">
</div><div class="x157" _afrPanelWindowBackground="1"></div>
<table cellpadding="0" cellspacing="0" border="0" summary="" class="x146">
<tr>
<td class="p_AFResizable x148" id="j_id13::_hse"> </td>
<td class="p_AFResizable x14a" id="j_id13::_hce"><table cellpadding="0" cellspacing="0" border="0" width="100%" summary=""><tr>
<td><div id="j_id13::_ticn" class="x151"><img src="/EmpApp/afr/task_flow_definition.png" alt=""></div></td><td class="x14e" id="j_id13::tb">
<div id="j_id13::_ttxt" class="xz8"></div></td><td>
<div class="x153"><a href="#" onclick="return false" class="xz7" id="j_id13::close" title="Close"></a></div></td></tr></table></td><td class="p_AFResizable x14c" id="j_id13::_hee"> </td></tr><tr><td class="p_AFResizable x14j" id="j_id13::_cse"> </td>
<td class="p_AFResizable x14g" id="j_id13::contentContainer">
<div id="j_id13::_ccntr" class="x14h" style="width:700px;height:430px;position:relative;overflow:hidden;">
<div id="j_id14" class="xne" style="position:absolute;width:auto;height:auto;top:0px;left:0px;bottom:0px;right:0px">
<iframe _src="javascript:'<html><head><title/></head>
<body/>
</html>'" src="javascript:''" frameborder="0" style="position:absolute;width:100%;height:100%">
</iframe>
</div></div></td><td class="p_AFResizable x14l" id="j_id13::_cee"> </td></tr><tr><td class="p_AFResizable x14n" id="j_id13::_fse"><div></div></td>
<td class="p_AFResizable x14p" id="j_id13::_fce">
<table cellpadding="0" cellspacing="0" border="0" width="100%" summary=""><tr>
<td class="p_AFResizable x14u" id="j_id13::_fcc"></td><td align="left" valign="bottom"><div class="p_AFResizable x14y"><a tabIndex="-1" class="x14w" id="j_id13::_ree" title="Resize"></a></div></td></tr></table></td><td class="p_AFResizable x14r" id="j_id13::_fee">
<div></div></td>
</tr></table></div></div></div></div>]]>
</fragment>
<script-library>/EmpApp/afr/partition/gecko/default/opt/frame-SHEPHERD-PS1-9296.js</script-library>
This is how it launches the taskflow-call, so there is no way to control this behaviour from the calling taskflow's jspx, feels very closed system,why ADF is not making this behavior Open by some kind of client listener,
<script>
<![CDATA[AdfDhtmlLookAndFeel.addSkinProperties({"AFPopupSelectorFooterStart":"x11b","AFPopupSelectorHeader":"x114","af|panelWindow-tr-open-animation-duration":"300","AFPopupSelectorHeaderStart":"x115","AFPopupSelectorContentEnd":"x119","AFPopupSelectorContent":"x117","af|panelWindow::resize-ghost":"x144","AFPopupSelectorContentStart":"x118","AFPopupSelectorFooter":"x11a","AFPopupSelectorFooterEnd":"x11c","AFPopupSelectorHeaderEnd":"x116","AFPopupSelector":"x110",".AFPopupSelector-tr-open-animation-duration":"200"});AdfPage.PAGE.addComponents(new AdfRichPopup('j_id12',{'_dialogURL':'/EmpApp/faces/adf.dialog-request?_adf.ctrl-state=5plp6ahes_76&_rtrnId=1285074907739&__ADFvDlg__=true','_inlineFrameId':'j_id14','_launchId':'r1:0:cb2','_panelWindowId':'j_id13','_rtnId':'1285074907739','contentDelivery':'immediate'}),new AdfRichPanelWindow('j_id13',{'modal':true,'resize':'on','stretchChildren':'first'}),new AdfRichInlineFrame('j_id14',{'source':'javascript:\'\x3chtml>\x3chead>\x3ctitle/>\x3c/head>\x3cbody/>\x3c/html>\''}));AdfPage.PAGE.clearMessages();AdfPage.PAGE.clearSubtreeMessages('r1');]]>
</script>
AdfDhtmlRichDialogService.getInstance().launchInline there is no way for me to put af:statusindicator for the wait time using this way
<script>AdfDhtmlRichDialogService.getInstance().launchInline('j_id12');*</script>
</content> -
Updated (VORowImpl ) values are not reflected in inline POPUP table
Hi Expert,
Currently i am getting exception when i try to update my iterator binding,
Here is my use case,
I have view object displayed inside the inline popup as a table. When i modify one of the cell i am firing the value change listener and it is called the ViewObjectRowImpl class method. Inside the method i do some computation (i am executing some DB query to get back some value). After the query execution i am updating the other columns data based on the changes.
First i have PPR the table and check out the update values. Unfortunately the change values are not reflected.
Then i used the following code
DCIteratorBinding itrBinding = findIteratorBinding("EmployeeVO1Iterator");
if (itrBinding != null) {
itrBinding.executeQuery();
itrBinding.refresh(DCIteratorBinding.RANGESIZE_UNLIMITED);
Now i am getting the " JBO-25003: Object EmployeeMgmtAM of type ApplicationModule is not found."
May i know what went wrong? Am i missing anything. May i know how can i refresh the UI table based on the updated VORowImpl. Looking forward hints.
ThanksThanks Frank, Actually i am accessing the client method as follows,
DCIteratorBinding itrBinding = findIteratorBinding("EmployeeVO1Iterator");
if (itrBinding != null) {
EmployeeVORowImpl employeeVO = (EmployeeVORowImpl)itrBinding.getCurrentRow();
empoyeeVO.methodName();
May i know what is the different between accessing the method as shown above and access via the MethodBinding?
How about access the attribute of the View object using the above approach? i.e empoyeeVO.getName() like ....
Also i have configure the ADF looger to finest level and found the primary reason to "Applicaiton module not found" was some entity validation. But this not always happened. Same test case works fine and fails sometimes. I am clueless. Could you please throw some light.
Thanks
Edited by: user1022639 on Feb 7, 2012 5:24 PM -
Issue with nested inline popup taskflow while try to return back to parent.
Hi Adf Experts,
I have been facing one issue. Would you please give me how can I solve this issue which address my scenario. I greatly appreciate your help.
My Scenario:
I have ViewA which opens inline popup page ViewB. On ViewB also have another inline PopUp page ViewC (i.e. nested inline popup). On ViewB, there is back button which taskFlow return call and navigate back to ViewA. I need to implement same Back trigger event from ViewC (Back Button)to ViewA. For this, I am using ReturnListener on ViewB button which opens ViewC inline page. On returnListener, I have used ViewB back button ActionEvent queue. like:
RichCommandButton buttonBack;
public void onReturn( ReturnEvent returnEvent )
ActionEvent ae = new ActionEvent(buttonBack);
buttonBack.queueEvent( ae );
Output Scenario:
While running from ViewB, it fires same Back Button action from ViewC back button. No issue at all.
But when I run from ViewA upto ViewC page and on fire back button, I have been facing issue like below.
<LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
java.lang.NullPointerException
at oracle.adfinternal.controller.application.AdfcDirtyPageHandler.getUncommittedDataWarning(AdfcDirtyPageHandler.java:38)
at oracle.adfinternal.view.faces.context.DirtyPageContextImpl$1.invokeContextCallback(DirtyPageContextImpl.java:74)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1410)
at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
<RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #3
java.lang.NullPointerException
at oracle.adfinternal.controller.application.AdfcDirtyPageHandler.getUncommittedDataWarning(AdfcDirtyPageHandler.java:38)
at oracle.adfinternal.view.faces.context.DirtyPageContextImpl$1.invokeContextCallback(DirtyPageContextImpl.java:74)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1410)
at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
at oracle.adfinternal.view.faces.context.DirtyPageContextImpl.initDirtyPageContext(DirtyPageContextImpl.java:58)
at oracle.adfinternal.view.faces.context.RichPhaseListener.beforePhase(RichPhaseListener.java:252)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:278)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
...........Hi,
I have a similar issue.
I have a page (search page) from where i open another dynamic tab(UI dynamic tab shell pattern).
In this second tab, I open a new jspx using "dialog:open" in my taskflow (of the second tab).
Now when I navigate to my first tab with advanced search and try executing my search, a managed bean method is called where I have a line of code as follows:
DCIteratorBinding statusIter = (DCIteratorBinding)getBindings().get("myIterator");
At this line the statusIter comes as "null" and hence my search fails with the following exception:
<LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
javax.faces.el.EvaluationException: java.lang.NullPointerException
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:58)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:312)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: java.lang.NullPointerException
at com.guycarp.soa.mf.ui.bean.MessageTrackingListBean.createAndExecuteMessageTrackingSearchCriteria(MessageTrackingListBean.java:228)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
... 50 more
<RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #3
javax.servlet.ServletException
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
Is there any specific setting which should be done in a taskflow or a page which opens another page using dialog:openwindow?? And why does this effect any other taskflow?
Any pointers to resolve this are appreciated.
Thanks in Advance!
-Swapna -
Client Attributes are not coming in Inline Popup
Hi All,
I have created an Inline popup which will show when user hovers the full name of an employee. The code which i have designed is
<af:outputText value="#{row.FullName}" id="ot2" clientComponent="true">
<af:clientAttribute name="DOB" value="#{row.DateOfBirth}"/>
<af:clientAttribute name="FullName" value="#{row.FullName}"/>
<af:clientAttribute name="Email" value="#{row.EmailAddress}"/>
<af:showPopupBehavior popupId="p2" triggerType="mouseHover"
align="endAfter" alignId="ot2"/>
</af:outputText>
<af:popup autoCancel="disabled" id="p2" contentDelivery="lazyUncached"
launcherVar="source" eventContext="launcher">
<af:noteWindow id="nw1">
<af:panelFormLayout id="pfl1">
<af:panelLabelAndMessage label="FullName" id="plam1">
<af:outputText value="#{viewScope.FullName}" id="ot4"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="DateOfBirth" id="plam2">
<af:outputText value="#{viewScope.DateOfBirth}"
id="ot5"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage label="Email" id="plam3">
<af:outputText value="#{viewScope.EmailAddress}"
id="ot6"/>
</af:panelLabelAndMessage>
<f:facet name="footer"/>
</af:panelFormLayout>
</af:noteWindow>
<af:setPropertyListener from="#{source.attributes.EmailAddress}"
to="#{viewScope.EmailAddress}"
type="popupFetch"/>
<af:setPropertyListener from="#{source.attributes.FullName}"
to="#{viewScope.FullName}"
type="popupFetch"/>
<af:setPropertyListener to="#{viewScope.DateOfBirth}"
from="#{source.attributes.DateOfBirth}"
type="popupFetch"/>
</af:popup>
</af:panelGroupLayout>
</af:iterator>
</af:panelGroupLayout>
but i get only FullName in my popup.DOB and Email never comes up. I have made sure that DOB or Email data is present for the employee i'm hovering.
Any idea why am i not getting other values?Thanks FrankNimphius. But it worked with client attribute !!!
<af:clientAttribute name="Email" value="#{row.EmailAddress}"/>
and
listener
<af:setPropertyListener from="#{source.attributes.EmailAddress}"
to="#{viewScope.EmailAddress}"
type="popupFetch"/>
names were not matching. so i changed to
<af:setPropertyListener from="{source.attributes.email}"
to="#{viewScope.EmailAddress}"
type="popupFetch"/>
it worked -
ScrollBar Behaviour of ADF Taskflows rendered as Inline Popup
Hi All,
I am using Jdeveloper 11.1.1.5.
I have created a bounded Taskflow and then i have used two other taskflow in my current taskflow as Inline Popup.Functionality wise everything works fine but if my given taskflow size i.e the window width and height parameters are small then the page content then automatically the Scroll bar comes into the Taskflow at runtime.
It is good to have a scroll bar automatically but it doesn't work in a correct manner. When my page render , the scroll bar is situated at the edges of the taskflow .Now if i go down , automatically scroll happens and comes to the default position.
This makes users bit in a hazy situation. I don't want the scrollbar in the ADF Taskflow which rendered as Inline Popup.I want the scrollBar inside thr page which can help users to do scroll in a proper way.
Is there any way to achieve this ?
Regards,
ShahHi All,
Any suggestions please on this.
Regards,
Shah -
Taskflow as inline popup causes issues while returning..
Hi,
I am using 11gr1p1. I have an ADF application where I have a bounded taskflow I call as inline popup. And in the popup I return from the taskflow ..
Everything works fine when I launch my app within JDeveloper or when I launch it directly.
It fails when I call the ADF application from a different web page by opening it in a new window. In this case when I click the button in the inline popup to return from the taskflow I got an error in the IE's log as below..
Line :1
Char:86
Error : Access is denied.
Any help will be great, we spent quite a time to make this work ...
Test page to launch the ADF app
<html>
<head>
</head>
<body>
<div >
<p ><a href="http://msoyerxp:7101/PopupTest-ViewController-context-root/faces/adf.task-flow?adf.tfId=tf-main&adf.tfDoc=/WEB-INF/tf-main.xml" target="_blank" > Test </a></p>
</div>
</body>
</html>Main taskflow
<?xml version="1.0" encoding="UTF-8" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
<task-flow-definition id="tf-main">
<default-activity id="__1">MainPage</default-activity>
<view id="MainPage">
<page>/MainPage.jspx</page>
<redirect/>
</view>
<task-flow-call id="tf-popup">
<task-flow-reference>
<document>/WEB-INF/tf-popup.xml</document>
<id>tf-popup</id>
</task-flow-reference>
<run-as-dialog>
<display-type id="__7">
<inline-popup/>
</display-type>
</run-as-dialog>
</task-flow-call>
<control-flow-rule id="__2">
<from-activity-id id="__3">MainPage</from-activity-id>
<control-flow-case id="__5">
<from-outcome id="__6">Popup</from-outcome>
<to-activity-id id="__4">tf-popup</to-activity-id>
</control-flow-case>
</control-flow-rule>
<visibility id="__8"/>
</task-flow-definition>
</adfc-config>Task flow that I call as inline popup
<?xml version="1.0" encoding="UTF-8" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
<task-flow-definition id="tf-popup">
<default-activity id="__1">PopUpPage</default-activity>
<view id="PopUpPage">
<page>/PopUpPage.jspx</page>
<redirect/>
</view>
<task-flow-return id="taskFlowReturn1">
<outcome id="__17">
<name>taskFlowReturn1</name>
</outcome>
</task-flow-return>
<control-flow-rule id="__20">
<from-activity-id id="__21">PopUpPage</from-activity-id>
<control-flow-case id="__22">
<from-outcome id="__24">Return</from-outcome>
<to-activity-id id="__23">taskFlowReturn1</to-activity-id>
</control-flow-case>
</control-flow-rule>
<visibility id="__8"/>
</task-flow-definition>
</adfc-config>Main Page
<f:view>
<af:document id="d1">
<af:form id="f1" targetFrame="_self">
<af:panelSplitter orientation="vertical" splitterPosition="50" id="ps1">
<f:facet name="first">
<af:panelFormLayout id="pfl1">
<f:facet name="footer"/>
<af:commandButton text="Open Popup" id="cb1" action="Popup" useWindow="true"
windowEmbedStyle="inlineDocument" windowHeight="300"
windowWidth="400"/>
</af:panelFormLayout>
</f:facet>
<f:facet name="second">
<!-- id="af_one_column_header_stretched_with_splitter" -->
</f:facet>
</af:panelSplitter>
</af:form>
</af:document>
</f:view>Popup Page
<f:view>
<af:document id="d1">
<af:form id="f1">
<af:panelSplitter orientation="vertical" splitterPosition="50" id="ps1">
<f:facet name="first">
<af:commandButton text="Return1" id="cb1" action="Return" partialSubmit="true"/>
</f:facet>
<f:facet name="second"/>
</af:panelSplitter>
</af:form>
</af:document>
</f:view>That is the problem actually. When I run the link directly it works fine. But I need to launch the ADF application from a non-ADF app which is not hosted on WLS.
The scenario above was just to simplify the problem...
Is there any security settings etc that may cause this ?
Thanks -
Help need on Validations in inline-popup task flow
Hi,
I create a adf application, which refer ready only table and in toolbar, there are some button, which used to insert and edit records. For insert and edit i used a edit.jspx page which come as a inline poup in taskflow. In inline popup i used a button called submit, which used for two purposes.
1) To validate two fields(ex:- effectiveto should be greather than effectivefrom)
2) To close inline popup.
i have done the validaitons using a managedbean and facesconfig.xml validators. My problem is can i do this both requirements by pressing only submitt button, i mean if validation are passed then automatically close the popup.
Really appreciate if anyone can help me on this issue.
Yaham.Hi,
use the button "action" or "action listener" property to close the popup. Validation is processed after the apply request phase in the JSF lifecycle and thus comes before actions to be executed, which will be in invoke application phase.
Frank -
Inline popup - close icon null pointer issue
Hi all,
I have a taskflow which is opened as inline popup dialog. Taskflow is in pageFlowScope.
The popup has OK, Cancel. On click of OK and Cancel of dialog it returns a value.
However when I click on Close icon "x" of dialog and return to the calling parent window and try to get the any iterator from the binding container, the iterators are all null.
I am missing something in my configuration.
Thanks
AjayHi,
actually clicking teh 'x' does nothing than closing the dialog.
However when I click on Close icon "x" of dialog and return to the calling parent window and try to get the any iterator from the binding container, the iterators are all null.
What is the code you use and where and when do you call this code ? And what JDeveloper version are you working with ?
Frank -
Inline popup sending contextual event to calling taskflow?
Is it possible?
Because of the returnListener not firing consistently, I was thinking of using contextual events. I am not sure, however, if that will work.
11.1.1.4
Basically I have a link, opens an inline popup to display a task flow as JSPX. Upon clicking on the okay button there, I want to fire an contextual event back to the
parent to refresh it's data.Hi,
yes, this should work because the calling task flow also remains active
Frank -
Hi,
I read in Oracle JDeveloper and Oracle ADF 11g Release 1 Patch Set 3 (11.1.1.4.0): New Features and Bug Fixes:
"Dialog Framework: Capability of disabling the default cancellation actions applied to the entire web application for full page task flows ran as inline popup dialogs."
I search the function in the current JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923 but I can't find it.
Can I define this in the taskflow? Or in the when I use the taskflow in another taskflow an define this as "run-as-dialog"?duplicate of 11.1.1.4.0 - inline popup: disabling the default cancellation action...
-
Hi,
I want to apply css for inline popup.
I gave below styles
af|panelWindow::header{
background-image: none;
background-color:#58585A;
af|panelWindow::header-start{
background-image: none;
background-color:#58585A;
If I give above styles its applying for all panel window. But I don't want it. I tried with multiple skin approach its also not working.
I want to apply for inline popup which I selected through taskflow.
In taskflow, I gave Run as Dialog as true and Display type is inline-popup.
Here, How do I give styles for inline- popup while coming inline-popup?.
please , Help me
Thanks in advance. :)Hi,
How can apply multiple skin with oracle adf ? that was I asked..
JDeveloper : 11.1.1.6
pls help me...
Edited by: 960539 on Sep 23, 2012 10:11 PM -
How to invoke task flow navigation after closing inline popup?
Using JDev 11.1.1.3; I have a commandButton that currently executes task flow navigation when pressed. I need however to invoke an inline popup from the button press before executing (conditionally) the task flow navigation. The Action setting on the button then needs to be removed, but it's not clear where to reinstate it. I have the button executing some managed bean code, which conditionally invokes the inline popup, and when the popup (contains af:dialog) is closed, I have some more managed bean code that determines whether the task flow navigation should occur or not. What I need to know is how to fire off the Action from the managed bean. Any suggestions?
Thanks,1. To add to Timo's solution:
you can call those code from DialogListener like:
public void dLstnr(DialogEvent dle){
if("ok".equalsIgnoreCase(dle.getOutcome().toString())){
FacesContext context = FacesContext.getCurrentInstance();
NavigationHandler nh = context.getApplication().getNavigationHandler();
System.out.println("1");
nh.handleNavigation(context, "", "go");
2. As another solution:'
you can have custom buttons and on one of then (say OK or Yes) you can call bean method like this as Action:
public String actionMethod(){
// DO YOUR LOGIC
return "NEXT_TARGET";
for Other button (say Cancel, NO) just close the popup.
Amit
Maybe you are looking for
-
I am creating a simple querying mechanism for a remote database. I have composed an HTML page with two controls, a text box (txtTitle) and a text area (txtQuery) that take as input the title of a report and the SQL query to generate it, respectively.
-
From various merges I have done, i have about a thousand(s) duplicates in my address book that I am trying to zap. When I run the look for duplicates feature, it searches for a while but eventually the whole thing crashes. I've tried about 20 differe
-
I've got a two part question here... 1) When setting up a new Office 365 service, can the service be started before the AD structure is in place, or must there be a directory server prior to starting service? 2) Is email archiving available? Not jus
-
IPhone 4: Hangup while attempting to sync with iTunes
I have an iPhone 4 that I sync with iTunes and updated my apps via the updates on my phone's AppStore via wireless with no issues at all since I bought he phone when it first came out. Until last evening. I saw that I had about 8 app updates on my p
-
HI For a activity type we are assigning a cost center with a cost element (category 43). when that acitivity is performed the cost element is getting and debited ...i want to know to which cost element the credit will affect and where & how we assign