[richfaces-issues] [JBoss JIRA] (RF-12472) CSV + @FacesValidator generates NPE

Bernard Labno (JIRA) jira-events at lists.jboss.org
Fri Sep 7 03:42:32 EDT 2012


Bernard Labno created RF-12472:
----------------------------------

             Summary: CSV + @FacesValidator generates NPE
                 Key: RF-12472
                 URL: https://issues.jboss.org/browse/RF-12472
             Project: RichFaces
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: component-validators
    Affects Versions: 4.3.0.Milestone1
            Reporter: Bernard Labno
            Priority: Critical


{code:xml}<h:inputText id="i" value="#{registerView.user.email}" required="true">
    <f:validator validatorId="uniqueEmailValidator" for="i"/>
    <rich:validator/>
</h:inputText>{code}

{code:java}
@FacesValidator("uniqueEmailValidator")
@RequestScoped
public class UniqueEmailValidator implements Validator {
// ------------------------------ FIELDS ------------------------------

    @Inject
    private BundleTemplateMessage messageBuilder;

    @Inject
    private UserHome userHome;

// ------------------------ INTERFACE METHODS ------------------------


// --------------------- Interface Validator ---------------------

    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException
    {
        String email = (String) value;
        try {
            userHome.getByEmail(email);
            throw new ValidatorException(new FacesMessage(
                messageBuilder.key(MessageKeys.EMAIL_ALREADY_REGSITERED).defaults(MessageKeys.EMAIL_ALREADY_REGSITERED.toString()).build().getText()));
        } catch (NoResultException e) {
            //email is unique
        }
    }
}
{code}

{noformat}
java.lang.NullPointerException:
org.richfaces.validator.FacesServiceBase.fillParameters(FacesServiceBase.java:30)
org.richfaces.validator.FacesValidatorServiceImpl.fillParameters(FacesValidatorServiceImpl.java:130)
org.richfaces.validator.FacesValidatorServiceImpl.getValidatorDescription(FacesValidatorServiceImpl.java:37)
org.richfaces.component.behavior.ClientValidatorImpl.getValidators(ClientValidatorImpl.java:332)
org.richfaces.renderkit.html.ClientValidatorRenderer.createValidatorScript(ClientValidatorRenderer.java:143)
org.richfaces.renderkit.html.ClientValidatorRenderer.buildAndStoreValidatorScript(ClientValidatorRenderer.java:129)
org.richfaces.renderkit.html.ClientValidatorRenderer.getScript(ClientValidatorRenderer.java:63)
javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:103)
org.richfaces.component.behavior.ClientValidatorImpl.getScript(ClientValidatorImpl.java:111)
com.sun.faces.renderkit.RenderKitUtils.getSingleBehaviorHandler(RenderKitUtils.java:1660)
com.sun.faces.renderkit.RenderKitUtils.renderHandler(RenderKitUtils.java:1753)
com.sun.faces.renderkit.RenderKitUtils.renderOnchange(RenderKitUtils.java:388)
com.sun.faces.renderkit.html_basic.TextRenderer.getEndTextToRender(TextRenderer.java:134)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:170)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
org.richfaces.renderkit.html.PanelRenderer.doEncodeEnd(PanelRenderer.java:183)
org.richfaces.renderkit.RendererBase.encodeEnd(RendererBase.java:175)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
com.ocpsoft.pretty.faces.application.PrettyViewHandler.renderView(PrettyViewHandler.java:163)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:118)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:840)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:622)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:560)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:488)
com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:110)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:161)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
java.lang.Thread.run(Thread.java:662)
{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list