diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java index 226a2ab..75b4215 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java @@ -1,6 +1,5 @@ package org.yacos.core.conferences; -import java.util.Collection; import java.util.Date; import java.util.List; @@ -9,9 +8,10 @@ import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; -import org.yacos.core.article.Article; import org.yacos.core.users.Role; import org.yacos.core.users.User; +import org.yacos.core.users.Role.RoleType; + @Stateless public class ConferenceManagerBean implements IConferenceManager { @@ -42,34 +42,47 @@ public class ConferenceManagerBean implements IConferenceManager { em.merge(conf); } + /* public List
getArticles(Integer conference_id) { //FIXME cast a verifier lors des tests return getConference(conference_id).getArticles(); } - - public void addArticle(User user) { +*/ + //FIXME + /*public void addArticle(User user) { // TODO Auto-generated method stub + }*/ + + public List getConferencesForUser(User user){ + return user.getConferences(); } - - public void addRoleForUser(Role.RoleType roleType, User user, Conference conf) { + + /* + * + * méthodes relatives aux roles + * */ + + public void addRole(Role.RoleType roleType, User user, Conference conf) { Role role = new Role(roleType, user, conf); em.persist(role); } + public void removeRole(Role role) { + em.remove(role); + } + + public void updateRole(Role role){ + em.merge(role); + } + @SuppressWarnings("unchecked") public List getRoles(User user, Conference conf) { Query query = em.createQuery("from Role role where conference = ? and user = ?"); query.setParameter(0, conf); query.setParameter(1, user); - return query.getResultList(); } - - - public void removeRoleForUser(Role role) { - // TODO Auto-generated method stub - - } + } diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java b/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java index 8354d53..e2aae94 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java @@ -1,12 +1,10 @@ package org.yacos.core.conferences; -import java.util.Collection; import java.util.Date; import java.util.List; import javax.ejb.Remote; -import org.yacos.core.article.Article; import org.yacos.core.users.Role; import org.yacos.core.users.User; @@ -16,7 +14,7 @@ public interface IConferenceManager { //CRUD methodes public Conference addConference(String titre, String descirption, String infoComplementray, Date dataAbstract, Date dateArticle, Date dateEvaluation, Date dateStart, Date dateEnd); public Conference getConference(Integer id); - public List getConferences(); + public void remove(Conference conf); public void update(Conference conf); @@ -24,10 +22,15 @@ public interface IConferenceManager { //FIXME //methode a gicler ? //public void addArticle(User user); - public Collection
getArticles(Integer id); + //public Collection
getArticles(Integer id); + + //list methodes + public List getConferences(); + public List getConferencesForUser(User user); //role methode - public void addRoleForUser(Role.RoleType roleType, User user, Conference conf); - public void removeRoleForUser(Role role); + public void addRole(Role.RoleType roleType, User user, Conference conf); + public void removeRole(Role role); public List getRoles(User user, Conference conf); + public void updateRole(Role role); } diff --git a/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java b/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java index 6edbaf5..d178abb 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java @@ -1,6 +1,6 @@ package org.yacos.core.users; -import java.util.Collection; +import java.util.List; import javax.ejb.Remote; @@ -10,7 +10,7 @@ import org.yacos.core.exceptions.PKAlreadyUsedException; public interface IUserManager { //crud methode - public Collection getUsers(); + public List getUsers(); public User addUser(String login, String password, String firstName, String lastName, String organization, String email) throws PKAlreadyUsedException; public void removeUser(User user); @@ -19,6 +19,7 @@ public interface IUserManager { public Boolean exists(String login); //role methode - public Collection getRoles(); + public List getRoles(); + } diff --git a/YACOSCore/ejbModule/org/yacos/core/users/User.java b/YACOSCore/ejbModule/org/yacos/core/users/User.java index aa74f95..0f21f13 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/User.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/User.java @@ -2,7 +2,7 @@ package org.yacos.core.users; import java.io.Serializable; import java.util.ArrayList; -import java.util.Collection; +import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; @@ -56,7 +56,7 @@ public class User implements Serializable{ * Roles for this user */ @OneToMany(targetEntity=Role.class,mappedBy="user") - private Collection roles; + private List roles; public User(String login, String password, String firstName, String lastName, String organization, String email) { @@ -133,7 +133,7 @@ public class User implements Serializable{ } @OneToMany(targetEntity=Role.class,mappedBy="user") - public Collection getRoles(){ + public List getRoles(){ return roles; } @@ -156,12 +156,23 @@ public class User implements Serializable{ * @param roles the roles to set */ @OneToMany(targetEntity=Role.class,mappedBy="user") - public void setRoles(Collection roles) { + public void setRoles(List roles) { this.roles = roles; } - public void AddRole(Role role){ - roles.add(role); + + public List getConferences(){ + Conference conf; + List list = new ArrayList(); + List tmpList = getRoles(); + + for (Role role : tmpList) { + conf = role.getConference(); + if(!list.contains(conf)){ + list.add(conf); + } + } + return list; } } diff --git a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java index cc24d36..6bf0839 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java @@ -3,7 +3,8 @@ */ package org.yacos.core.users; -import java.util.Collection; + +import java.util.List; import javax.ejb.Stateless; import javax.persistence.EntityManager; @@ -22,7 +23,7 @@ public class UserManagerBean implements IUserManager{ EntityManager em; @SuppressWarnings("unchecked") - public Collection getUsers(){ + public List getUsers(){ Query query = em.createNativeQuery("from User", User.class); return query.getResultList(); } @@ -65,7 +66,7 @@ public class UserManagerBean implements IUserManager{ return (this.getUser(login)!= null); } - public Collection getRoles() { + public List getRoles() { // TODO Auto-generated method stub return null; }