[Resolvido]Datatable edit do primefaces não envia valor atualizado para edição

Boa tarde pessoal! Estou tentando realizar um update através do datatable edit do primefaces, porém não envia o valor do inputtext atualizado para o bean. O processo ocorre quase que corretamente, o valor é enviado e atualizado, porém o valor antigo, já carregado na datatable.

alguém pode me ajudar nessa

listaProduto.xhtml

`<!DOCTYPE html 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.org/ui">

	

      	<ui:composition template= "template.xhtml">





<ui:define name="conteudo" >
    
<h:form id="form">
		
	
			
			
			<p:growl id="msgs" showDetail="true"/>

<p:dataTable  var="prod" value="#{pBean.listaproduto}" editable="true" style="margin-bottom:20px" id="listaproduto1" >
   

       <p:ajax event="rowEditInit" listener="#{pBean.onRowEdit}" update=":form:msgs" immediate="true"  />
      <p:ajax event="rowEditCancel" listener="#{pBean.onRowCancel}" update=":form:msgs" /> 

   <p:column headerText="Id">
       
           <h:outputText value="#{prod.id}"/>
       
    </p:column>
     <p:column headerText="Nome">
       <p:cellEditor>
           <f:facet name="output"><h:outputText value="#{prod.nome}"/></f:facet>
           <f:facet name="input"><p:inputText  value="#{prod.nome}" style="width:100%"/></f:facet>
       </p:cellEditor>
    </p:column>
   <p:column headerText="Preço">
       <p:cellEditor>
           <f:facet name="output"><h:outputText value="#{prod.preco}"/></f:facet>
           <f:facet name="input"><p:inputText  value="#{prod.preco}" style="width:100%"/></f:facet>
       </p:cellEditor>
   </p:column>
   <p:column headerText="Fornecedor">
       <p:cellEditor>
           <f:facet name="output"><h:outputText value="#{prod.fornecedor}"/></f:facet>
           <f:facet name="input"><p:inputText  value="#{prod.fornecedor}" style="width:100%"/></f:facet>
       </p:cellEditor>
   </p:column>
   <p:column headerText="Categoria">
       <p:cellEditor>
           <f:facet name="output"><h:outputText value="#{prod.categoria}"/></f:facet>
           <f:facet name="input"><p:inputText id="cate"  value="#{prod.categoria}" style="width:100%"/></f:facet>
       </p:cellEditor>
   </p:column>             

     

    <p:column style="width:32px">
       <p:rowEditor  />
       
       
   </p:column> 
  </p:dataTable>
	
		</h:form>
    
    
    
</ui:define>

    </ui:composition>

   </html>`

ProdutoBean

            package manager;




  import java.util.List;
  import javax.faces.application.FacesMessage;
  import javax.faces.bean.ManagedBean;
  import javax.faces.bean.ViewScoped;
  import javax.faces.context.FacesContext;
  import org.primefaces.event.RowEditEvent;
  import br.com.estoque.model.Produto;
  import br.com.estoque.persistence.ProdutoDao;

 @ManagedBean(name="pBean")
@ViewScoped
public class ProdutoBean {
private Produto produto;
private List<Produto> listaproduto;

public ProdutoBean() {
	produto = new Produto();
}
public Produto getProduto() {
	
	return produto;
	
	
}
public void setProduto(Produto produto) {
	this.produto = produto;
}


public List<Produto> getListaproduto() {
	try{
		
		listaproduto = new ProdutoDao().listar();
		
		
		
	}catch(Exception e){
		e.printStackTrace();
	}
	
	
	return listaproduto;
}
public void setListaproduto(List<Produto> listaproduto) {
	this.listaproduto = listaproduto;
}

public String cadastrar() {
	FacesContext fc = FacesContext.getCurrentInstance();
	
		try{
			
			new ProdutoDao().cadastrar(produto);
			
			fc.addMessage("formproduto", new FacesMessage(produto.getNome() + "produto cadastrado com sucesso"));
			
			produto = new Produto();
			
		}catch(Exception e){
			e.printStackTrace();
			fc.addMessage("formproduto", new FacesMessage(produto.getNome() + "Não cadastrado"));
		}
		
		return null;		
	
}


 public void onRowEdit(RowEditEvent event) {
	 System.out.println(produto);
	

     produto = ((Produto) event.getObject());
	    
	    System.out.println(produto);
 }
	 
	     
   
	public void onRowCancel(RowEditEvent event) {
        FacesMessage msg = new FacesMessage("Edit Cancelled");
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
     


}

Pessoal, consegui resolver. na verdade o problema estava no meu get listaprodutos… após inserir um if e else, testando se lista produto era nulo, funcionou normalmente.
O legal é, como o amigo indicou, verificar sempre os valores passados pelo network do navegador.

Abraços