ejb.bean.UsuarioDAOJPAImplBean.java Source code

Java tutorial

Introduction

Here is the source code for ejb.bean.UsuarioDAOJPAImplBean.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb.bean;

import ejb.dao.usuario.UsuarioDAO;
import ejb.dao.usuario.UsuarioNaoEncontradoException;
import ejb.entities.Usuario;
import ejb.entities.UsuarioImpl;
import java.util.Collection;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 *
 * @author Richel
 */
@Stateless
@LocalBean
public class UsuarioDAOJPAImplBean implements UsuarioDAO {
    static final private Log log = LogFactory.getLog(UsuarioDAOJPAImplBean.class);
    private boolean bIsClosed = false;

    /**Mtodo construtor da classe.
     * @author Richel Sensineli
     */
    public UsuarioDAOJPAImplBean() {
    }

    /**Mtodo para realizar a busca de usurio pelo ID.
     * @author Richel Sensineli
     * @param id int - ID do usurio
     * @return Usuario usuario - Objeto Usuario
     */
    @Override
    public Usuario buscaUsuarioPorId(final int id) throws UsuarioNaoEncontradoException {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU");
        EntityManager em = emf.createEntityManager();
        Usuario u = em.find(UsuarioImpl.class, id);
        if (u == null) {
            throw new UsuarioNaoEncontradoException("usuario no encontrado");
        }
        em.clear();
        em.close();
        emf.close();
        return u;
    }

    /**Mtodo para a busca de usurios pelo nome.
     * @author Richel Sensineli
     * @param nome String - Nome do usurio
     * @return Collection list
     */
    @Override
    public Collection buscaUsuarioPorNome(final String nome) {
        Collection result = null;
        return result;
    }

    /**Mtodo para a remoo de usurio.
     * @author Richel Sensineli
     * @param id int - ID do usurio
     * @throws UsuarioNaoEncontradoException - usurio no encontrado
     */
    @Override
    public void removeUsuario(final int id) throws UsuarioNaoEncontradoException {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU");
        EntityManager em = emf.createEntityManager();

        Usuario u = em.find(UsuarioImpl.class, id);

        em.getTransaction().begin();
        if (u == null) {
            throw new UsuarioNaoEncontradoException("usuario no encontrado");
        } else {
            em.remove(u);
            em.getTransaction().commit();
        }
        em.clear();
        em.close();
        emf.close();

    }

    /**Mtodo para a criao de usurio
     * @author Richel Sensineli\
     * @param nome String - Nome do usurio
     * @param sobrenome String - Nome do usurio
     * @return Usuario usuario - Objeto Usurio
     */
    @Override
    public Usuario criaUsuario(final String nome, final String sobrenome) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU");
        EntityManager em = emf.createEntityManager();

        UsuarioImpl user = new UsuarioImpl();
        user.setNome(nome);
        user.setSobrenome(sobrenome);

        em.getTransaction().begin();
        try {
            em.persist(user);
            em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        }

        em.clear();
        em.close();
        emf.close();

        return user;
    }

    /**Mtodo para a atualizao do usurio
     * @author Richel Sensineli
     * @param id int - ID do usurio
     * @param nome String - Nome do usurio
     * @param sobrenome String - Nome do usurio
     */
    @Override
    public void updateUsuario(final int id, final String nome, final String sobrenome)
            throws UsuarioNaoEncontradoException {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU");
        EntityManager em = emf.createEntityManager();

        UsuarioImpl user = em.find(UsuarioImpl.class, id);
        user.setNome(nome);
        user.setSobrenome(sobrenome);

        em.getTransaction().begin();
        try {
            em.merge(user);
            em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        }

        em.clear();
        em.close();
        emf.close();
    }

    /**Mtodo para fechar a conexo
     * @author Richel Sensineli
     */
    @Override
    public void close() {
        log.info("close() called");
        bIsClosed = true;
    }

    /**Mtodo para verificar se a conexo est ou no fechada.
     * @author Richel Sensineli
     * @param isClosed boolean - confirmao do fechamento de conexo
     */
    @Override
    public boolean isClosed() {
        return bIsClosed;
    }

    /**Mtodo para a busca de todos os usurios existentes no banco de dados.
     * @author Richel Sensineli
     * @param nome String - Nome do usurio
     * @return Collection list
     */
    @Override
    public Collection buscaTodosUsuarios() {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU");
        EntityManager em = emf.createEntityManager();
        Query q = em.createQuery("select u from UsuarioImpl u");
        Collection result = null;
        result = q.getResultList();
        em.clear();
        em.close();
        emf.close();
        return result;
    }
}