diff --git a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java new file mode 100644 index 0000000..5401e0a --- /dev/null +++ b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java @@ -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 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); + } + + +}