public void onCellEdit(CellEditEvent event) {
System.out.println(event.getNewValue());
System.out.println(event.getOldValue());
}
Ambos imprimem o valor ANTIGO.
Um outro fato estranho, a célula modificada só fica modificada quando a seleciono(clicko em cima dela), quando clicko fora, o valor antigo aparece novamente.
Qual versão do Primefaces está utilizando, se não me engano a partir da versão 4.0, tem os eventos abaixo que podes usar para atualizar o datatable:
rowEditInit - Quando uma linha muda para o estado de edição.
rowEditCancel - Quando a edição de uma linha é cancelada.
rowEdit - Quando a linha é editada.
Veja ai se algum desses eventos pode ser útil pra resolver o problema.
Só uma pergunta, você relatou que old e newValue estão iguais, você alterou os valores antes de fazer o teste, certo?
Estou fora de casa, e não tenho como testar os eventos citados, mas tentarei em breve e te deixarei saber.
Quanto a sua pergunta: Sim, fiz um teste para que dispare no console uma mensagem imprimindo ambos os valores. Quando faço a alteração, aparecem duas vezes o valor antigo.
Eu tinha este problema também, mas acabei resolvendo. Fiz como indicava o Showcase do Primefaces. Para mim o problema é que estava utilizando um form para outro componente dentro do form principal e, quando chamava este (update=":equipeForm:msgs"), por algum motivo, não atualizava o novo valor da célula da tabela. Acabei alterando, retirando este form do outro componente e funcionou certinho. Li em alguns fóruns que a utilização da propriedade “process” pode causar erros nesta atualização de valores também.