incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marco Huber <mhu...@project-team.de>
Subject Required attribute throws NullPointerException
Date Thu, 01 Mar 2007 15:50:43 GMT
Hi all,

I have the problem that a required attribute throws a npe, but I can't
figured out where the problem lies. I hope some can help me on this issue.

I have a JSF page like followed:


<f:view xmlns="http://www.w3.org/1999/xhtml"
         xmlns:s="http://jboss.com/products/seam/taglib"
         xmlns:ui="http://java.sun.com/jsf/facelets"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
         xmlns:tr="http://myfaces.apache.org/trinidad"
         xmlns:trh="http://myfaces.apache.org/trinidad/html" >

     <h:form id="editForm">

       <tr:selectOneRadio id="userAttributes"
                            label="#{messages['selection']}"
                            value="#{editAction.userAttribute}"
                            required="true"

requiredMessageDetail="#{messages['userAttribute.required']}" >
             <f:selectItems value="#{editAction.userAttributeList}"/>
             <a4j:support event="onclick" reRender="showCustomAttribute" />

         </tr:selectOneRadio>
         <a4j:outputPanel id="showCustomAttribute" >
             <tr:inputText id="customAttribute"
                           label="#{messages['userAttribute.text']}"
                           value="#{editAction.userAttribute.text}"
                           rendered="#{editAction.userAttributeSelected}"
                           required="true"
                         />
         </a4j:outputPanel>

         <h:commandButton action="#{editAction..save}"
value="#{messages['button.save']}" />
         <h:commandButton action="#{editAction..cancel}"
value="#{messages['button.cancel']}" immediate="true" />

     </h:form>

</f:view>

The UserAttribute is a abstract class with 2 inheritances:
BuildInAttribute and a CustomAttribute in which a text can added.
If I left out the required="true" in my tr:inputText all works fine. If
I define the attribute and I click on an instance of an new
CustomAttribute I got the following StackTrace:

12:01:26,765 ERROR [SeamExceptionFilter] exception root cause
java.lang.NullPointerException
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.EditableValueRenderer.addOnSubmitConverterValidators(EditableVal
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleInputTextRenderer.encodeAllAsElement(SimpleInputTextRender
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementRenderer.encodeAll(FormElementRenderer.java:69)
         at
org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:297)
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.renderFieldCellContents(InputLabelA
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer._renderFieldCell(LabelAndMessageRenderer
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:2
         at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRende
         at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
         at
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
         at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:249)
         at
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:225)
         at
org.ajax4jsf.renderers.ajax.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:74)
         at
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527)
         at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:245)
         at
org.ajax4jsf.framework.renderer.AjaxChildrenRenderer.encodeAjaxChild(AjaxChildrenRenderer.java:120)
         at
org.ajax4jsf.framework.renderer.AjaxChildrenRenderer.encodeAjaxChild(AjaxChildrenRenderer.java:111)
         at
org.ajax4jsf.framework.renderer.AjaxChildrenRenderer.encodeAjaxChild(AjaxChildrenRenderer.java:111)
         at
org.ajax4jsf.framework.renderer.AjaxChildrenRenderer.encodeAjaxChild(AjaxChildrenRenderer.java:111)
         at
org.ajax4jsf.framework.renderer.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:126)
         at
org.ajax4jsf.framework.ajax.AjaxViewRoot.encodeAjax(AjaxViewRoot.java:570)
         at
org.ajax4jsf.framework.ajax.AjaxContext.renderAjaxRegion(AjaxContext.java:301)
         at
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:249)
         at
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
         at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:210)
         at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:167)
         at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:140)
         at
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:93)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
         at
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:29)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:43)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
         at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:619)

All attribute in my class are initialized, so I don't think that the
problem lies on the access of the text attribute in my CustomAttribute.

Thanks for you help
Marco

Mime
View raw message