8 Replies Latest reply: Dec 21, 2012 7:58 AM by Farshid Zarinara RSS

    JHS lov autocomplete is not work correctly

    Farshid Zarinara
      Jdeveloper:Studio Edition Version 11.1.2.2.0
      Jheadstart:11.1.2.1.28

      hi steven
      i sent a testcase to idevcoe_nl@oracle.com
      when i have a field with default value in form layout , the JHS LOV autocomplete is not work correctly
        • 1. Re: JHS lov autocomplete is not work correctly
          Steven Davelaar-Oracle
          Farshid,

          I ran the tescase but the LOV autocomplete works fine.
          Can you provide detailed sequence of steps to reproduce the issue?

          Steven Davelaar,
          JHeadstart team.
          • 2. Re: JHS lov autocomplete is not work correctly
            Farshid Zarinara
            Hi steven and thank you for reply
            the problem is in the form layout not in the table layout
            after i click the new coutries button .
            in the form layout
            1-I entered the CountryId -----Tab
            2-I entered the CountryName ---- Tab
            3-and finally I entered E(for Europe) ----Tab

            and the errore message was --->Attribute CountryId in AppModule.CountriesView1 is required.

            Farshid
            • 3. Re: JHS lov autocomplete is not work correctly
              Steven Davelaar-Oracle
              Farshid,

              OK, I now was able to reproduce the problem.
              Can you try following:
              - subclass LovItemBean class and override method validateACtion as follows:

              public String validationAction()
              {
              String result = super.validationAction();
              if (isValidationStarted() && getLovValidationRow()!=null)
              {
              JsfUtils.getFacesContext().renderResponse();
              }
              return result;
              }

              Steven Davelaar,
              JHeadstart Team.
              • 4. Re: JHS lov autocomplete is not work correctly
                Farshid Zarinara
                thanks steven but it is not work for me
                this is my subclass


                package oracle.jheadstart.controller.jsf.bean;

                import oracle.jheadstart.controller.jsf.util.JsfUtils;

                public class LovItemBean1 extends LovItemBean {
                public LovItemBean1() {
                super();
                }
                public String validationAction()
                {
                String result = super.validationAction();
                if (isValidationStarted() && getLovValidationRow()!=null)
                {
                JsfUtils.getFacesContext().renderResponse();
                }
                return result;
                }
                }


                and it is not work
                • 5. Re: JHS lov autocomplete is not work correctly
                  Farshid Zarinara
                  my problem is not solved
                  • 6. Re: JHS lov autocomplete is not work correctly
                    Steven Davelaar-Oracle
                    Farshid,

                    OK, investigated this in more detail.
                    You are right, the fix I proposed before is not working.
                    It turns out you don't need a subclass at all, all you need to do is add two properties (immediate=true and partialSubmit=true) to the hidden button that is used to validate the LOV value:

                    <f:facet name="end">
                    <af:panelGroupLayout id="pgl0" valign="top" layout="horizontal">
                    <af:commandLink immediate="true" partialSubmit="true" id="cl0"
                    actionListener="#{pageFlowScope.CountriesRegionNameLovItem.lovIconClicked}">
                    <af:image source="/jheadstart/images/lov.png"
                    id="CountriesRegionNameIcon" clientComponent="true"/>
                    </af:commandLink>
                    <af:commandButton text="hidden" id="cb4" rendered="false" partialSubmit="true"
                    immediate="true"
                    action="#{pageFlowScope.CountriesRegionNameLovItem.validationAction}"
                    binding="#{pageFlowScope.CountriesRegionNameLovItem.validationButton}"/>
                    </af:panelGroupLayout>
                    </f:facet>

                    To generate these properties you need to modify the formLovItem.vm and tableLovItem.vm templates

                    Steven Davelaar,
                    Jheadstart Team.
                    • 8. Re: JHS lov autocomplete is not work correctly
                      Farshid Zarinara
                      Hi Steven
                      Today again I have a problem with JHS lov autocomplete

                      Error Message Method not found: oracle.jheadstart.controller.jsf.bean.JhsSearchBean@3debed.quickSearch(java.lang.String, java.lang.Object)
                      Stack Trace javax.el.MethodNotFoundException: Method not found: oracle.jheadstart.controller.jsf.bean.JhsSearchBean@3debed.quickSearch(java.lang.String, java.lang.Object)
                           at com.sun.el.util.ReflectionUtil.getMethod(Unknown Source)
                           at com.sun.el.parser.AstValue.getMethodInfo(Unknown Source)
                           at com.sun.el.MethodExpressionImpl.getMethodInfo(Unknown Source)
                           at oracle.adf.controller.internal.util.ELInterfaceImpl.getReturnType(ELInterfaceImpl.java:214)
                           at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:136)
                           at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:1091)
                           at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:982)
                           at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:880)
                           at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:553)
                           at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:158)
                           at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:115)
                           at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:84)
                           at org.apache.myfaces.trinidadinternal.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:50)
                           at oracle.jheadstart.controller.jsf.application.JhsNavigationHandlerImpl.handleNavigation(JhsNavigationHandlerImpl.java:149)
                           at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
                           at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
                           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:112)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
                           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:106)
                           at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:159)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
                           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:112)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
                           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
                           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:106)
                           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1134)
                           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
                           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
                           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
                           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:125)
                           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.jheadstart.controller.jsf.AuthenticationFilter.doFilter(AuthenticationFilter.java:282)
                           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
                           at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
                           at java.security.AccessController.doPrivileged(Native Method)
                           at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
                           at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
                           at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
                           at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
                           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:139)
                           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)

                      and i think
                      the problem is not solved yet

                      but it is work som times