diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java index aeef941..c907e90 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java @@ -11,7 +11,6 @@ import javax.persistence.Query; import org.yacos.core.users.Role; import org.yacos.core.users.User; -import org.yacos.core.users.UserManagerBean; @Stateless @@ -45,14 +44,13 @@ public class ConferenceManagerBean implements IConferenceManager { public List getConferences(User user){ List list = new ArrayList(); - List tmpList = new UserManagerBean().getRoles(); + List tmpList = this.getRoles(user); + Conference conf; for (Role role : tmpList) { conf = role.getConference(); - if(!list.contains(conf)){ - list.add(conf); - } + list.add(conf); } return list; } @@ -60,12 +58,11 @@ public class ConferenceManagerBean implements IConferenceManager { /* * - * méthodes relatives aux roles + * méthodes relatives aux roles * */ public void addRole(Role.RoleType roleType, User user, Conference conf) { Role role = new Role(roleType, user, conf); - System.out.println(role); em.persist(role); } @@ -77,21 +74,30 @@ public class ConferenceManagerBean implements IConferenceManager { em.merge(role); } - //FIXME - //methode utile? - public List getRoles(){ - return em.createQuery("from Role role").getResultList(); - + @SuppressWarnings("unchecked") + public List getRoles(Conference conf){ + Query query = em.createQuery("from Role role where conference = ?"); + query.setParameter(1, conf); + return query.getResultList(); } + @SuppressWarnings("unchecked") + public List getRoles(User user) { + Query query = em.createQuery("from Role role where user = ?"); + query.setParameter(1, user); + return query.getResultList(); + } + @SuppressWarnings("unchecked") public List getRoles(User user, Conference conf) { Query query = em.createQuery("from Role role where conference = ? and user = ?"); query.setParameter(1, conf); - query.setParameter(2, user); - + query.setParameter(2, user); return query.getResultList(); } + + + } diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java b/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java index 54fb03c..d2a1410 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java @@ -32,7 +32,7 @@ public interface IConferenceManager { //role et user methode public void addRole(Role.RoleType roleType, User user, Conference conf); public void removeRole(Role role); - public List getRoles(); + public List getRoles(Conference conf); public List getRoles(User user, Conference conf); public void updateRole(Role role); } diff --git a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java index 6a75015..c359797 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java @@ -11,7 +11,9 @@ import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; +import org.yacos.core.conferences.Conference; import org.yacos.core.exceptions.PKAlreadyUsedException; +import org.yacos.core.users.Role.RoleType; /** * @author christiancorsano @@ -66,9 +68,14 @@ public class UserManagerBean implements IUserManager{ return (this.getUser(login)!= null); } - public List getRoles() { + public List getUsers(Conference conf) { // TODO Auto-generated method stub - return em.createQuery("from Role").getResultList(); + return null; + } + + public List getUsers(RoleType type) { + // TODO Auto-generated method stub + return null; } }