This commit is contained in:
Maxime Dagnicourt
2008-01-10 00:20:58 +00:00
parent 64eb7f635d
commit 7c7ca333de

View File

@@ -0,0 +1,66 @@
/**
*
*/
package org.yacos.core.users;
import java.util.Collection;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.yacos.core.exceptions.PKAlreadyUsedException;
/**
* @author christiancorsano
*
*/
@Stateless
public class UserManagerBean implements IUserManager{
@PersistenceContext
EntityManager em;
@SuppressWarnings("unchecked")
public Collection<User> getUsers(){
Query query = em.createNativeQuery("from User", User.class);
return query.getResultList();
}
/**
* Adds a user into the system
* throw PKAlreadyUsedException if login exist in the DB
* @param user
*/
public void addUser(User user) throws PKAlreadyUsedException{
if (!this.existe(user)){
em.persist(user);
}
else{
throw new PKAlreadyUsedException();
}
}
/**
* Removes a user from the system
* @param user
*/
public void removeUser(User user){
User persistedUser = em.find(User.class, user.getLogin());
em.remove(persistedUser);
}
public User getUser(String login) {
return em.find(User.class, login);
}
public void UpdateUser(User user){
em.merge(user);
}
public Boolean existe(User user){
return (this.getUser(user.getLogin())!= null);
}
}