Problemas com atualizar

0 respostas
M

Boa noite pessoal,

Estou com dificuldades para fazer um atualizar utilizando JSF e Hibernate.

Eu fiz o Dao e o Bean porem quando eu clico no botão que deveria fazer a atualização ele não faz nada nem erro ele mostra.
Alguém poderia me ajudar por favor?

Segue o código abaixo:

Esse é o botão que deveria fazer o atualizar:

<p:commandButton action="#{finalizarChamadoBean.finalizar}" value="Finalizar" />
Esse é meu DAO:
public class FinalizarChamadoDao {

	private EntityManager manager;

	public FinalizarChamadoDao(EntityManager manager){
		this.manager = manager;
	}

	@SuppressWarnings("unchecked")
	public List<Usuario> listarTodos(int pagina, int quantidadePorPagina){
		Query query = manager.createQuery("SELECT x FROM Chamado x");
		query.setFirstResult(pagina);
		query.setMaxResults(quantidadePorPagina);
		return query.getResultList();
	}

	public Chamado getProtocolo(int protocolo) {
		Query query = manager.createQuery("SELECT u FROM Usuario u WHERE u.protocolo = :protocolo");
		query.setParameter("protocolo", protocolo);

		try {
			return (Chamado) query.getSingleResult();
		} catch (NoResultException e) {
			return null;
		}
	}

	public void finalizarChamado(Chamado finalizado){
		manager.merge(finalizado);
		manager.flush();
	}

}

E esse é meu BEAN:

public class FinalizarChamadoBean {

	private EntityManager entityManager;
	private FinalizarChamadoDao finalizarChamadoDao;

	private Chamado chamado;
	private Descricaochamado descricaoChamado;

	private LoginBean loginBean;

	public FinalizarChamadoBean(){
		this.entityManager = JPAUtil.getEntityManagerFactory().createEntityManager();
		this.finalizarChamadoDao = new FinalizarChamadoDao(this.entityManager);
		this.descricaoChamado = new Descricaochamado();

		this.loginBean = (LoginBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("loginBean");
	}

	public Chamado getChamado() {
		return chamado;
	}

	public void setChamado(Chamado chamado) {
		this.chamado = chamado;
	}


	public String finalizar(){

		
		chamado.setDataFechamento(Calendar.getInstance().getTime());

		chamado.setUsuario2(loginBean.getUsuarioLogado());

		Statuschamado status = new GenericDao<Statuschamado>(entityManager, Statuschamado.class).ler(3); // lendo o status do bd
		chamado.setStatuschamado(status);

		descricaoChamado.setChamado(chamado);
		descricaoChamado.setUsuarioBean(loginBean.getUsuarioLogado());
		this.entityManager.getTransaction().begin();
		try {

			this.finalizarChamadoDao.finalizarChamado(chamado);

			new GenericDao<Descricaochamado>(entityManager, Descricaochamado.class).criar(descricaoChamado);
			this.entityManager.getTransaction().commit();
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Finalizado com sucesso!", ""));

		} catch (PersistenceException e) {
			e.printStackTrace();
			if (this.entityManager.getTransaction()!=null && this.entityManager.getTransaction().isActive()) {
				this.entityManager.getTransaction().rollback();
			}
		}
			return "telaInicialUsuario.jsf";
	}

	public Descricaochamado getDescricaoChamado() {
		return descricaoChamado;
	}

	public void setDescricaoChamado(Descricaochamado descricaoChamado) {
		this.descricaoChamado = descricaoChamado;
	}

}
Criado 11 de dezembro de 2012
Respostas 0
Participantes 1