diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleController.java b/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleController.java index bd7c26f..0def020 100644 --- a/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleController.java +++ b/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleController.java @@ -1,31 +1,28 @@ package org.yacos.web.chairman.controller; -import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.validation.BindException; -import org.springframework.validation.Errors; +import org.directwebremoting.WebContextFactory; import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.SimpleFormController; +import org.springframework.web.servlet.mvc.Controller; import org.yacos.core.article.Article; import org.yacos.core.article.IArticleManager; import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.IConferenceManager; -import org.yacos.core.exceptions.ConferenceDoesntExistException; import org.yacos.core.users.IUserManager; import org.yacos.core.users.User; import org.yacos.core.users.Role.RoleType; -import org.yacos.web.PCmember.form.FormDispatcher; import org.yacos.web.system.session.SessionService; -public class DispatchArticleController extends SimpleFormController{ +public class DispatchArticleController implements Controller{ protected final Log logger = LogFactory.getLog(getClass()); @@ -52,9 +49,46 @@ public class DispatchArticleController extends SimpleFormController{ public void setConferenceManager(IConferenceManager conferenceManager) { this.conferenceManager = conferenceManager; } + + + public ModelAndView handleRequest(HttpServletRequest req, + HttpServletResponse arg1) throws Exception { + logger.info("Returning dispatcher view"); + + Conference conf = SessionService.getInstance().getCurrentConference(); + + //description of the article + Article article = articleManager.getArticle(Integer.parseInt(req.getParameter("articleId"))); + + //list of the member who have this article + List articleMembers = userManager.getPCMemberForArticle(article.getId()); + + Map nbArticles = new HashMap(); + + //list of member who have'nt this article + List members = userManager.getUsers(conf.getId(),RoleType.PCMEMBER); + + Map model = new HashMap(); + model.put("articleMembers",articleMembers); + model.put("members", members); + model.put("article", article); + + return new ModelAndView("dispatchArticle", model); + } + public List addMember(String memberId,int articleId){ + + articleManager.assignArticleToPCMember(articleId, memberId); + return userManager.getPCMemberForArticle(articleId); + } + + + public String sayHello(){ + return "hello"; + } + - protected Object formBackingObject(HttpServletRequest request) throws ConferenceDoesntExistException { + /*protected Object formBackingObject(HttpServletRequest request) throws ConferenceDoesntExistException { logger.info("Returning dispatcher view"); FormDispatcher fd = new FormDispatcher(); @@ -101,5 +135,5 @@ public class DispatchArticleController extends SimpleFormController{ model.put("members", members); return new ModelAndView("dispatchArticle", model); } - +*/ } diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleListController.java b/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleListController.java new file mode 100644 index 0000000..b682f93 --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/chairman/controller/DispatchArticleListController.java @@ -0,0 +1,58 @@ +package org.yacos.web.chairman.controller; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.Controller; +import org.yacos.core.article.Article; +import org.yacos.core.article.IArticleManager; +import org.yacos.core.conferences.Conference; +import org.yacos.core.conferences.IConferenceManager; +import org.yacos.core.users.IUserManager; +import org.yacos.web.system.session.SessionService; + +public class DispatchArticleListController implements Controller{ + + protected final Log logger = LogFactory.getLog(getClass()); + + private IArticleManager articleManager; + public IArticleManager getArticleManager() { + return articleManager; + } + public void setArticleManager(IArticleManager articleManager) { + this.articleManager = articleManager; + } + + private IUserManager userManager; + public IUserManager getUserManager() { + return userManager; + } + public void setUserManager(IUserManager userManager) { + this.userManager = userManager; + } + + private IConferenceManager conferenceManager; + public IConferenceManager getConferenceManager() { + return conferenceManager; + } + public void setConferenceManager(IConferenceManager conferenceManager) { + this.conferenceManager = conferenceManager; + } + public ModelAndView handleRequest(HttpServletRequest arg0, + HttpServletResponse arg1) throws Exception { + //FIXME mettre article de la requete + + Conference conf = SessionService.getInstance().getCurrentConference(); + List
listArticles = articleManager.getArticles(conf.getId()); + logger.info("returning dispatchArticleList with "+ listArticles.size() +" article"); + return new ModelAndView("dispatchArticleList","articles", listArticles); + } + + + +} diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/PCMemberBean.java b/YACOSWeb/src/org/yacos/web/chairman/controller/PCMemberBean.java new file mode 100644 index 0000000..e60fdf7 --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/chairman/controller/PCMemberBean.java @@ -0,0 +1,44 @@ +package org.yacos.web.chairman.controller; + +public class PCMemberBean { + private String login; + private String firstName; + private String lastName; + private String Preference; + private String nbArticles; + + public PCMemberBean() { + super(); + } + + public String getLogin() { + return login; + } + public void setLogin(String login) { + this.login = login; + } + public String getFirstName() { + return firstName; + } + public void setFirstName(String firstName) { + this.firstName = firstName; + } + public String getLastName() { + return lastName; + } + public void setLastName(String lastName) { + this.lastName = lastName; + } + public String getPreference() { + return Preference; + } + public void setPreference(String preference) { + Preference = preference; + } + public String getNbArticles() { + return nbArticles; + } + public void setNbArticles(String nbArticles) { + this.nbArticles = nbArticles; + } +}