Boa noite a todos, parece uma dúvida um pouco "infantil" porém não estou conseguindo detectar o local deste nullpointer. Tenho a seguinte situação: criei uma página xhtml com o formulário ainda simples para cadastro de cotação e, ao fazer a chamada do menu, ele não renderiza a página e lança uma mensagem de nullpointer no console. Alguém consegue me ajudar a encontrar problema? Desde já agradeço a todos e segue os códigos.
Cotacao.java@Entity
@Table(name = "cotacao")
public class Cotacao {
@Id
@Column(name="idCotacao")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer idCotacao;
@ManyToOne
@JoinColumn(name="idCliente")
private Cliente cliente;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="cotacao_fornecedor", schema="gpa",
joinColumns=@JoinColumn(name="idCotacao"),
inverseJoinColumns=@JoinColumn(name="idFornecedor")
)
private List<Fornecedor> fornecedores;
@Column(name="data_cot")
private Date dtCotacao;
@Column(name="produto")
private String produto1;
@Column(name="produto2")
private String produto2;
@Column(name="quantidade")
private Integer quantidade1;
@Column(name="quantidade2")
private Integer quantidade2;
@Column(name="total_pedido")
private Float totalPedido;
@Column(name="total_pedido2")
private Float totalPedido2;
@Column(name="valor_frete")
private Float valorFrete;
@Column(name="valor_frete2")
private Float valorFrete2;
@Column(name="valor_produto")
private Float valorProduto1;
@Column(name="valor_produto2")
private Float valorProduto2;
//gets e sets
CotacaoMB.java
@SessionScoped
@ManagedBean(name="cotacaoMB")
public class CotacaoMB {
private Cotacao cotacao;
private Cliente cliente;
private List<Fornecedor> fornecedores;
public CotacaoMB(){
this.cotacao = new Cotacao();
this.cliente = new Cliente();
this.getCliente().setPessoa(new Pessoa());
this.fornecedores = new ArrayList<Fornecedor>();
}
public String getPrimeiroFornecedor(){
if(this.getFornecedores() != null && !this.getFornecedores().isEmpty())
return fornecedores.get(0).getPessoa().getNome();
else
return "";
}
public String getSegundoFornecedor(){
if(this.getFornecedores() != null && !this.getFornecedores().isEmpty())
return fornecedores.get(1).getPessoa().getNome();
else
return "";
}
public void setCotacao(Cotacao cotacao) {
this.cotacao = cotacao;
}
public Cotacao getCotacao() {
return cotacao;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Cliente getCliente() {
return cliente;
}
public void setFornecedores(List<Fornecedor> fornecedores) {
this.fornecedores = fornecedores;
}
public List<Fornecedor> getFornecedores() {
return fornecedores;
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:composition template="/paginas/principais/principal.xhtml">
<ui:define name="conteudo">
<!-- INÍCIO DO FORM DE CADASTRO -->
<h:form id="novaCotacao">
<p:message id="menssagens"/>
<p:outputPanel id="formNovaCotacao">
<p:dialog id="dialogo" header="Aguarde..." modal="true" widgetVar="saveDialog" closable="false" height="100" width="60"
resizable="false">
<h:form>
<p:ajaxStatus style="width:16px;height:16px; position: center;">
<f:facet name="start">
<h:graphicImage value="/imagens/loading.gif" style="position: center;"/>
</f:facet>
</p:ajaxStatus>
</h:form>
</p:dialog>
<p:panel header="Informações da cotação" toggleable="true">
<h:panelGrid columns="3" cellpadding="2">
<h:outputLabel value="Número"/>
<h:outputLabel value="Cliente"/>
<h:outputLabel value="Data"/>
<p:inputText id="idNrCotacao" value="#{cotacaoMB.cotacao.idCotacao}" readonly="true" />
<p:inputText id="idCliente" value="#{cotacaoMB.cliente.pessoa.nome}" readonly="true"/>
<p:calendar id="idData" value="#{cotacaoMB.cotacao.dtCotacao}" navigator="true" pattern="dd/MM/yyyy" />
</h:panelGrid>
</p:panel>
<p:panel header="Pedido 1" toggleable="true">
<h:panelGrid columns="6" cellpadding="2">
<h:outputLabel value="Produto"/>
<h:outputLabel value="Valor"/>
<h:outputLabel value="Quantidade"/>
<h:outputLabel value="Frete"/>
<h:outputLabel value="Fornecedor"/>
<h:outputLabel value="Total"/>
<p:inputText id="idProduto" value="#{cotacaoMB.cotacao.produto1}"/>
<p:inputText id="idValor" value="#{cotacaoMB.cotacao.valorProduto1}"/>
<p:inputMask id="idQuantidade" value="#{cotacaoMB.cotacao.quantidade1}" mask="999999999.99" dir="RLT"/>
<p:inputMask id="idFrete" value="#{cotacaoMB.cotacao.valorFrete}" mask="999999999.99" dir="RLT"/>
<p:inputText id="idFornecedor" value="#{cotacaoMB.getPrimeiroFornecedor}"/>
<p:inputMask id="idTotal" value="#{cotacaoMB.cotacao.totalPedido2}" mask="999999999.99" dir="RLT"/>
</h:panelGrid>
</p:panel>
<p:panel header="Pedido 2" toggleable="true">
<h:panelGrid columns="6" cellpadding="2">
<h:outputLabel value="Produto"/>
<h:outputLabel value="Valor"/>
<h:outputLabel value="Quantidade"/>
<h:outputLabel value="Frete"/>
<h:outputLabel value="Fornecedor"/>
<h:outputLabel value="Total"/>
<p:inputText id="idProduto2" value="#{cotacaoMB.cotacao.produto1}"/>
<p:inputText id="idValor2" value="#{cotacaoMB.cotacao.valorProduto1}"/>
<p:inputMask id="idQuantidade2" value="#{cotacaoMB.cotacao.quantidade1}" mask="999999999.99" dir="RLT"/>
<p:inputMask id="idFrete2" value="#{cotacaoMB.cotacao.valorFrete}" mask="999999999.99" dir="RLT"/>
<p:inputText id="idFornecedor2" value="#{cotacaoMB.getPrimeiroFornecedor}"/>
<p:inputMask id="idTotal2" value="#{cotacaoMB.cotacao.totalPedido2}" mask="999999999.99" dir="RLT"/>
</h:panelGrid>
</p:panel>
</p:outputPanel><!-- /formNovaCotacao -->
</h:form><!--/novaCotacao -->
</ui:define>
</ui:composition>
</html>
17/10/2011 23:30:58 com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/paginas/cotacao/novaCotacao.xhtml]
java.lang.NullPointerException
at javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:569)
at org.primefaces.component.message.MessageRenderer.encodeEnd(MessageRenderer.java:36)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:883)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:853)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
17/10/2011 23:30:58 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/GPA] threw exception [null] with root cause
java.lang.NullPointerException
at javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:569)
at org.primefaces.component.message.MessageRenderer.encodeEnd(MessageRenderer.java:36)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:883)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:853)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)