Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-3486

In some cases when you pass a list of GenericValues to <list-option in form widget you get an error saying GenericValues are not Map

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • Trunk
    • Trunk
    • ALL APPLICATIONS
    • None

    Description

      In some cases when you pass a list of GenericValues to <list-option in form widget you get an error saying GenericValue is not Map.
      Of course this is true. But also this was working some days ago. At least it was working with the 909312 revision.

      It's easy to reproduce. In any OOTB form widget add these snippets:

      <set field="states" value="${groovy: org.ofbiz.common.CommonWorkers.getAssociatedStateList(delegator, null)}" type="List"/>
      
      <field name="stateProvinceGeoId" >
          <drop-down allow-empty="false">
              <list-options list-name="states" key-name="geoId" description="${geoName}"/>
          </drop-down>
      </field>
      

      The error is
      ---- cause ---------------------------------------------------------------------
      Exception: java.lang.ClassCastException
      Message: Not a map
      ---- stack trace ---------------------------------------------------------------
      java.lang.ClassCastException: Not a map
      org.ofbiz.base.util.UtilGenerics.checkMap(UtilGenerics.java:77)
      org.ofbiz.widget.form.ModelFormField$ListOptions.addOptionValues(ModelFormField.java:1648)
      org.ofbiz.widget.form.ModelFormField$FieldInfoWithOptions.getAllOptionValues(ModelFormField.java:1529)
      org.ofbiz.widget.form.MacroFormRenderer.renderDropDownField(MacroFormRenderer.java:666)
      org.ofbiz.widget.form.ModelFormField$DropDownField.renderFieldString(ModelFormField.java:3043)
      org.ofbiz.widget.form.ModelFormField.renderFieldString(ModelFormField.java:595)
      org.ofbiz.widget.form.ModelForm.renderSingleFormString(ModelForm.java:1054)
      org.ofbiz.widget.form.ModelForm.renderFormString(ModelForm.java:837)
      org.ofbiz.widget.screen.ModelScreenWidget$Form.renderWidgetString(ModelScreenWidget.java:841)
      org.ofbiz.widget.screen.MacroScreenRenderer.renderScreenletSubWidget(MacroScreenRenderer.java:704)
      org.ofbiz.widget.screen.ModelScreenWidget$Screenlet.renderWidgetString(ModelScreenWidget.java:408)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:704)
      org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:167)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:736)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:228)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:704)
      org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:167)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:736)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:296)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:228)
      org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:394)
      org.ofbiz.widget.screen.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:576)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:228)
      org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:394)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:672)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:228)
      org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:394)
      org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:672)
      org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:137)
      org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:228)
      org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:394)
      org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135)
      org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97)
      org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104)
      org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:835)
      org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:554)
      org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:223)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:266)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      java.lang.Thread.run(Thread.java:619)
      --------------------------------------------------------------------------------

      Attachments

        Activity

          People

            doogie Adam Heath
            jleroux Jacques Le Roux
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: