From 8209b57d91ca78dd5d5d4b681bcac10c2453d10d Mon Sep 17 00:00:00 2001 From: Maxime Dagnicourt Date: Thu, 10 Jan 2008 00:29:35 +0000 Subject: [PATCH] --- .../yacos/core/conferences/Conference.java | 29 ++++++++--- .../conferences/ConferenceManagerBean.java | 50 +++++++++++++++---- .../core/conferences/IConferenceManager.java | 25 +++++++--- 3 files changed, 80 insertions(+), 24 deletions(-) diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/Conference.java b/YACOSCore/ejbModule/org/yacos/core/conferences/Conference.java index be62c0b..b320066 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/Conference.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/Conference.java @@ -1,6 +1,7 @@ package org.yacos.core.conferences; import java.io.Serializable; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -8,21 +9,19 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; import javax.persistence.OneToMany; -import javax.persistence.OneToOne; import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.yacos.core.article.Article; -import org.yacos.core.users.User; +import org.yacos.core.users.Role; + @Entity public class Conference implements Serializable{ - /** - * - */ + private static final long serialVersionUID = 1L; + @Id @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; @@ -40,6 +39,12 @@ public class Conference implements Serializable{ @Temporal(TemporalType.DATE) private Date dateEnd; + /** + * Roles of users for this conference + */ + @OneToMany(targetEntity=Role.class,mappedBy="conference") + private Collection roles; + /*@OneToOne(targetEntity=User.class,optional=true) @JoinColumn(name="chairman_id",nullable=true) private User chairman; @@ -133,11 +138,11 @@ public class Conference implements Serializable{ } public Conference() { + this.roles = new ArrayList(); } public Conference(String titre, String descirption, String infoComplementray, Date dataAbstract, Date dateArticle, Date dateEvaluation, Date dateStart, Date dateEnd) { - super(); - this.id = id; + this(); this.titre = titre; this.description = descirption; this.otherInformations = infoComplementray; @@ -157,4 +162,12 @@ public class Conference implements Serializable{ public Collection
getArticles() { return articles; } + + public Collection getRoles() { + return roles; + } + + public void setRoles(Collection roles) { + this.roles = roles; + } } diff --git a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java index 96722f8..7837b48 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/ConferenceManagerBean.java @@ -1,11 +1,15 @@ package org.yacos.core.conferences; -import javax.ejb.Stateless; -import java.util.ArrayList; +import java.util.Collection; import java.util.List; + +import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; + import org.yacos.core.article.Article; +import org.yacos.core.users.Role; +import org.yacos.core.users.User; @Stateless public class ConferenceManagerBean implements IConferenceManager { @@ -25,18 +29,44 @@ public class ConferenceManagerBean implements IConferenceManager { return em.find(Conference.class, id); } - public void remove(Integer id) { - Conference conf=this.getConference(id); - em.remove(conf); + public void remove(Conference conf) { + Conference persistedConf = em.find(Conference.class, conf.getId()); + em.remove(persistedConf); } - public void update(Conference newC, Integer id) { - this.remove(id); - this.addConference(newC); + public void update(Conference conf) { + em.merge(conf); } - public List
getArticles(Integer conference_id) { - return new ArrayList
(getConference(conference_id).getArticles()); + public Collection
getArticles(Integer conference_id) { + //FIXME cast a verifier lors des tests + return getConference(conference_id).getArticles(); + } + + public void addArticle(User user) { + // TODO Auto-generated method stub + + } + + public void addRoleForUser(Role.RoleType roleType, User user, Conference conf) { + Role role = new Role(roleType, user, conf); + em.persist(role); + } + + public void getRoles(Role role, User user) { + // TODO Auto-generated method stub + + } + + + public void getRoles(User user, Conference conf) { + // TODO Auto-generated method stub + + } + + 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 b19f875..dba46fe 100644 --- a/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/conferences/IConferenceManager.java @@ -1,16 +1,29 @@ package org.yacos.core.conferences; -import java.util.List; +import java.util.Collection; + import javax.ejb.Remote; import org.yacos.core.article.Article; +import org.yacos.core.users.Role; +import org.yacos.core.users.User; @Remote public interface IConferenceManager { - public void addConference(Conference conf); + + //CRUD methodes + public void addConference(Conference conf); public Conference getConference(Integer id); - public List getConferences(); - public void remove(Integer id); - public void update(Conference newC,Integer id); - public List
getArticles(Integer id); + public Collection getConferences(); + public void remove(Conference conf); + public void update(Conference conf); + + //article methodes + public void addArticle(User user); + public Collection
getArticles(Integer id); + + //role methode + public void addRoleForUser(Role.RoleType roleType, User user, Conference conf); + public void removeRoleForUser(Role role); + public void getRoles(User user, Conference conf); }