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

Tapestry Exception with a map object

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.7
    • 2.7
    • ExpressionCompiler
    • None
    • Tapestry 4.1.2

    Description

      I've got the following expression in my template:

      <span jwcid="@RadioGroup" selected="ognl:mixingClassToProposeMap.get(segment)">

      When the page is displayed, everything is ok, but sometimes when I rewind, I get the following exception

      Inappropriate OGNL expression: get(segment) ognl.InappropriateExpressionException

      Inappropriate OGNL expression: get(segment)

      Stack Trace:

      ognl.SimpleNode.setValueBody(SimpleNode.java:299) ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:208) ognl.SimpleNode.setValue(SimpleNode.java:287) ognl.ASTChain.setValueBody(ASTChain.java:203) ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:208) ognl.SimpleNode.setValue(SimpleNode.java:287) ognl.ASTChain45938371567.0Accessor.set(0Accessor.java) org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.write(ExpressionEvaluatorImpl.java:174) $ExpressionEvaluator_1127104f59f.write($ExpressionEvaluator_1127104f59f.java) org.apache.tapestry.binding.ExpressionBinding.setObject(ExpressionBinding.java:213) org.apache.tapestry.form.RadioGroup.updateSelection(RadioGroup.java:103) org.apache.tapestry.form.Radio.renderComponent(Radio.java:73) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.form.RadioGroup.rewindFormComponent(RadioGroup.java:187) org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:94) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.components.Any.renderComponent(Any.java:47) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:96) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537) org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:603) org.apache.tapestry.form.Form.renderComponent(Form.java:205) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184) org.apache.tapestry.form.Form.rewind(Form.java:278) org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:453) org.apache.tapestry.form.Form.trigger(Form.java:289) org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166) org.apache.tapestry.engine.DirectService.service(DirectService.java:142) $IEngineService_1127104f4f5.service($IEngineService_1127104f4f5.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_1127104f4c0.service($WebRequestServicer_1127104f4c0.java) $WebRequestServicer_1127104f4bc.service($WebRequestServicer_1127104f4bc.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61) $ServletRequestServicer_1127104f4ae.service($ServletRequestServicer_1127104f4ae.java) org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) $ServletRequestServicerFilter_1127104f4aa.service($ServletRequestServicerFilter_1127104f4aa.java) $ServletRequestServicer_1127104f4b0.service($ServletRequestServicer_1127104f4b0.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_1127104f4a8.service($ServletRequestServicerFilter_1127104f4a8.java) $ServletRequestServicer_1127104f4b0.service($ServletRequestServicer_1127104f4b0.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) $ServletRequestServicerFilter_1127104f4ac.service($ServletRequestServicerFilter_1127104f4ac.java) $ServletRequestServicer_1127104f4b0.service($ServletRequestServicer_1127104f4b0.java) $ServletRequestServicer_1127104f4a2.service($ServletRequestServicer_1127104f4a2.java) org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) com.egencia.carbon.components.cache.threadlocal.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:40) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) com.egencia.frontend.transaction.TransactionFilter.executeFilter(TransactionFilter.java:119) com.egencia.frontend.transaction.TransactionFilter.doFilter(TransactionFilter.java:67) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) com.egencia.frontend.performance.PerformanceFilter.doFilter(PerformanceFilter.java:86) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Thread.java:619)

      [ +/- ] Request

      The Page class contains :

      public abstract Map<CustomAirSegment, List<CabinType>> getMixingClassToProposeMap();

      CabinType is an emum while CustomAirSegment is a simple bean.

      The .page contains:

      <property-specification name="segment"

      persistent="no"

      />

      Attachments

        Activity

          People

            jkuhnert Jesse Kuhnert
            ltouati Lionel Touati
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: