I'm trying to update an application from a very old version of the framework 
and I'm believe I am down to one issue.
I have a field in a search form where allow-multiple is set to true as follows:

        <field name="option_op"><hidden value="in" /></field>
        <field name="option" title="Option" widget-style="selectBox">
            <drop-down allow-empty="true" allow-multiple="true">
                <list-options list-name="optionsList" key-name="optionId" 
description="${optionDesc}"/>
            </drop-down>
        </field>

This currently works if I select nothing in the UI (retrieve all rows) or 
select multiple options from the selectBox. If I select just one option, the 
framework throws an exception. Stack trace below. Anyone have a fix for this? 
Or a suggestion? <Other than my kludge of adding javascript for onsubmit to add 
a bogus selected option to the selectBox when only one choice is selected by 
the user.>

Exception: org.ofbiz.service.GenericServiceException
Message: Service [executeFind] target threw an unexpected exception 
(java.lang.String cannot be cast to java.util.Collection)
---- cause ---------------------------------------------------------------------
Exception: java.lang.ClassCastException
Message: java.lang.String cannot be cast to java.util.Collection
---- stack trace ---------------------------------------------------------------
java.lang.ClassCastException: java.lang.String cannot be cast to 
java.util.Collection
org.ofbiz.entity.condition.EntityOperator$7.makeRHSWhereStringValue(EntityOperator.java:160)
org.ofbiz.entity.condition.EntityComparisonOperator.makeRHSWhereString(EntityComparisonOperator.java:116)
org.ofbiz.entity.condition.EntityComparisonOperator.addSqlValue(EntityComparisonOperator.java:105)
org.ofbiz.entity.condition.EntityExpr.makeWhereString(EntityExpr.java:139)
org.ofbiz.entity.condition.EntityJoinOperator.addSqlValue(EntityJoinOperator.java:78)
org.ofbiz.entity.condition.EntityConditionListBase.makeWhereString(EntityConditionListBase.java:98)
org.ofbiz.entity.condition.EntityJoinOperator.addSqlValue(EntityJoinOperator.java:78)
org.ofbiz.entity.condition.EntityConditionListBase.makeWhereString(EntityConditionListBase.java:98)
org.ofbiz.entity.datasource.GenericDAO.makeConditionWhereString(GenericDAO.java:836)
org.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:743)
org.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:145)
org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1743)
org.ofbiz.common.FindServices.executeFind(FindServices.java:614)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:100)
org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:57)
org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
_$gen.file_58$.opt.ofbiz.framework.common.servicedef.services_46$xml_35$executeFind.runSync(file:/opt/ofbiz/framework/common/servicedef/services.xml#executeFind:229)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
org.ofbiz.common.FindServices.performFind(FindServices.java:499)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:100)
org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:57)
org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
_$gen.file_58$.opt.ofbiz.framework.common.servicedef.services_46$xml_35$performFind.runSync(file:/opt/ofbiz/framework/common/servicedef/services.xml#performFind:242)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
org.ofbiz.widget.form.ModelFormAction$Service.runAction(ModelFormAction.java:387)
org.ofbiz.widget.form.ModelFormAction.runSubActions(ModelFormAction.java:108)
org.ofbiz.widget.form.ModelForm.runFormActions(ModelForm.java:786)
org.ofbiz.widget.form.ModelForm.renderFormString(ModelForm.java:819)
org.ofbiz.widget.screen.ModelScreenWidget$Form.renderWidgetString(ModelScreenWidget.java:753)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:613)
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:129)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:646)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:260)
org.ofbiz.widget.screen.MacroScreenRenderer.renderScreenletSubWidget(MacroScreenRenderer.java:663)
org.ofbiz.widget.screen.ModelScreenWidget$Screenlet.renderWidgetString(ModelScreenWidget.java:373)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:580)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:613)
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:129)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:646)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:613)
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:129)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:646)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:260)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:260)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:260)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
org.ofbiz.widget.screen.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:513)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:580)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:580)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191)
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
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:852)
org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:569)
org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224)
org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:87)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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:336)
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:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:589)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:662)

Reply via email to