[ https://issues.apache.org/struts/browse/SHALE-406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary VanMatre reassigned SHALE-406: ----------------------------------- Assignee: Gary VanMatre > ConverterHelper produce NullPointerException by calling Converter with > uiComponent = null parameter during restore view phase. > ------------------------------------------------------------------------------------------------------------------------------ > > Key: SHALE-406 > URL: https://issues.apache.org/struts/browse/SHALE-406 > Project: Shale > Issue Type: Bug > Components: Core, View > Affects Versions: 1.0.4 > Environment: Facelets 1.1.12, MyFaces 1.1.5-SNAPSHOT , Tomahawk > 1.1.5-SNAPSHOT > Reporter: Ingo Dueppe > Assignee: Gary VanMatre > > I had an backing bean class with the following property: > @Property{value="#{param.enrollmentId}") > private Long enrollmentId; > And this ends up that shale calls the > getAsObject method javax.faces.convert.LongConverter of > MyFaces-1.1.5-SNAPSHOT during the restore view phase . > This method expects an uiComponent not null otherwise it throws a > NullPointerException. But this method is called by the > org.apache.shale.util.ConverterHelper during create view and therefore > the facesContext setViewRoot is still null. So the below code of the > ConverterHelper > end ups in a NullPointerException in this situation. > public Object asObject(FacesContext context, Class type, String value) { > if (String.class == type) { > return value; > } > return converter(context, > type).getAsObject(context,context.getViewRoot(), value); > } > There are also some other parts in the ConverterHelper class that depends on > that viewRoot is not null. > Well the jsf - 1.1 spec says that the getAsObject method is called during the > apply request values phase. > As far as I understood it myfaces doesn't use the converter to initialize the > beans also. Instead it uses the Coercions class of common-el to convert > #{param.enrollmentId}. > Btw.: As workaround, define your own ConverterClass that can handle that the > component parameter is null. > - Ingo -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.