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);
}