[
https://issues.apache.org/jira/browse/OFBIZ-3486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835511#action_12835511
]
David E. Jones commented on OFBIZ-3486:
---------------------------------------
This is maybe unfortunate, but there is an easy work-around (a hack) that I'll
admit I've used a number of times:
<set field="foo" value="${groovy: states =
org.ofbiz.common.CommonWorkers.getAssociatedStateList(delegator, null)}"/>
With this the states variable is set in the groovy script and not by the set
action. It's basically a hack for running an inline script (which would be nice
to support under the script action, but that currently only support calling
external scripts).
Jacques: HTH
> 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
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OFBIZ-3486
> URL: https://issues.apache.org/jira/browse/OFBIZ-3486
> Project: OFBiz
> Issue Type: Bug
> Components: ALL APPLICATIONS
> Affects Versions: SVN trunk
> Reporter: Jacques Le Roux
> Priority: Critical
> Fix For: SVN trunk
>
>
> 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:
> {code}
> <set field="states" value="${groovy:
> org.ofbiz.common.CommonWorkers.getAssociatedStateList(delegator, null)}"
> type="List"/>
> {code}
> {code}
> <field name="stateProvinceGeoId" >
> <drop-down allow-empty="false">
> <list-options list-name="states" key-name="geoId"
> description="${geoName}"/>
> </drop-down>
> </field>
> {code}
> 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)
> --------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.