Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.NullPointerException at SelectItemsCollector.java:109 #185

Closed
cassiobastos opened this issue Dec 4, 2015 · 1 comment
Closed

Comments

@cassiobastos
Copy link

I got this error in version 1.8.1, but also tried on 1.12 and the issue remains.

This is the complete stacktrace:

16:49:33,836 WARN  [br.gov.serpro.sci.jsf.exception.GeneralExceptionHandler] - Exceção não tratada capturada.: java.lang.NullPointerException
at org.omnifaces.util.selectitems.SelectItemsCollector.collectFromParent(SelectItemsCollector.java:109)
at org.omnifaces.util.selectitems.SelectItemsUtils.findValueByStringConversion(SelectItemsUtils.java:50)
at org.omnifaces.converter.SelectItemsConverter.getAsObject(SelectItemsConverter.java:52)
at org.richfaces.renderkit.SelectManyHelper.getConvertedValue(SelectManyHelper.java:345)
at org.richfaces.renderkit.SelectManyRendererBase.getConvertedValue(SelectManyRendererBase.java:108)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1034)
at javax.faces.component.UIInput.validate(UIInput.java:964)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1237)
at javax.faces.component.UIInput.processValidators(UIInput.java:702)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1216)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1216)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1216)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1216)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1216)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1164)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:226)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:149)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:56)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at br.gov.frameworkdemoiselle.util.ServletFilter.doFilter(ServletFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at br.gov.serpro.sci.filter.AccessPageFilter.doFilter(AccessPageFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:115)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
at java.lang.Thread.run(Thread.java:745)

I'm using Primefaces 3.4 e primefaces-extensions 0.6.3.

This happens when I change

<h:commandButton
    id="idVoltar"
    value="#{messages['botao.voltar']}"
    styleClass="btn-back"
    action="#{usuarioEditarMB.voltar}"
    onclick="showWaitModalPanel();"
    immediate="true" />
<p:defaultCommand target="idVoltar" />

to

<p:commandButton.

FYI: I tried this because combination of h:commandButton and p:defaultCommand works fine on FireFox, but Chrome completely ignores the p:defaultCommand...

In this page I have p:selectOneMenu

<p:selectOneMenu
    id="pais"
    value="#{usuarioEditarMB.paisLotacao}"
    converter="paisSelectItemsConverter"
    valueChangeListener="#{usuarioEditarMB.listenerPais}"
    disabled="#{!usuarioEditarMB.habilitarOutrosCampos}"
    var="p">
    <f:selectItem
        itemValue=""
        itemLabel="#{messages['objeto.selecione.label']}" />
    <f:selectItems
        value="#{usuarioEditarMB.paises}"
        var="pais"
        itemValue="#{pais}"
        itemLabel="#{pais.nome}" />
    <a4j:ajax
        event="change"
        render="comboLotacaoConsular"
        oncomplete="setFocus('fUsuEd:lotacao')" />
    <p:column>
        <h:outputLabel
            value="#{p.nome}"
            styleClass="#{p.getEstiloInativo(p.ativo)}" />
    </p:column>
</p:selectOneMenu>

To reproduce the problem, click on the combo, type any letter that matches with some of the content and then hit enter to select the value.

@BalusC
Copy link
Member

BalusC commented Dec 4, 2015

Error suggests <f:selectItems value="#{usuarioEditarMB.paises}"> returned null. Is it potentially changing on every getter call?

@BalusC BalusC closed this as completed in 4d44267 Jan 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants