Uploaded image for project: 'Commons OGNL (Dormant)'
  1. Commons OGNL (Dormant)
  2. OGNL-92

"incompatible array types" with enum values

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.7
    • 2.7
    • None
    • None

    Description

      I'm using the latest 2.7 snapshot and i get an exception when i use this expression:

      @com.logical.portal.web.MenuModel@values().length

      MenuModel is an Enum type. The expression is evaluated correctly anyway, i just get the error logged.

      rg.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTNotEq_11300da3c6c: [source error] incompatible array types

      at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)

      at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:172)

      at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:388)

      at ognl.Ognl.compileExpression(Ognl.java:123)

      at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:129)

      at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:91)

      at $ExpressionCache_11300da3c2f.getCompiledExpression($ExpressionCache_11300da3c2f.java)

      at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:141)

      at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:132)

      at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)

      at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:173)

      at $IfBean_10.getCondition($IfBean_10.java)

      at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)

      at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)

      at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)

      at org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)

      at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)

      at org.apache.tapestry.html.Body.renderComponent(Body.java:38)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)

      at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)

      at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)

      at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)

      at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)

      at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:178)

      at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:249)

      at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)

      at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:152)

      at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)

      at $ResponseRenderer_11300da3b10.renderResponse($ResponseRenderer_11300da3b10.java)

      at $ResponseRenderer_11300da3b0f.renderResponse($ResponseRenderer_11300da3b0f.java)

      at org.apache.tapestry.engine.PageService.service(PageService.java:68)

      at $IEngineService_11300da3b7d.service($IEngineService_11300da3b7d.java)

      at org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77)

      at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)

      at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:237)

      at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)

      at $WebRequestServicer_11300da3b4e.service($WebRequestServicer_11300da3b4e.java)

      at $WebRequestServicer_11300da3b4d.service($WebRequestServicer_11300da3b4d.java)

      at $WebRequestServicer_11300da3b4a.service($WebRequestServicer_11300da3b4a.java)

      at $WebRequestServicer_11300da3b49.service($WebRequestServicer_11300da3b49.java)

      at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)

      at $ServletRequestServicer_11300da3b3c.service($ServletRequestServicer_11300da3b3c.java)

      at $ServletRequestServicer_11300da3b3b.service($ServletRequestServicer_11300da3b3b.java)

      at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)

      at $ServletRequestServicerFilter_11300da3b38.service($ServletRequestServicerFilter_11300da3b38.java)

      at $ServletRequestServicerFilter_11300da3b37.service($ServletRequestServicerFilter_11300da3b37.java)

      at $ServletRequestServicer_11300da3b3d.service($ServletRequestServicer_11300da3b3d.java)

      at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)

      at $ServletRequestServicerFilter_11300da3b36.service($ServletRequestServicerFilter_11300da3b36.java)

      at $ServletRequestServicerFilter_11300da3b35.service($ServletRequestServicerFilter_11300da3b35.java)

      at $ServletRequestServicer_11300da3b3d.service($ServletRequestServicer_11300da3b3d.java)

      at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)

      at $ServletRequestServicerFilter_11300da3b3a.service($ServletRequestServicerFilter_11300da3b3a.java)

      at $ServletRequestServicerFilter_11300da3b39.service($ServletRequestServicerFilter_11300da3b39.java)

      at $ServletRequestServicer_11300da3b3d.service($ServletRequestServicer_11300da3b3d.java)

      at $ServletRequestServicer_11300da3b30.service($ServletRequestServicer_11300da3b30.java)

      at $ServletRequestServicer_11300da3b2f.service($ServletRequestServicer_11300da3b2f.java)

      at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)

      at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:103)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)

      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)

      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:230)

      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)

      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)

      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)

      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)

      at org.mortbay.jetty.Server.handle(Server.java:286)

      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:444)

      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:701)

      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)

      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)

      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:340)

      at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)

      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

      Caused by: javassist.CannotCompileException: [source error] incompatible array types

      at javassist.CtBehavior.setBody(CtBehavior.java:347)

      at javassist.CtBehavior.setBody(CtBehavior.java:316)

      at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)

      ... 85 more

      Caused by: compile error: incompatible array types

      at javassist.compiler.CodeGen.atBinExpr(CodeGen.java:960)

      at javassist.compiler.ast.BinExpr.accept(BinExpr.java:40)

      at javassist.compiler.CodeGen.compileOprands(CodeGen.java:1156)

      at javassist.compiler.CodeGen.booleanExpr(CodeGen.java:1088)

      at javassist.compiler.CodeGen.atBinExpr(CodeGen.java:971)

      at javassist.compiler.ast.BinExpr.accept(BinExpr.java:40)

      at javassist.compiler.JvstCodeGen.atCastToWrapper(JvstCodeGen.java:201)

      at javassist.compiler.JvstCodeGen.atCastExpr(JvstCodeGen.java:171)

      at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54)

      at javassist.compiler.CodeGen.compileExpr(CodeGen.java:223)

      at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591)

      at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424)

      at javassist.compiler.CodeGen.atStmnt(CodeGen.java:356)

      at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)

      at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)

      at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)

      at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285)

      at javassist.compiler.Javac.compileBody(Javac.java:212)

      at javassist.CtBehavior.setBody(CtBehavior.java:341)

      ... 87 more

      Attachments

        Activity

          People

            jkuhnert Jesse Kuhnert
            hpalma Hugo Palma
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: