ICEfaces
  1. ICEfaces
  2. ICE-8742

Unable to load auctionMonitor application when built using JDK 1.7

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-1.8.2.GA_P05
    • Fix Version/s: EE-1.8.2.GA_P05
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      ICEfaces 1.8/trunk revision# 31815
    • Assignee Priority:
      P1

      Description


      When deploying an auctionMonitor application that has been built using JDK 1.7 there are some errors when trying to load the application. JDK 1.6 works fine.

      SEVERE: Begin event threw exception
      java.lang.IllegalArgumentException: Cannot invoke com.sun.faces.taglib.html_basic.OutputTextTag.setTitle on bean class 'class com.sun.faces.taglib.html_basic.OutputTextTag' - argument type mismatch - had objects of type "java.lang.String" but expected signature "javax.el.ValueExpression"
      at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2181)
      at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2141)
      at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1948)
      at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2054)
      at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1015)
      at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
      at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
      at org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:252)
      at org.apache.commons.digester.Rule.begin(Rule.java:175)
      at org.apache.commons.digester.Digester.startElement(Digester.java:1453)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
      at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:353)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2717)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
      at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
      at org.apache.commons.digester.Digester.parse(Digester.java:1785)
      at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:128)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:437)
      at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:155)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:51)
      at com.icesoft.faces.context.View$2$1.respond(View.java:85)
      at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:242)
      at com.icesoft.faces.context.View$2.serve(View.java:119)
      at com.icesoft.faces.context.View.servePage(View.java:192)
      at com.icesoft.faces.webapp.http.core.MultiViewServer.service(MultiViewServer.java:111)
      at com.icesoft.faces.webapp.http.common.ServerProxy.service(ServerProxy.java:43)
      at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet$4.service(MainSessionBoundServlet.java:187)
      at com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:51)
      at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
      at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:100)
      at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
      at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:202)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:722)
      Caused by: java.lang.IllegalArgumentException: argument type mismatch
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2155)
      ... 54 more

      Nov 05, 2012 1:29:59 PM com.sun.faces.lifecycle.Phase doPhase
      SEVERE: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /auctionMonitor.jspx) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@6e7d27c0]




        Activity

        Hide
        Deryk Sinotte added a comment - - edited

        I don't think it's the auctionMonitor itself. When I built the app using JDK 7, I didn't see the issue. When I built the entire product including the libraries (e.g. icefaces.jar) and redeployed, I could then reproduce the problem.
        I tried removing all the title attributes from the outputText components, but that just led to having the same problem with the next attribute:
        java.lang.IllegalArgumentException: Cannot invoke com.sun.faces.taglib.html_basic.OutputTextTag.setValue on bean class 'class com.sun.faces.taglib.html_basic.OutputTextTag' - argument type mismatch - had objects of type "java.lang.String" but expected signature "javax.el.ValueExpression"

        Show
        Deryk Sinotte added a comment - - edited I don't think it's the auctionMonitor itself. When I built the app using JDK 7, I didn't see the issue. When I built the entire product including the libraries (e.g. icefaces.jar) and redeployed, I could then reproduce the problem. I tried removing all the title attributes from the outputText components, but that just led to having the same problem with the next attribute: java.lang.IllegalArgumentException: Cannot invoke com.sun.faces.taglib.html_basic.OutputTextTag.setValue on bean class 'class com.sun.faces.taglib.html_basic.OutputTextTag' - argument type mismatch - had objects of type "java.lang.String" but expected signature "javax.el.ValueExpression"
        Hide
        Deryk Sinotte added a comment - - edited

        Turns out the build file has some conditional compiling rules and one of them contains:

            <exclude name="com/icesoft/faces/webapp/parser/ELSetPropertiesRule.java"/>

        which means this file is actually excluded from the build when compiling with JDK 7, leading the the issue. The fix is simple enough. The build file contains a JDK check to decide what to compile with:

            <target name="testJDK">
               <condition property="isJDK15plus">
                   <or>
                       <equals arg1="${ant.java.version}" arg2="1.5"/>
                       <equals arg1="${ant.java.version}" arg2="1.6"/>
                       <equals arg1="${ant.java.version}" arg2="1.7"/>
                   </or>
               </condition>
            </target>
        

        Adding another check for 1.7 does the trick. Took the long way around but marking as resolved.

        Show
        Deryk Sinotte added a comment - - edited Turns out the build file has some conditional compiling rules and one of them contains: <exclude name= "com/icesoft/faces/webapp/parser/ELSetPropertiesRule.java" /> which means this file is actually excluded from the build when compiling with JDK 7, leading the the issue. The fix is simple enough. The build file contains a JDK check to decide what to compile with: <target name= "testJDK" > <condition property= "isJDK15plus" > <or> <equals arg1= "${ant.java.version}" arg2= "1.5" /> <equals arg1= "${ant.java.version}" arg2= "1.6" /> <equals arg1= "${ant.java.version}" arg2= "1.7" /> </or> </condition> </target> Adding another check for 1.7 does the trick. Took the long way around but marking as resolved.
        Hide
        Cruz Miraback added a comment - - edited

        Confirmed fixed with icefaces/trunk revision#32014.

        Show
        Cruz Miraback added a comment - - edited Confirmed fixed with icefaces/trunk revision#32014.

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Cruz Miraback
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: