UserBean.java 1.58 KB
package fi.insomnia.bortal.beans;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.insomnia.bortal.UserBeanLocal;
import fi.insomnia.bortal.model.User;

/**
 * Session Bean implementation class UserBean
 */
@LocalBean
@Stateless
public class UserBean extends Generiimplements UserBeanLocal {

    private static final Logger logger = LoggerFactory.getLogger(UserBean.class);
    /**
     * Java EE container injektoi t�m�n luokkamuuttujan luokan luonnin
     * yhteydess�.
     */
    @PersistenceContext
    private EntityManager em;

    /**
     * Default constructor.
     */
    public UserBean() {
	// TODO Auto-generated constructor stub
    }

    @Override
    public User createNewUser(String nick, String password) {
	User returnUser = new User();
	returnUser.setNick(nick);

	// TODO: Hash function....
	returnUser.setPassword(password);

	// Tallennetaan olio kantaan...
	em.persist(returnUser);
	return returnUser;
    }

    public List<User> getUsers() {
	List<User> ret = em.createQuery("select u from User u", User.class)
		.getResultList();
	logger.info("Found {} users from database ", ret.size());
	return ret;
    }

    @Override
    public void mergeChanges(User currentUser) {
	em.merge(currentUser);
    }

    public User getUser(String nick) {
	User ret = em.createQuery("select u from User u where u.nick = :name",
		User.class).setParameter("name", nick).getSingleResult();
	return ret;
    }

}