Actually, it has nothing to do with impl vs. tomahawk (I need some more sleep). The problem is that the renderering utils (RendererUtils.getConvertedStringValue) doesn't support NOTHING as a valid value.
I still have no idea why NOTHING exists at all -- since that is what null is (nothing). Can anyone explain to me what the purpose of NOTHING is? I will log a bug on this On 3/15/07, Andrew Robinson <[EMAIL PROTECTED]> wrote:
I have switched from 1.1.3 to 1.1.5 and am trying to switch from AjaxAnywhere to Ajax4Jsf and am having issues with "java.lang.IllegalArgumentException: Value is no String" errors. The problem comes from "org.apache.myfaces.shared_impl.renderkit.RendererUtils$1". $1 is the NOTHING class in RendererUtils. The problem code seems to get confused when tomahawk is used since these are not the same instance: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1 org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils$1 The problem can occur when refreshing a page. Since there are no submitted values in a refresh, problems can creep up in many of the tomahawk components with this error (selectOneRadio and selectOneMenu are two examples). Can anyone tell me why "component.setSubmittedValue(RendererUtils.NOTHING)" is used instead of "component.setSubmittedValue(null)" when there is no submitted value? Using 1.1.5 Core and 1.1.5 snapshot for tomahawk as of yesterday (2007-03-14) -Andrew stack: java.lang.IllegalArgumentException: Value is no String (class=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1, [EMAIL PROTECTED]) and component zfpPanel:liveReportFilterDlg:_id174with path: {Component-Path : [Class: org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId: /pages/liveReport/index.xhtml][Class: org.apache.myfaces.custom.document.Document,Id: _id0][Class: org.ajax4jsf.ajax.html.AjaxForm,Id: zfpForm][Class: com.outlooksoft.cpm.faces.controls.HtmlGridBagPanel,Id: zfpPanel][Class: com.outlooksoft.cpm.faces.controls.HtmlGridBagCell,Id: zfpContentCell][Class: org.ajax4jsf.ajax.html.HtmlAjaxOutputPanel,Id: zfpBodyZone][Class: com.outlooksoft.cpm.livereport.controls.HtmlReportFilterDialog,Id: liveReportFilterDlg_composite][Class: com.outlooksoft.cpm.faces.controls.UIDialog,Id: liveReportFilterDlg][Class: org.ajax4jsf.ajax.html.HtmlAjaxRegion,Id: _id172][Class: javax.faces.component.html.HtmlSelectOneRadio,Id: _id174]} does not have a Converter at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:513) at org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase.encodeEnd(HtmlRadioRendererBase.java:95) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:256) at org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:232) at org.ajax4jsf.framework.renderer.AjaxContainerRenderer.encodeChildren(AjaxContainerRenderer.java:100) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) ...