Bem galera, estou tendo um problema estranho, o jsf esta me retornando esse erro quando tento fazer a chamada do fornecedor pelo Cnpj ou Id, porém, se eu usar o autocomplete e fazer a consulta ele preenche o Cnpj e o Id
<h:panelGrid columns="3" columnClasses="colunaEsquerda,colunaDireita" style="margin-left:42px;">
<h:outputText value="Código: "/>
<p:inputText size="10"
value="#{entradaBean.entrada.fornecedor.id}">
<p:ajax event="blur" update="formDados" listener="#{entradaBean.buscaFornecedorCodigo}" />
</p:inputText>
<p:commandButton icon="ui-icon-search" oncomplete="dialogFornecedor.show()" ajax="false"/>
</h:panelGrid>
<h:panelGrid columns="2" columnClasses="colunaEsquerda,colunaDireita" style="margin-left:14px;">
<h:outputText value="CNPJ: "/>
<p:inputMask size="19"
required="true"
value="#{entradaBean.entrada.fornecedor.cnpj}"
mask="99.999.999/9999-99">
<f:validator validatorId="CnpjValidator"/>
<p:ajax event="blur" update="formDados" listener="#{entradaBean.buscaFornecedorCNPJ}"/>
</p:inputMask>
<h:outputText value="Fornecedor: "/>
<p:autoComplete value="#{entradaBean.fornecedorSelecionado}" completeMethod="#{entradaBean.completefornecedor}"
var="fornecedor" itemValue="#{fornecedor}" itemLabel="#{fornecedor.nome_Fantasia}"
converter="Converter"
onkeyup="this.value = this.value.toUpperCase();"
size="50">
<p:ajax event="blur" update="formDados" listener="#{entradaBean.buscaFornecedor}" />
</p:autoComplete>
Ago 20, 2012 10:14:41 PM com.sun.faces.context.PartialViewContextImpl processPartial
INFO: javax.el.PropertyNotFoundException: /pages/entrada/entrada.xhtml @36,56 value="#{entradaBean.entrada.fornecedor.id}": Target Unreachable, 'fornecedor' returned null
javax.el.PropertyNotFoundException: /pages/entrada/entrada.xhtml @36,56 value="#{entradaBean.entrada.fornecedor.id}": Target Unreachable, 'fornecedor' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at org.primefaces.renderkit.InputRenderer.getConverter(InputRenderer.java:154)
at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:167)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
at javax.faces.component.UIInput.validate(UIInput.java:960)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:508)
at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1589)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIForm.visitTree(UIForm.java:344)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:376)
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:252)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:183)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:183)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1170)
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:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.boletos.filter.ControleFiltro.doFilter(ControleFiltro.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
public Entrada buscaFornecedorCodigo(){
try {
if (entrada.getFornecedor().getId() != null || entrada.getFornecedor().getId() > 0){
FornecedorRepository fr = new FornecedorRepository(getEntityManager());
entrada.setFornecedor(fr.fornecedoresPorId(entrada.getFornecedor().getId()));
if (entrada.getFornecedor().getId() == null){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_INFO,""+getUsuario().getNome(), " - FORNECEDOR NÃO CADASTRADO"));
}else{
setFornecedorSelecionado(entrada.getFornecedor());
}
}else{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR,""+getUsuario().getNome(), " - INFORME O CÓDIGO"));
}
} catch (NullPointerException e) {
e.printStackTrace();
}
return entrada;
}