diff --git a/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java b/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java index 4c14ec5..c41fd60 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/IUserManager.java @@ -26,7 +26,7 @@ public interface IUserManager { // methodes lister public List getUsers(); public List getUsers(Conference conf); - public List getUsers(Role.RoleType type); + public List getUsers(int conf_id,Role.RoleType type); /** * Create and adds a role to a user * @param login The login of the user diff --git a/YACOSCore/ejbModule/org/yacos/core/users/User.java b/YACOSCore/ejbModule/org/yacos/core/users/User.java index 40e8a5c..422f94f 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/User.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/User.java @@ -7,7 +7,6 @@ import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.OneToMany; @@ -60,7 +59,7 @@ public class User implements Serializable{ * Roles for this user */ //@OneToMany(targetEntity=Role.class,mappedBy="user",fetch=FetchType.EAGER,cascade=CascadeType.ALL) - @OneToMany(targetEntity=Role.class,mappedBy="user",cascade=CascadeType.ALL) + @OneToMany(cascade=CascadeType.ALL, targetEntity=Role.class,mappedBy="user") private List roles; @OneToMany(targetEntity=Article.class,mappedBy="mainAuthor") @@ -141,11 +140,20 @@ public class User implements Serializable{ } //@OneToMany(targetEntity=Role.class,mappedBy="user",fetch=FetchType.EAGER) - @OneToMany(targetEntity=Role.class,mappedBy="user") + @OneToMany(cascade=CascadeType.ALL, targetEntity=Role.class,mappedBy="user") public List getRoles(){ return roles; } + /** + * @param roles the roles to set + */ + //@OneToMany(targetEntity=Role.class,mappedBy="user",fetch=FetchType.EAGER) + @OneToMany(cascade=CascadeType.ALL, targetEntity=Role.class,mappedBy="user") + public void setRoles(List roles) { + this.roles = roles; + } + /** * @return the password */ @@ -161,14 +169,7 @@ public class User implements Serializable{ this.login = login; } - /** - * @param roles the roles to set - */ - //@OneToMany(targetEntity=Role.class,mappedBy="user",fetch=FetchType.EAGER) - @OneToMany(targetEntity=Role.class,mappedBy="user") - public void setRoles(List roles) { - this.roles = roles; - } + @OneToMany(targetEntity=Article.class,mappedBy="mainAuthor") public List
getArticles() { diff --git a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java index 51771bd..7ab08dc 100644 --- a/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/users/UserManagerBean.java @@ -73,12 +73,15 @@ public class UserManagerBean implements IUserManager{ return null; } - public List getUsers(RoleType type) { - Query query = em.createQuery("from Role role where type = ?"); + @SuppressWarnings("unchecked") + public List getUsers(int conf_id,RoleType type) { + Query query = em.createQuery("select user from User user, Role role where user.login = role.user and role.type = ? and role.conference = ?)"); query.setParameter(1, type); + Conference conference = em.find(Conference.class, conf_id); + query.setParameter(2, conference); return query.getResultList(); } - + public List getRoles() { // TODO Auto-generated method stub return null;