Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.7
    • Fix Version/s: 2.7
    • Component/s: None
    • Labels:
      None
    • Environment:
      OGNL 2.7, Tapestry 4.1.2-SNAPSHOT, Javassist 3.4GA

      Description

      Have following OGNL:

      <binding name="items">{

      new org.bookie.web.components.MenuItem('Home', 'Main',

      { new org.bookie.web.components.MenuItem('Help', 'Help'), new org.bookie.web.components.MenuItem('Contact', 'Contact') }

      ),

      new org.bookie.web.components.MenuItem('UserList', getMessages().getMessage('menu.members')),

      new org.bookie.web.components.MenuItem('account/BetSlipList', getMessages().getMessage('menu.account'),

      { new org.bookie.web.components.MenuItem('account/BetSlipList', 'My Bets'), new org.bookie.web.components.MenuItem('account/TransactionList', 'My Transactions') }

      ),

      new org.bookie.web.components.MenuItem('About', 'About'),

      new org.bookie.web.components.MenuItem('admin/Admin', getMessages().getMessage('menu.admin'),

      { new org.bookie.web.components.MenuItem('admin/AddEvent', 'Add event'), new org.bookie.web.components.MenuItem('admin/AddResult', 'Add result') }

      )}</binding>

      Have following exception:

      java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      Stack Trace:

      • ognl.ASTList33320390Accessor.get(ASTList33320390Accessor.java)
      • org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:123)
      • $ExpressionEvaluator_11190606ee2.read($ExpressionEvaluator_11190606ee2.java)
      • org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:126)
      • org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:111)
      • org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
      • $Menu_60.getItems($Menu_60.java)
      • org.bookie.web.components.Menu.getMenuItems(Menu.java:36)
      • sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      • sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      • sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      • java.lang.reflect.Method.invoke(Unknown Source)
      • ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:631)
      • ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1044)
      • ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60)
      • ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:134)
      • ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1755)
      • ognl.ASTProperty.getValueBody(ASTProperty.java:109)
      • ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:200)
      • ognl.SimpleNode.getValue(SimpleNode.java:244)
      • ognl.Ognl.getValue(Ognl.java:376)
      • ognl.Ognl.getValue(Ognl.java:340)
      • org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:207)
      • ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:388)
      • ognl.Ognl.compileExpression(Ognl.java:123)
      • org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:129)
      • org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:91)
      • $ExpressionCache_11190606ee4.getCompiledExpression($ExpressionCache_11190606ee4.java)
      • org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:120)
      • org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:111)
      • org.apache.tapestry.components.ForBean.evaluateSourceIterator(ForBean.java:693)
      • org.apache.tapestry.components.ForBean.getData(ForBean.java:326)
      • org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:130)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:525)
      • org.apache.tapestry.components.Any.renderComponent(Any.java:53)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:525)
      • org.apache.tapestry.html.Body.renderComponent(Body.java:38)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:525)
      • org.apache.tapestry.html.Shell.renderComponent(Shell.java:64)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
      • org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:712)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
      • org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
      • org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
      • org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
      • $ResponseRenderer_11190606dad.renderResponse($ResponseRenderer_11190606dad.java)
      • org.apache.tapestry.engine.HomeService.service(HomeService.java:68)
      • $IEngineService_11190606e2b.service($IEngineService_11190606e2b.java)
      • org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
      • org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:246)
      • org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
      • $WebRequestServicer_11190606e03.service($WebRequestServicer_11190606e03.java)
      • org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:54)
      • $WebRequestServicerFilter_11190606e05.service($WebRequestServicerFilter_11190606e05.java)
      • $WebRequestServicer_11190606e07.service($WebRequestServicer_11190606e07.java)
      • $WebRequestServicer_11190606dff.service($WebRequestServicer_11190606dff.java)
      • org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
      • $ServletRequestServicer_11190606de5.service($ServletRequestServicer_11190606de5.java)
      • org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
      • $ServletRequestServicerFilter_11190606de1.service($ServletRequestServicerFilter_11190606de1.java)
      • $ServletRequestServicer_11190606de7.service($ServletRequestServicer_11190606de7.java)
      • org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
      • $ServletRequestServicerFilter_11190606ddf.service($ServletRequestServicerFilter_11190606ddf.java)
      • $ServletRequestServicer_11190606de7.service($ServletRequestServicer_11190606de7.java)
      • org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
      • $ServletRequestServicerFilter_11190606de3.service($ServletRequestServicerFilter_11190606de3.java)
      • $ServletRequestServicer_11190606de7.service($ServletRequestServicer_11190606de7.java)
      • $ServletRequestServicer_11190606dd9.service($ServletRequestServicer_11190606dd9.java)
      • org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
      • org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      • org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:459)
      • org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
      • org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:231)
      • org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:629)
      • org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:453)
      • org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
      • org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
      • org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
      • org.mortbay.jetty.Server.handle(Server.java:303)
      • org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:452)
      • org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:721)
      • org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:509)
      • org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
      • org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:349)
      • org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:320)
      • org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

      Before following exceptions:

      [ +/- ] Exception: Unable to parse OGNL expression 'menuItems': Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      org.apache.tapestry.BindingException

      Unable to parse OGNL expression 'menuItems': Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      binding: ExpressionBinding[Home/border.menu menuItems]

      location: context:/WEB-INF/Menu.jwc, line 14, column 47

      9 <parameter name="defaultItem" required="yes"/>

      10

      11 <property name="subItem"/>

      12

      13 <component id="loop" type="For">

      14 <binding name="source" value="menuItems"/>

      15 <binding name="value" value="item"/>

      16 </component>

      17

      18 </component-specification>

      [ +/- ] Exception: Unable to parse OGNL expression 'menuItems': Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      org.apache.hivemind.ApplicationRuntimeException

      Unable to parse OGNL expression 'menuItems': Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      [ +/- ] Exception: Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      org.apache.hivemind.ApplicationRuntimeException

      Error compiling expression on object $Menu_60@662afa1[Home/border.menu] with expression node menuItems getter body: null setter body: null

      [ +/- ] Exception: menuItems

      ognl.OgnlException

      menuItems

      [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL expression>' of $Border_58@b18e8941[Home/border]: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      org.apache.tapestry.BindingException

      Unable to read OGNL expression '<parsed OGNL expression>' of $Border_58@b18e8941[Home/border]: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      binding: ExpressionBinding[Home/border { new org.bookie.web.components.MenuItem('Home', 'Main',

      { new org.bookie.web.components.MenuItem('Help', 'Help'), new org.bookie.web.components.MenuItem('Contact', 'Contact') }

      ), new org.bookie.web.components.MenuItem('UserList', getMessages().getMessage('menu.members')), new org.bookie.web.components.MenuItem('account/BetSlipList', getMessages().getMessage('menu.account'),

      { new org.bookie.web.components.MenuItem('account/BetSlipList', 'My Bets'), new org.bookie.web.components.MenuItem('account/TransactionList', 'My Transactions') }

      ), new org.bookie.web.components.MenuItem('About', 'About'), new org.bookie.web.components.MenuItem('admin/Admin', getMessages().getMessage('menu.admin'),

      { new org.bookie.web.components.MenuItem('admin/AddEvent', 'Add event'), new org.bookie.web.components.MenuItem('admin/AddResult', 'Add result') }

      )}]

      location: context:/WEB-INF/Border.jwc, line 38, column 25

      33 <binding name="listener" value="components.login.registerListener"/>

      34 </component>

      35

      36 <!-- Menu component -->

      37 <component id="menu" type="Menu">

      38 <binding name="items">{

      39 new org.bookie.web.components.MenuItem('Home', 'Main',

      40

      { new org.bookie.web.components.MenuItem('Help', 'Help'), 41 new org.bookie.web.components.MenuItem('Contact', 'Contact') 42 }

      ),

      43 new org.bookie.web.components.MenuItem('UserList', getMessages().getMessage('menu.members')),

      [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL expression>' of $Border_58@b18e8941[Home/border]: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      org.apache.hivemind.ApplicationRuntimeException

      Unable to read OGNL expression '<parsed OGNL expression>' of $Border_58@b18e8941[Home/border]: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      component: $Border_58@b18e8941[Home/border]

      location: context:/WEB-INF/Home.page, line 14, column 39

      9

      10 <property name="menuListener" initial-value="component:betList"/>

      11

      12 <property name="cat"/>

      13

      14 <component id="border" type="Border">

      15 <binding name="title" value="message:bookie.main.title"/>

      16 <binding name="rightBlock" value="component:slip"/>

      17 <binding name="menuBlock" value="component:menu"/>

      18 </component>

      19

      [ +/- ] Exception: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

      Sources are available in http://code.google.com/p/bookie

        Activity

        Tony Stevenson made changes -
        Project Import Mon Jun 18 09:00:45 UTC 2012 [ 1340010045016 ]
        Jesse Kuhnert made changes -
        Field Original Value New Value
        Fix Version/s 2.7 [ 21688 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Renat Zubairov created issue -

          People

          • Assignee:
            Jesse Kuhnert
            Reporter:
            Renat Zubairov
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development