Implementing menus in ADF

Hello,
i want to implement an application menu using adf. i use a menubar, commandmenuitems and a menulist.
what i want is, that when clicking on a "item" on the menubar, a list of possible actions should appear.
for example: i click on "edit" and then the list "cut,copy,paste" should appear.
how can i do this using adf?
greetings
sascha

Thanks for the suggestion of placing in managed bean at application level.
If the object is updatable, how can we prevent multiple users from updating at the same time?
thanks

Similar Messages

  • The Excel-Mania - Best Ways of Implementing Excel-Like ADF

    Hello people, good afternoon!
    I would like to share with you a doubt i have implementing complex, matrix-like forms in ADF. More often than i'd like to hear, users ask for input forms that closely resemble Microsoft Excel, where the dimensions are layered both vertically and horizontally, and the intersection between them must contain an input or output component, allowing themselves to rapidly input the data they need or to create a web version of Oracle Reports' Matrix Report. Some cases are:
    1) The user wishes to associate the employees (located in table EMPLOYEES) to the projects (located in table PROJECTS) in a screen that lays out the employees as columns and the projects as rows in a table. The intersection between them must contain a checkbox, which will insert a third record when selected, on a table called EMP_PROJ, which associates the employees to the projects.
    2) The user wishes to input a timecard in a time control system. This system must have a screen that shows the days in the week as columns, and the projects the employee is working on as rows. On the intersection, we must provide an input text where he will enter the hours he worked on that specific project on that day.
    3) The user wishes to see a screen that shows the Open Auctions they have in a Purchasing system as rows in a table, crossed with the suppliers that have bidded on these (as the columns). The intersection must contain the price each supplier bidded on each Auction.
    As you can see, i run across this requirement A LOT =). And, as much as i have polished my "Web-Like-Applications-Are-Not-Like-This" and "You-Are-Not-Working-With-Excel" speeches, our beloved users never learn ;)
    Nevertheless, i have been looking for a consistent way to implement this behavior, and i have found some options along the way. I would like to know your impressions on this matter, and if you have any "Best-Practices" that you imagine for this case.
    CASE 1: Creating a Dynamic, On-The-Fly View Object by using ADF BC APIs and using af:table component to do the trick on the page
    PROS: Less work in the View layer, Preservation of the Table CSS Layout (very nice blue header and light brown cells)
    CONS: A LOT of work on the BC layer, creates an awful lot of View Objects, and generates tons of java code on the Application Modules.
    CASE 2: Creating the model as usual and working with repeating layouts on ADF Faces (for example, enclosing an af:cellFormat on an af:forEach to repeat each column)
    PROS: Simplifies the BC layer, making it much cleaner and maintainable.
    CONS: Loses a lot of the declarative wonders of ADF Faces and also the CSS Layouts, since we are using cellFormat, rowLayout and tableLayout instead of table tag we have to manually apply the styles to the columns and rows.
    Of course, both implementations take an awful lot of time. Any other implementation styles are quite welcome (ADF Wizards, step in!)
    Anyone wants to discuss better ways of doing it?
    Best Regards,
    Thiago Souza

    Well, you could do the following:
    1) Create a stored procedure that assembles the data into a rowset with rows and fields like the format you want.
    2) Create stored procedures that handle insert, update, and delete.
    3) Create an entity object definition with all transient attributes. Make the attributes match the elements of one row.
    4) Override doDML() in the entity object class to call your procedures (the doc explains how to do this). You might also need to do a bit of research and figure out if you need to override some other method so you can report rows with transient attribute changes only as needing posting. (getPostState(), maybe?)
    5) Create a view object definition with entity-derived attributes based on your EO attributes.
    6) Override the appropriate methods to call your data assembly procedure rather than execute a query (this is also in the doc).
    Still kind of kludgy, but it keeps your business components pretty clean, especially if you use framework classes to do most of the work for you. (I have a partial example of how to do that here.) Of course, it keeps your business components clean by moving the real work to the DB, but some people find that more maintainable that a kazillion business components.
    Hope this helps,
    Avrom

  • Implementing Security For ADF Pages when integrated with Oracle APPS

    Hi,
    Can anyone please let me know the solution to the below problem ?
    I have an ADF application that is deployed on a weblogic server. An URL is generated to access the ADF Pages.
    I have created one more simple jsp (Launch.jsp) which redirects to this URL on page load.
    I am using Oracle APPS where:
    ->I registered a form function referring to Launch.jsp
    ->I am referring form function in a responsibility , attaching that to a menu
    ->When the valid oracle user logs in, I am sending all oracle apps environment variables (User id , Responsibility id, application id ) for that session
    What my issue is :
    ->The URL along with the parameters that I am sending from the Launch.jsp to the ADF Page is visible to the user. So, even if the Oracle APPS user has not logged in, anybody who knows the URL can access the ADF Pages.
    ->So, Is there any way to implement the security so as, even if anyone knows the URL of the ADF Page cannot access the ADF Pages without the valid user being logged-in through the Oracle APPS.
    I am using Jdeveloper 11g.
    Please let me know if you need anymore details.
    Thanks in advance,
    Kavitha

    Please help me out if anyone has a solution to this problem.
    Thanks,
    Kavitha

  • Issue implementing PhaseListner in ADF

    Hi Friends,
    By referring the solution to create phaselistner in ADF at how we can create phaselistener...... plz help me I created listner class and added the entry in faces-config.xml. I restrted the weblogic server after modifying the xml. However, it is not working for me. Could someone suggest what I am missing here?
    RequestListner .java
    package com.bmc.crms.listner;
    import javax.faces.event.PhaseEvent;
    import javax.faces.event.PhaseId;
    import javax.faces.event.PhaseListener;
    public class RequestListner implements PhaseListener{
    @SuppressWarnings("compatibility:-6115882569671806271")
    private static final long serialVersionUID = -3616287763993951473L;
    * @param phaseEvent
    public void afterPhase( PhaseEvent phaseEvent) {  
    System.out.println("++++++++ afterPhase ++++++++ " );
    public void beforePhase(PhaseEvent phaseEvent){  
    System.out.println("++++++++ beforePhase ++++++++ " );
    public PhaseId getPhaseId()
    return PhaseId.RESTORE_VIEW;
    faces-config.xml entry:
    <lifecycle>
    <phase-listener>com.bmc.crms.listner.RequestListner</phase-listener>
    </lifecycle>

    After adding the Phase listner I get the following error in the diagnosis file.
    My application has one login page which creates task going thru the authentication which was working fine. I am now trying to implement the Listner through which I want to get the roles for the user.
    After adding the listner something got broken. The login page is taking me to the same page after entering the username /password. I am using JDev 11.1.1.4.0 and weblogic 10.3
    [ERROR] [] [org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: afulamba] [ecid: 004cBC2z7Ca3r2k6wzFg6G0007kG000Cil,0:1] [APP: worklistapp] [URI: /integration/worklistapp/faces/home.jspx] [[
    oracle.adf.controller.ControllerException: ADFC-00025: The ADF controller has not been successfully initalized.
         at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:208)
         at oracle.adfinternal.controller.application.AdfcAppInitializer.initialize(AdfcAppInitializer.java:92)
         at oracle.adfinternal.controller.state.ControllerState.<init>(ControllerState.java:166)
         at oracle.adfinternal.controller.state.ControllerState.initializeRequest(ControllerState.java:783)
         at oracle.adfinternal.controller.state.ControllerState.initializeRequest(ControllerState.java:754)
         at oracle.adfinternal.controller.application.AdfcConfigurator.beginRequest(AdfcConfigurator.java:50)
         at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._startConfiguratorServiceRequest(GlobalConfiguratorImpl.java:562)
         at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:212)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:155)
         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 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.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         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 oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         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 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

  • How to implement ajax at ADF table column or ADF table column button.

    I want to use ajax in table column selection. I have two table. One is master table and second one is detailed table. I have requirement to click master table column and display data in detail table column against the master table column.
    let assume i have two tables 1.
    <af:form id="f1">
    <af:panelSplitter id="ps1" orientation="vertical">
    <f:facet name="first">
    <af:table value="#{radionBean.generatedData}" var="item" columnSelection="single" rowBandingInterval="0"
    id="tableData">
    <af:column sortable="false" selected="true" headerText="Ticket No" align="start" id="c1">
    <af:outputText value="#{item.ticketno}" id="ot1"/>
    </af:column>
    <af:column sortable="false" headerText="Requestor" align="start" id="c2">
    <af:outputText value="#{item.requestor}" id="ot2"/>
    </af:column>
    <af:commandButton text="More" id="cb1" action="#{radionBean.myrow}">
    <f:ajax execute="@this" render=":f1:detailTableData"/>
    <f:setPropertyActionListener target="#{radionBean.currentrow}" value="#{item}"/>
    </af:commandButton>
    </af:column>
    </af:table>
    </f:facet>
    Second table
    <f:facet name="second">
    <af:table value="#{radionBean.detailData}" var="itemdet" rowBandingInterval="0"
    id="detailTableData">
    <af:column sortable="false" headerText="Ticket No" align="start" id="c21">
    <af:outputText value="#{itemdet.ticketno}" id="ot21"/>
    </af:column>
    <af:column sortable="false" headerText="Date" align="start" id="c22">
    <af:outputText value="#{itemdet.date}" id="ot22"/>
    </af:column>
    </af:table>
    </f:facet>
    </af:panelSplitter>
    </af:form>
    The above is my two table when i run the program i have this exception
    <UIXEditableValue> <_isBeanValidationAvailable> A Bean Validation provider is not present, therefore bean validation is disabled
    <FaceletViewHandlingStrategy> <handleRenderException> Error Rendering View[untitled1.jsf]
    java.lang.IllegalArgumentException
         at org.apache.myfaces.trinidad.component.UIXComponentBase.findComponent(UIXComponentBase.java:708)
         at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getResolvedId(AjaxBehaviorRenderer.java:279)
         at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.appendIds(AjaxBehaviorRenderer.java:269)
         at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.buildAjaxCommand(AjaxBehaviorRenderer.java:214)
         at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getScript(AjaxBehaviorRenderer.java:86)
         at javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:103)
         at oracle.adf.view.rich.render.RichRenderer._encodeClientBehaviors(RichRenderer.java:3740)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1409)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adf.view.rich.render.RichRenderer.encodeChildInContext(RichRenderer.java:3118)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.renderDataCell(BaseColumnRenderer.java:1468)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.encodeAll(BaseColumnRenderer.java:166)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderDataBlockRows(TableRenderer.java:2803)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderSingleDataBlock(TableRenderer.java:2433)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._handleDataFetch(TableRenderer.java:1634)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:560)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:617)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils$EncodeChildVisitCallback.visit(InvokeOnComponentUtils.java:116)
         at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:531)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer._visitFacetAsStretched(PanelSplitterRenderer.java:393)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer._visitFacet(PanelSplitterRenderer.java:371)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer.visitChildrenForEncodingImpl(PanelSplitterRenderer.java:338)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2393)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.visitChildrenForEncodingImpl(DecorativeBoxRenderer.java:214)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2393)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._visitFacetAsStretched(PanelStretchLayoutRenderer.java:856)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._visitFacet(PanelStretchLayoutRenderer.java:834)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.visitChildrenForEncodingImpl(PanelStretchLayoutRenderer.java:793)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at org.apache.myfaces.trinidad.render.CoreRenderer.visitChildrenForEncoding(CoreRenderer.java:228)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncodingImpl(RichRenderer.java:2421)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at org.apache.myfaces.trinidad.render.CoreRenderer.visitChildrenForEncoding(CoreRenderer.java:228)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncodingImpl(RichRenderer.java:2421)
         at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
         at org.apache.myfaces.trinidad.component.UIXDocument.visitTree(UIXDocument.java:82)
         at javax.faces.component.UIComponent.visitTree(UIComponent.java:1496)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:487)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils.renderChild(InvokeOnComponentUtils.java:42)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager._pprComponent(StreamingDataManager.java:756)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager.execute(StreamingDataManager.java:525)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer._encodeStreamingResponse(DocumentRenderer.java:3713)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1475)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at oracle.adfinternal.view.faces.context.PartialViewContextImpl._processRender(PartialViewContextImpl.java:321)
         at oracle.adfinternal.view.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:152)
         at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:974)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652)
         at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
         at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
         at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
         at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1027)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:334)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:232)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
         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:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:122)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         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:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Please reply this.......
    THANK YOU IN AN ADVANCE
    Regards
    Muhammad Khurram
    Edited by: 912134 on Feb 3, 2012 4:28 AM

    I don't think you need the f:ajax tag - you should be able to do the synchronization between the tables with the built-in partial page refresh functionality.
    Just define the partialTrigger property of the second table to point to the firsttable.
    http://docs.oracle.com/cd/E16162_01/web.1112/e16181/af_ppr.htm#BGBEGIDF

  • Implementing internationalization in ADF

    hi ,
    is there any tutoriel to implmente intenationalisation in oracle adf
    my jdev version 11 release 2
    thanks

    I don't think there is a tutorial, but the FOD demo has a section about it and you can read more here:
    http://docs.oracle.com/cd/E16162_01/web.1112/e16181/af_global.htm#CHDGCAFI
    and here:
    http://docs.oracle.com/cd/E16162_01/web.1112/e16182/bcentities.htm#BABJACFB

  • Implementing Singleton in ADF?

    How do I share the same instance of java object across all logged in users in ADF? I would like to do something similar to a singleton pattern in java using ADF.
    Your advice/suggestions will help me.
    thanks

    Thanks for the suggestion of placing in managed bean at application level.
    If the object is updatable, how can we prevent multiple users from updating at the same time?
    thanks

  • How to implement an audit system to track ADF applications DML activity?

    We have implemented a complete audit system for one of our databases in order to keep history for every table and every value that has been modified.
    The solution that we currently have can be split into two discrete parts:
    1. Keeping a record of all connections to the db account
    This is achieved via a table ‘user_sessions’ into which we record data for every session in the database with the help of on-logon and on-logoff triggers and some PL/SQL procedures:
    Column name        |  Explanation
    -------------------|-------------------------------------------
    US_ID              | PK, based on a sequence
    SESSION_ID         | sys_context('USERENV' ,'SESSIONID')  
    USER_NAME          | sys_context('USERENV' ,'OS_USER')
    LOGON_TIME         | when the on-logon trigger fires
    LOGOFF_TIME        | when the on-logoff trigger fires
    USER_SCHEMA        | sys_context('USERENV' ,'SESSION_USER')
    IP_ADDRESS         | sys_context('USERENV' ,'IP_ADDRESS')
    us_id |session_id |user_name|user_sschema|ip_address|logon_time               |logoff_time     
    560066|8498062       |BOB      |ABD         |1.1.1.2   |14-SEP-06 03.51.52.000000|14-SEP-06 03.52.30.000000
    560065|8498061       |ALICE    |ABC         |1.1.1.1   |14-SEP-06 02.45.31.000000|14-SEP-06 04.22.43.0000002. Keeping the history of every change of data made by a given user
    For every table in the account there is a corresponding history table with all of the columns of the original table plus columns to denote the type of the operation (Insert, Delete, Update), start and end time of validity for this record (createtime, retiretime) and us_id (which points to the user_sessions table).
    The original table has triggers, which fire if there is an insert, update or delete and they insert the data into the corresponding history table. For every record inserted into a history table the us_id taken from the user_sessions table is recorded as well, allowing us to determine who has modified what data via the combination of these two tables.
    Below is an example of a table TASKS, the history related triggers and the history table TASKS_HIST.
    At the moment we are developing new applications by using ADF. Since there is an Application Module Pool and Database Connection Pool implemented for the ADF, one connection to the database could be used by several users at different moments of time. In that case the history records will point to a database session logged into the user_sessions table, but we will not know who actually modified the data.
    Could you, please, give us a suggestion, how we can know at any moment of time who (which of our users currently making use of an ADF application) is using a given database connection?
    By way of an example of the problem we are facing, here is how we solved the same problem posed by the use of Oracle Forms applications.
    When the user starts to work with a given Forms application, user_sessions table would attempt to record the relevant information about he user, but since the db session was created by the application server, would in actual fact record the username and ip address of the application server itself.
    The problem was easy to solve due to the fact that there is no connection pooling and when a user opens their browser to work with Forms applications, a db connection is opened for the duration of their session (until they close their browser window).
    In that case, the moment when the user is authenticated (they log in), there is a PL/SQL procedure called from the login Form, which updates the record in the user_sessions table with the real login name and ip address of the user.
    Example of a table and its ‘shadow’ history table
    CREATE TABLE TASKS (
         TASKNAME     VARCHAR2(40),
         DESCRIPTION  VARCHAR2(80)
    ALTER TABLE TASKS ADD (
         CONSTRAINT TASKS_PK PRIMARY KEY (TASKNAME));
    CREATE OR REPLACE TRIGGER TASKS_HISTSTMP
    BEFORE INSERT OR UPDATE OR DELETE ON TASKS
       BEGIN
         HISTORY.SET_OPERATION_TIME('TASKS');
       EXCEPTION
         WHEN OTHERS THEN
           ERROR.REPORT_AND_GO;
    END TASKS_HISTSTMP;
    CREATE OR REPLACE TRIGGER TASKS_WHIST
      AFTER INSERT OR UPDATE OR DELETE ON TASKS
      FOR EACH ROW
      BEGIN
    CASE
          WHEN INSERTING THEN
            UPDATE TASKS_HIST
               SET retiretime = HISTORY.GET_OPERATION_TIME
             WHERE createtime = (SELECT MAX(createtime)
                                   FROM TASKS_HIST
                                  WHERE retiretime IS NULL AND TASKNAME=:NEW.TASKNAME)
               AND retiretime IS NULL AND TASKNAME=:NEW.TASKNAME;
            INSERT INTO TASKS_HIST (TASKNAME      ,DESCRIPTION      ,optype
                                    ,createtime                    
                                    ,us_id)
                   VALUES          (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'I'
                                    ,HISTORY.GET_OPERATION_TIME    
                                    ,USER_SESSION.GET_USER_SESSIONS_ID);
          WHEN UPDATING THEN
            UPDATE TASKS_HIST
               SET retiretime = HISTORY.GET_OPERATION_TIME
             WHERE createtime = (SELECT MAX(createtime)
                                   FROM TASKS_HIST
                                  WHERE TASKNAME=:OLD.TASKNAME) 
               AND TASKNAME=:OLD.TASKNAME;
            INSERT INTO TASKS_HIST (TASKNAME      ,DESCRIPTION      ,optype
                                    ,createtime
                                    ,us_id)
                   VALUES          (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'U'
                                    ,HISTORY.GET_OPERATION_TIME
                                    ,USER_SESSION.GET_USER_SESSIONS_ID);
          ELSE
            UPDATE TASKS_HIST
               SET retiretime = HISTORY.GET_OPERATION_TIME
             WHERE createtime = (SELECT MAX(createtime)
                                   FROM TASKS_HIST
                                  WHERE TASKNAME=:OLD.TASKNAME) 
               AND TASKNAME=:OLD.TASKNAME;
            INSERT INTO TASKS_HIST (TASKNAME      ,DESCRIPTION      ,optype
                                    ,createtime
                                    ,us_id)
                   VALUES          (:OLD.TASKNAME ,:OLD.DESCRIPTION ,'D'
                                    ,HISTORY.GET_OPERATION_TIME
                                    ,USER_SESSION.GET_USER_SESSIONS_ID);
        END CASE;
      EXCEPTION
        WHEN OTHERS THEN
          ERROR.REPORT_AND_GO;
    END TASKS_WHIST;
    CREATE TABLE TASKS_HIST (
         TASKNAME       VARCHAR2(40),
         DESCRIPTION    VARCHAR2(80),
         OPTYPE         VARCHAR2(1),
         CREATETIME     TIMESTAMP(6),
         RETIRETIME     TIMESTAMP(6),
         US_ID          NUMBER
    ALTER TABLE TASKS_HIST ADD (
         CONSTRAINT TASKS_HIST_PK PRIMARY KEY (TASKNAME, CREATETIME)
           );

    Frank,
    Thanks for your reply.
    I checked the site that you mentioned.
    I try the sample “demo with bundle. The sample worked.
    But it needed to start separately with the application.
    I do not know how to build a help system with the existed web application developed with Jdeveloper (It has two projects: model and user-view-control. It is deployed on Oracle Application server).
    Could you help me step by step to build the help system?

  • How to implement hierarchical structure of managers and reportees using jdeveloper adf

    I want to display hierarchical structure(which can be expanded and compressed) with 3 columns(Employeeid, fist Name,lastname) of managers and his reportees on selecting a top level manager.
    In this i'm going to use programmatic view objects.
    I have employees table.
    Here is my detailed requirement:
    On selecting a user from drop down list, i want to display the list of users reporting to him.
    From the displayed list on selecting a manager, list of users reporting to him has to be displayed in a tree format with the correspoding just being listed below the current selected manager
    Example :
    Top Manger  has been selected from dropdown and clicked submit.
    Output(a table as mentioned below):
    Manager1
    Manager2
    NonManager1
    Manger 3
    On clicking manager1,
    output:
    Manger 1
      Manger11
      Manasger12
      Nonmanager11
    Manger 2
    NonManger1
    Manger3
    on clicking manager1 again, tree has to be compressed and the output has to be just the same as first output.
    Please help me on this by sharing information or any references on how can i achieve this implementation using Jdeveloper adf concepts.
    Will be waiting for the inputs.
    Thank You,
    Dev

    Obviously, you can only display one picture.  So then the question becomes which picture to show.  Therefore, you will have to create some sort of preference of one pattern over another.
    I would use a FOR loop so that you can loop through your available patters and their possible results.  Use the Conditional Terminal on the FOR loop so that you can stop the loop on the first match.  Then you just wire up the selected value for the ring outside of the loop.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • 11g ADF TaskFlow Exception Handling in BPM

    Hi Guys
    BPM 11g
    I have a human task that is implemented as an ADF task flow. I would like to be able to throw an exception from the ADF application and have it handled by the BPM process, does anyone know if this is possible or how I would do that?
    At the moment I have an ADF error page - I could return an "error" outcome to the process from that but an error is an error and it feels right to show that in the process instead of a normal outcome.
    anyone else worked through this?
    cheers,
    Steve

    help yourself with this thread - Re: Exception Handling
    it should answer your question

  • Oracle BPM 11g  workspace: how to add a link to an external ADF app?

    Hi all,
    I have a process for which all the data is persisted in the db, and for Human tasks, I use ADFBC component.
    For an existing instance, I would like to provide a link access (available from the workspace) to users (with right privileges) to be able to update some data ...
    I thought implementing a new process with an Initiator HT...but this means, any time a user click the link, it will generate an new instance...
    Then I thought maybe it will be easier to just implement a new ADF application to update my process data using ADF BC...
    but once the application is deployed... I need to provide an access link to users from the workspace????
    how can I do this?
    Globally, how to add an external link to an ADF app from the workspace application.
    Thank you.

    Were you able to achieve this . Maybe this can help -
    Check hbuelow's reply @ Unable to see the application in BPM Workspace for Sales Quote tutorial
    Edited by: Sudipto Desmukh on May 9, 2012 7:02 PM

  • Lookup component in ADF application

    Hi All,
    I have a user input field in my form, I want a component similar to input date component, where in the user clicks the icon on the right side of the input field to get all valid values (like a number set (4,8, 10) which is dynamic based on a query. How to implement that in ADF. Is there a similar example anywhere with such component.
    I don't want to use LOV as in this case always only one value is valid based on runtime query parameter. Hope I am clear with requirements.
    Thanks in advance

    Hi Frank,
    I am not able to set the binding variables on popup launch, am I missing something. Below is the method as per the document suggested in my pageScope managed bean
    public void launchPopupListener(LaunchPopupEvent launchPopupEvent) {
    // Add event code here...
    BindingContext bctx = BindingContext.getCurrent();
    BindingContainer bindings =
    (BindingContainer)bctx.getCurrentBindingsEntry();
    FacesCtrlLOVBinding lov =
    (FacesCtrlLOVBinding)bindings.get("ParentKey");
    lov.getListIterBinding().getViewObject().setNamedWhereClauseParam("CurrentStreetName",
    "Orchard");
    ViewCriteriaManager vcm =
    lov.getListIterBinding().getViewObject().getViewCriteriaManager();
    ViewCriteria vc = vcm.getViewCriteria("PrimaryKeyBasedOnLocation");
    lov.getListIterBinding().getViewObject().applyViewCriteria(vc);
    The issue the user is not presented with a filtered list when the popup is launched where CureentStreetName is "Orchard". The user has to manually enter the value in the search field of the popup. Please suggest.
    Is there a working code for that functionality.
    Thanks
    Edited by: user5108636 on Nov 22, 2011 6:29 PM

  • Not able to get ADF select many checkbox working with binding lists

    Hi,
    I have 2binding lists: list A that holds the selected choices and list B for all the choices. When the user opens the page, a list of checkbox should be displayed all the choices from list B with the saved ones pre-checked from list A. When the user changes the selection, the binding list A should be updated.
    I tried to use ADF select many checkbox but could not get it working for this.
    There are 2 big issues:
    1, can get all the choices from binding list B displayed but not able to pre-check the ones from list A.
    2, when the selection changed, not able to updated list A with the new choices
    I find some sample but it is talking about saving the selected choices into the managed bean not into binding object and using valueChangeListener. How to implement this in ADF? Please help.
    Thanks,
    Helen

    Helen,
    I don't think you can do this with a select many checkbox. This component works on one list whereas you want to handle two. You may archive this if you use a managed bean and handle all the list manipulation in java.
    Your use case more looks like a select many shuffle (http://docs.oracle.com/cd/E18196_01/11.1.2.0.0/lovs.html).
    Timo

  • Adf dvt and cubic datasources

    Hi,
    How can I set up a "cubic" datasource to use an ADF DVT component?
    Thanks

    There are two ways you could feed data from analysis services into a pivot table:
    a. using a collection/rowset retrieved from analysis services via an ADF Data Control (e.g. Business Components/EJB). In this case, the pivot table / pivot table binding will attach to the Data Control, fetch the collection, and turn it into an in-memory cube that will be displayed in the pivot table.
    b. create a custom implementation of oracle.adf.view.faces.bi.model.DataModel and write custom code to map it to analysis services.

  • Progress bar in ADF

    Hi,
    I am trying to use a progress bar in a web page. After a user enters his log in details, the progress bar should display the status of the page being loaded.
    Can anyone help me in implementing this using ADF progress bar component?
    Thanks in advance.

    Yes, of course there is a difference between af:progressBar and af:statusIndicator, otherwise, why would Oracle have made two components?
    http://docs.oracle.com/cd/E16162_01/apirefs.1112/e17491/toc.htm would be the place to read about them
    And no, af:statusIndicator does not show you the progress of the page loading - as I've said already, I don't think there is any way you will be able to do that.
    John

Maybe you are looking for