diff --git a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties index d57837e..9e12f3c 100644 --- a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties +++ b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties @@ -79,6 +79,13 @@ form.register.error.passwordEmpty=The password can't be empty form.register.error.alreadyExists=A user with this login already exists. Please check you haven't already registered or change your login. +################### +# MESSAGE ERROR +message.error.noconferenceforthisid=This conference doesn't exist. Pease try again +message.error.noconferenceid=No conference selectionned +message.error.conferenceerror=Error. Try again. + + submission.title=Article's submission form.submission.article.title=Article's title diff --git a/YACOSWeb/WebContent/WEB-INF/decorators/headerchoose.jsp b/YACOSWeb/WebContent/WEB-INF/decorators/headerchoose.jsp index a71e47e..43d672e 100644 --- a/YACOSWeb/WebContent/WEB-INF/decorators/headerchoose.jsp +++ b/YACOSWeb/WebContent/WEB-INF/decorators/headerchoose.jsp @@ -13,7 +13,7 @@
- + La conférence courante est :
${currentConference.title} diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/listConference.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/listConference.jsp index c2360a7..a3bea73 100644 --- a/YACOSWeb/WebContent/WEB-INF/jsp/listConference.jsp +++ b/YACOSWeb/WebContent/WEB-INF/jsp/listConference.jsp @@ -6,12 +6,23 @@

Choose a conference

+ + + + + + + +
+
+ + Choix de la conference

- - La conférence courante est : ${idCurrentConference}.

+ + La conférence courante est : ${currentConference.title}.

- + Il n'y a pas de conférence sélectionné.

diff --git a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml index 55e72bc..bd5c3f6 100644 --- a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml +++ b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml @@ -209,7 +209,8 @@ + class="org.yacos.web.system.controller.ChooseConferenceController"> + diff --git a/YACOSWeb/src/org/yacos/web/system/controller/ChooseConferenceController.java b/YACOSWeb/src/org/yacos/web/system/controller/ChooseConferenceController.java index 0ba747c..ef5d712 100644 --- a/YACOSWeb/src/org/yacos/web/system/controller/ChooseConferenceController.java +++ b/YACOSWeb/src/org/yacos/web/system/controller/ChooseConferenceController.java @@ -1,22 +1,64 @@ package org.yacos.web.system.controller; +import java.util.HashMap; +import java.util.Map; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; +import org.springframework.web.servlet.view.RedirectView; +import org.yacos.core.conferences.IConferenceManager; import org.yacos.web.system.session.SessionService; public class ChooseConferenceController implements Controller { + private IConferenceManager conferenceManager; + + public IConferenceManager getConferenceManager() { + return conferenceManager; + } + public void setConferenceManager(IConferenceManager conferenceManager) { + this.conferenceManager = conferenceManager; + } + public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { - // get IDConf - int idConf = Integer.parseInt(request.getParameter("idConf")); + Map model = new HashMap(); - // Set idConf in session context - SessionService.getInstance().setCurrentConferenceId(idConf); + // get IDConf if exist + if (request.getParameter("idConf") != null) + { + try + { + int idConf = Integer.parseInt(request.getParameter("idConf")); + + if(conferenceManager.exists(idConf)) + { + // Set idConf in session context + SessionService.getInstance().setCurrentConferenceId(idConf); + + return new ModelAndView("main"); + } + else + { + model.put("error", "1"); + return new ModelAndView(new RedirectView("listConference.htm"), model); + } + } + catch(NumberFormatException e) + { + model.put("error", "3"); + return new ModelAndView(new RedirectView("listConference.htm"), model); + } + + } + else + { + model.put("error", "2"); + return new ModelAndView(new RedirectView("listConference.htm"), model); + } - return new ModelAndView("main"); } } diff --git a/YACOSWeb/src/org/yacos/web/system/controller/ListConferenceController.java b/YACOSWeb/src/org/yacos/web/system/controller/ListConferenceController.java index 433059f..473fffa 100644 --- a/YACOSWeb/src/org/yacos/web/system/controller/ListConferenceController.java +++ b/YACOSWeb/src/org/yacos/web/system/controller/ListConferenceController.java @@ -39,7 +39,15 @@ public class ListConferenceController implements Controller{ // List all conference Map model = new HashMap(); model.put("listConference", conferenceManager.getConferences()); - + + // Error choose conference + String msgCode = request.getParameter("error"); + if (msgCode != null) + { + model.put("errorMessage", msgCode); + } + + return new ModelAndView("listConference", model); }