ICEmobile
  1. ICEmobile
  2. MOBI-977

implement missing method for IceClientBehaviorHolder in icemobile to match ace library

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE 1.3.0.GA_P01
    • Fix Version/s: 1.3.1, EE 1.3.1.GA
    • Component/s: Faces
    • Labels:
      None
    • Environment:
      jsf 2 ICEfaces-ee-3.3.0.GA-P01
    • Salesforce Case Reference:

      Description

      org.icefaces.ace.api.IceClientBehaviorHolder was modified in ICEfaces-ee-3.3.0.GA-P01 and the corresponding interface in icemobile was not.
      Unsure as to whether mobi:ajax will continue on for future ICEmobile releases (since mobi:ajax is now just an older version of ace:ajax under different namespace/project).

      When icemobile and this icefaces 3.3.0-P01 are used together, this can be the result since the api contains getListenerArgument(String event) for the ace jar and not for the mobile jar (class loading problems). This affects a support customer, so quickest/easiest thing to do is to rename the api in the mobi jar until decisions are made going forward with this support.


      ]] Root cause of ServletException.
      java.lang.NoSuchMethodError: org/icefaces/ace/api/IceClientBehaviorHolder.getListenerArgument(Ljava/lang/String;)Ljava/lang/String;
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.deriveEventClass(AjaxBehaviorHandler.java:265)
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.addListenerToAjaxBehavior(AjaxBehaviorHandler.java:247)
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.createAjaxBehavior(AjaxBehaviorHandler.java:222)
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.applyAttachedObject(AjaxBehaviorHandler.java:201)
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.applyNested(AjaxBehaviorHandler.java:124)
      at org.icefaces.ace.component.ajax.AjaxBehaviorHandler.apply(AjaxBehaviorHandler.java:67)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:166)
      at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
      at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:320)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:379)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:358)
      at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
      at com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:120)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:166)
      at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
      at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:320)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:379)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:358)
      at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
      at com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:120)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at org.icefaces.mobi.component.contentpane.ContentPaneHandler.applyNextHandler(ContentPaneHandler.java:66)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at org.icefaces.mobi.component.largeview.LargeViewHandler.applyNextHandler(LargeViewHandler.java:44)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at com.sun.faces.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:104)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
      at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
      at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
      at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
      at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
      at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:320)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:379)
      at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:358)
      at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
      at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
      at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
      at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
      at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:164)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:906)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
      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 com.icesoft.servlet.MultipartFilter.doFilter(MultipartFilter.java:74)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.fedex.ground.cpc.mobile.filter.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:252)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
      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:3729)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3695)
      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:2285)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2184)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1459)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

        Activity

        Hide
        Judy Guglielmin added a comment -

        after repackaging, it became apparent that the generator requires the package name
        import org.icefaces.ace.api.IceClientBehaviorHolder
        in class org.icefaces.ace.generator.behavior.ClientBehaviorHolder (line 43).
        So must re-instate and add the method and update the mobi:ajax implementation after (was hoping to avoid that).

        Show
        Judy Guglielmin added a comment - after repackaging, it became apparent that the generator requires the package name import org.icefaces.ace.api.IceClientBehaviorHolder in class org.icefaces.ace.generator.behavior.ClientBehaviorHolder (line 43). So must re-instate and add the method and update the mobi:ajax implementation after (was hoping to avoid that).
        Hide
        Judy Guglielmin added a comment -

        rev 39532

        Show
        Judy Guglielmin added a comment - rev 39532

          People

          • Assignee:
            Judy Guglielmin
            Reporter:
            Judy Guglielmin
          • Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: