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

        Judy Guglielmin created issue -
        Judy Guglielmin made changes -
        Field Original Value New Value
        Assignee Steve Maryka [ steve.maryka ] Judy Guglielmin [ judy.guglielmin ]
        Judy Guglielmin made changes -
        Salesforce Case Reference 5007000000YZLuhAAH
        Ken Fyten made changes -
        Fix Version/s 1.3.1 [ 11376 ]
        Fix Version/s EE 1.3.1.GA [ 11377 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #39523 Thu Jan 09 15:53:55 MST 2014 judy.guglielmin MOBI-977 rename package for IceClientBehavior so no classloading issues when using with ace jar
        Files Changed
        Commit graph ADD /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/api/IceClientBehaviorHolder.java
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/ajax/AjaxBehaviorRenderer.java
        Commit graph DEL /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/ace/api/IceClientBehaviorHolder.java
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/ajax/AjaxBehaviorHandler.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #39531 Fri Jan 10 13:03:28 MST 2014 judy.guglielmin MOBI-977 rename package for IceClientBehavior so no classloading issues when using with ace jar...CommandButtonMeta had import of this class
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/button/CommandButtonMeta.java
        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).
        Judy Guglielmin made changes -
        Summary repackage IceClientBehaviorHolder interface in icemobile as it no longer is same as ace and causing exception implement missing method for IceClientBehaviorHolder in icemobile to match ace library
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #39532 Fri Jan 10 13:49:19 MST 2014 judy.guglielmin MOBI-977 see jira for modifications for generator requirement
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/button/CommandButtonMeta.java
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/ajax/AjaxBehaviorRenderer.java
        Commit graph ADD /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/ace/api/IceClientBehaviorHolder.java
        Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/ajax/AjaxBehaviorHandler.java
        Hide
        Judy Guglielmin added a comment -

        rev 39532

        Show
        Judy Guglielmin added a comment - rev 39532
        Judy Guglielmin made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: