Estou com dificuldade de sincronizar na minha view os dados que fiz atualização no java.
esse é o método dentro de minha classe que extends AbstractAssembler.
public void updateItem(Object newVersion, Object previousVersion,
List changes) {
int productId = ((ChamadoEntity) newVersion).getId();
try {
dao.update((ChamadoEntity) newVersion);
} catch (Exception e) {
throw new DataSyncException(dao.findById(productId,
(ChamadoEntity) newVersion), changes);
}
}
esse é o meu método no meu DAO no java.
public ChamadoEntity update(ChamadoEntity chamado) {
HibernatUtil.openSession();
Session session = HibernatUtil.getCurrentSession();
List<ChamadoEntity> list = (List<ChamadoEntity>) getPendente();
if (chamado.getStatus().equalsIgnoreCase("EXECUTANDO")) {
for (ChamadoEntity chamadoEntity : (List<ChamadoEntity>) list) {
if (chamadoEntity.getPosicao() != 0) {
chamadoEntity.setPosicao(chamadoEntity.getPosicao() - 1);
session.beginTransaction().begin();
session.merge(chamadoEntity);
session.beginTransaction().commit();
}
}
}
try {
if (chamado.getStatus().equalsIgnoreCase("EXECUTANDO")) {
chamado.setPosicao(0);
}
session.beginTransaction().begin();
session.merge(chamado);
session.beginTransaction().commit();
return chamado;
} catch (OptimisticLockException e) {
throw new BeanException(e.toString());
}
}
a lista na minha view na é atualizada, somente o objeto que atualizei usando o método commitRequired, esse é a minha function no flex.
private function capiturarChamado():void{
mdlChamado.chamadoEntity = .mdlChamado.list.getItemAt(dgChamados.selectedIndex) as ChamadoEntity;
mdlChamado.chamadoEntity.posicao = 0;
mdlChamado.chamadoEntity.executante = UsuarioModelLocator.usuarioEntity as UsuarioEntity;
mdlChamado.chamadoEntity.status = "EXECUTANDO";
mdlChamado.chamadoEntity.dataCaptura = new Date();
if(dsChamado.commitRequired){
dsChamado.commit();
}
}
por via das duvida esta mandando até o dado que estou atualizando em minha regra para alterar a posição da fila.