Merge avec mes modifications locales
Ajout d'un Bean SessionService pour factoriser les méthodes de session Utilisation de WebUtils pour les classes ou ce n'est pas encore integré
This commit is contained in:
@@ -24,10 +24,12 @@ form.register.user.firstName=First Name
|
||||
form.register.user.lastName=Last Name
|
||||
form.register.user.organization=Organization
|
||||
form.register.error.loginTooShort=Login must be at least 3 characters long
|
||||
form.register.error.loginInvalid=
|
||||
form.register.error.loginInvalid=The login can only contain characters, dot, underscore and must start with a character
|
||||
form.register.error.passwordsDontMatches=The password doesn't match the confirmation
|
||||
form.register.error.firstNameEmpty=First name is required
|
||||
form.register.error.lastNameEmpty=Last name is required
|
||||
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.
|
||||
|
||||
button.add=Add
|
||||
button.browse=Browse
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>sitemesh</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
<!-- SiteMesh Integration declaration End -->
|
||||
|
||||
|
||||
@@ -204,7 +204,8 @@
|
||||
|
||||
<!-- Get chosen conference in session context -->
|
||||
<bean id="ChooseConferenceController"
|
||||
class="org.yacos.web.system.controller.ChooseConferenceController">
|
||||
class="org.yacos.web.system.controller.ChooseConferenceController">
|
||||
<property name="sessionService" ref="sessionService" />
|
||||
</bean>
|
||||
|
||||
|
||||
@@ -258,25 +259,28 @@
|
||||
</property>
|
||||
<property name="prefix" value="/WEB-INF/jsp/"></property>
|
||||
<property name="suffix" value=".jsp"></property>
|
||||
</bean>
|
||||
|
||||
<bean id="multipartResolver"
|
||||
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
||||
<property name="maxUploadSize" value="10000000" />
|
||||
</bean>
|
||||
|
||||
|
||||
</bean>
|
||||
|
||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
||||
<property name="maxUploadSize" value="10000000" />
|
||||
</bean>
|
||||
|
||||
<bean id="messageSource"
|
||||
class="org.springframework.context.support.ResourceBundleMessageSource">
|
||||
<property name="basename" value="messages" />
|
||||
</bean>
|
||||
|
||||
<!-- EJB Services Linking -->
|
||||
<jee:jndi-lookup id="articleManager"
|
||||
jndi-name="ArticleManagerBean/remote" cache="true" />
|
||||
<jee:jndi-lookup id="usersManager"
|
||||
jndi-name="UserManagerBean/remote" cache="true" />
|
||||
<jee:jndi-lookup id="conferenceManager"
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="sessionService" class="org.yacos.web.system.controller.SessionService">
|
||||
<property name="conferenceManager" ref="conferenceManager"/>
|
||||
<property name="userManager" ref="usersManager"/>
|
||||
</bean>
|
||||
|
||||
<!-- EJB Services Linking -->
|
||||
<jee:jndi-lookup id="articleManager"
|
||||
jndi-name="ArticleManagerBean/remote" cache="true" />
|
||||
<jee:jndi-lookup id="usersManager"
|
||||
jndi-name="UserManagerBean/remote" cache="true" />
|
||||
<jee:jndi-lookup id="conferenceManager"
|
||||
jndi-name="ConferenceManagerBean/remote" cache="true" />
|
||||
|
||||
</beans>
|
||||
@@ -12,13 +12,14 @@ import org.springframework.validation.BindException;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import org.yacos.core.article.*;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
import org.yacos.core.conferences.IConferenceManager;
|
||||
import org.yacos.core.users.IUserManager;
|
||||
import org.yacos.core.users.User;
|
||||
//import org.yacos.web.author.form.*;
|
||||
import org.yacos.web.PCmember.form.FormPreference;
|
||||
import org.yacos.web.system.controller.NoConferenceSelectedException;
|
||||
import org.yacos.web.system.controller.SessionService;
|
||||
|
||||
public class ChoosePreferenceController extends SimpleFormController {
|
||||
|
||||
@@ -27,12 +28,18 @@ public class ChoosePreferenceController extends SimpleFormController {
|
||||
|
||||
private IArticleManager articleManager;
|
||||
private IUserManager userManager;
|
||||
private IConferenceManager conferenceManager;
|
||||
|
||||
|
||||
@Override
|
||||
protected Object formBackingObject(HttpServletRequest request)
|
||||
throws Exception {
|
||||
Conference conf=new Conference();
|
||||
List<Article> articleList=articleManager.getArticles(conf.getId());
|
||||
Integer currentConferenceId = (Integer) WebUtils.getSessionAttribute(request, "currentConferenceId");
|
||||
if(currentConferenceId == null){
|
||||
throw new NoConferenceSelectedException();
|
||||
}
|
||||
|
||||
List<Article> articleList=articleManager.getArticles(currentConferenceId);
|
||||
|
||||
getServletContext().setAttribute("articleList", articleList);
|
||||
|
||||
@@ -97,4 +104,12 @@ public class ChoosePreferenceController extends SimpleFormController {
|
||||
public void setUsersManager(IUserManager usersManager) {
|
||||
this.userManager = usersManager;
|
||||
}
|
||||
|
||||
public IConferenceManager getConferenceManager() {
|
||||
return conferenceManager;
|
||||
}
|
||||
|
||||
public void setConferenceManager(IConferenceManager conferenceManager) {
|
||||
this.conferenceManager = conferenceManager;
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,10 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.validation.BindException;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import org.yacos.core.article.Article;
|
||||
import org.yacos.core.article.IArticleManager;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
import org.yacos.core.exceptions.ConferenceDoesntExistException;
|
||||
import org.yacos.core.users.Role;
|
||||
import org.yacos.core.users.User;
|
||||
import org.yacos.web.PCmember.form.FormDispatcher;
|
||||
|
||||
@@ -22,30 +21,30 @@ public class DispatchArticleController extends SimpleFormController{
|
||||
|
||||
protected final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
private IArticleManager articleManager;
|
||||
private IArticleManager articleManager;
|
||||
|
||||
public IArticleManager getArticleManager() {
|
||||
return articleManager;
|
||||
}
|
||||
public void setArticleManager(IArticleManager articleManager) {
|
||||
this.articleManager = articleManager;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected Object formBackingObject(HttpServletRequest request) throws ConferenceDoesntExistException {
|
||||
logger.info("Returning dispatcher view");
|
||||
|
||||
//on recupère l'id de conference
|
||||
Conference conf = (Conference)request.getSession().getAttribute("conference");
|
||||
|
||||
|
||||
User m = new User("max","max","maxime","dagnicourt","ipint","m@truc.fr");
|
||||
User m2 = new User("bob","bob","bob","dupont","lifl","b@bb.fr");
|
||||
Collection<User> members = new ArrayList<User>();
|
||||
members.add(m);
|
||||
members.add(m2);
|
||||
// TODO : use the formBackingObject to store these
|
||||
request.getSession().setAttribute("members",members);
|
||||
|
||||
request.getSession().setAttribute("articles",articleManager.getArticles(conf.getId()));
|
||||
Integer currentConferenceId = (Integer) WebUtils.getSessionAttribute(request, "currentConferenceId");
|
||||
// TODO : Fix that, we should use the form backing object instead of the session to store the articles
|
||||
request.getSession().setAttribute("articles",articleManager.getArticles(currentConferenceId));
|
||||
logger.info(articleManager.getArticles(currentConferenceId));
|
||||
return new FormDispatcher();
|
||||
}
|
||||
|
||||
@@ -53,9 +52,6 @@ public class DispatchArticleController extends SimpleFormController{
|
||||
HttpServletResponse response,
|
||||
Object formDispatcher, BindException errors) throws Exception {
|
||||
|
||||
//on recupère l'id de conference
|
||||
Conference conf = (Conference)request.getSession().getAttribute("conference");
|
||||
|
||||
FormDispatcher fd = (FormDispatcher)formDispatcher;
|
||||
Article article = articleManager.getArticle(fd.getIdArticle());
|
||||
User m = new User("bob","bob","maurice","dupont","lifl","b@bb.fr");
|
||||
@@ -65,9 +61,10 @@ public class DispatchArticleController extends SimpleFormController{
|
||||
members.add(m);
|
||||
members.add(m2);
|
||||
|
||||
request.getSession().setAttribute("members",members);
|
||||
|
||||
return new ModelAndView("dispatchArticle", "articles", articleManager.getArticles(conf.getId()));
|
||||
request.getSession().setAttribute("members",members);
|
||||
|
||||
Integer currentConferenceId = (Integer) WebUtils.getSessionAttribute(request, "currentConferenceId");
|
||||
return new ModelAndView("dispatchArticle", "articles", articleManager.getArticles(currentConferenceId) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
package org.yacos.web.PCmember.controller;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
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.SimpleFormController;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import org.yacos.web.system.controller.NoConferenceSelectedException;
|
||||
import org.yacos.web.system.controller.SessionService;
|
||||
import org.yacos.core.article.Article;
|
||||
import org.yacos.core.article.IArticleManager;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
import org.yacos.core.exceptions.ConferenceDoesntExistException;
|
||||
|
||||
public class ListArticleController extends SimpleFormController {
|
||||
@@ -22,22 +23,20 @@ public class ListArticleController extends SimpleFormController {
|
||||
|
||||
private IArticleManager articleManager;
|
||||
|
||||
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
private SessionService sessionService;
|
||||
|
||||
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException, NoConferenceSelectedException {
|
||||
|
||||
logger.info("Returning listArticle view");
|
||||
|
||||
//FIXME verif l'existance de la conf en session
|
||||
Conference conf = (Conference)request.getSession().getAttribute("conference");
|
||||
|
||||
List<Article> listArticle;
|
||||
try {
|
||||
listArticle = articleManager.getArticles(conf.getId());
|
||||
listArticle = articleManager.getArticles((Integer) WebUtils.getSessionAttribute(request, "currentConferenceId"));
|
||||
getServletContext().setAttribute("listArticle", listArticle);
|
||||
} catch (ConferenceDoesntExistException e) {
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
return new ModelAndView("listArticle");
|
||||
}
|
||||
@@ -45,9 +44,15 @@ public class ListArticleController extends SimpleFormController {
|
||||
public IArticleManager getArticleManager() {
|
||||
return articleManager;
|
||||
}
|
||||
|
||||
|
||||
public void setArticleManager(IArticleManager articleManager) {
|
||||
this.articleManager = articleManager;
|
||||
}
|
||||
|
||||
public SessionService getSessionService() {
|
||||
return sessionService;
|
||||
}
|
||||
public void setSessionService(SessionService sessionService) {
|
||||
this.sessionService = sessionService;
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,10 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import org.yacos.core.article.*;
|
||||
import org.yacos.web.author.form.*;
|
||||
import org.yacos.web.system.controller.SessionService;
|
||||
import org.yacos.core.article.Article;
|
||||
import org.yacos.core.article.IArticleManager;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
@@ -35,15 +39,15 @@ public class SArticleController extends SimpleFormController {
|
||||
HttpServletResponse response, Object command, BindException errors)
|
||||
throws ServletException, IllegalStateException {
|
||||
|
||||
//on recupère l'id de conference
|
||||
// Fetching conference id
|
||||
Conference conf = (Conference)request.getSession().getAttribute("conference");
|
||||
//on recupère le login de l'utilisateur
|
||||
// Fetching user login
|
||||
User user = (User)request.getSession().getAttribute("user");
|
||||
|
||||
String title = ((FormSubmission) command).getTitle();
|
||||
String theme = ((FormSubmission) command).getTheme();
|
||||
String mainauthor = ((FormSubmission) command).getMainauthor();
|
||||
//String secondaryauthor = ((FormSubmission) command).getSecondaryauthor();
|
||||
//TODO : get secondary author working
|
||||
List<String> liste = ((FormSubmission) command).getListe();
|
||||
|
||||
String nomFile="";
|
||||
@@ -95,5 +99,4 @@ public class SArticleController extends SimpleFormController {
|
||||
public void setArticleManager(IArticleManager articleManager) {
|
||||
this.articleManager = articleManager;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,9 +5,18 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.Controller;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
|
||||
public class ChooseConferenceController implements Controller {
|
||||
|
||||
private SessionService sessionService;
|
||||
|
||||
public SessionService getSessionService() {
|
||||
return sessionService;
|
||||
}
|
||||
|
||||
public void setSessionService(SessionService sessionService) {
|
||||
this.sessionService = sessionService;
|
||||
}
|
||||
|
||||
public ModelAndView handleRequest(HttpServletRequest request,
|
||||
HttpServletResponse response) throws Exception {
|
||||
@@ -16,8 +25,7 @@ public class ChooseConferenceController implements Controller {
|
||||
int idConf = Integer.parseInt(request.getParameter("idConf"));
|
||||
|
||||
// Set idConf in session context
|
||||
request.getSession().setAttribute("idCurrentConference", idConf);
|
||||
|
||||
sessionService.setCurrentConferenceId(request, idConf);
|
||||
|
||||
return new ModelAndView("main");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.yacos.web.system.controller;
|
||||
|
||||
public class NoConferenceSelectedException extends Exception {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
||||
@@ -10,10 +10,8 @@ import org.springframework.validation.BindException;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
import org.yacos.core.article.IArticleManager;
|
||||
import org.yacos.core.users.IUserManager;
|
||||
import org.yacos.core.users.User;
|
||||
import org.yacos.core.users.UserManagerBean;
|
||||
import org.yacos.web.system.form.FormUser;
|
||||
|
||||
/**
|
||||
@@ -35,17 +33,23 @@ public class SUserRegistrationController extends SimpleFormController {
|
||||
HttpServletResponse response, Object command, BindException errors)
|
||||
throws Exception {
|
||||
FormUser userCommand = (FormUser) command;
|
||||
|
||||
// Tries to retrieve the current user : case of user modification
|
||||
User user = (User) request.getSession().getAttribute("currentUser");
|
||||
|
||||
if((user == null) && (usersManager.getUser(userCommand.getLogin()) != null)){
|
||||
// TODO : we have an "already registered" error here, handle it
|
||||
errors.rejectValue("login", "form.register.error.alreadyExists");
|
||||
return new ModelAndView(new RedirectView(getFormView()));
|
||||
}
|
||||
|
||||
if(user == null){
|
||||
user = new User();
|
||||
}
|
||||
|
||||
user.setLogin(userCommand.getLogin());
|
||||
// We should never be able to change the login of an existing user
|
||||
if(user.getLogin() == null){
|
||||
user.setLogin(userCommand.getLogin());
|
||||
}
|
||||
user.setEmail(userCommand.getEmail());
|
||||
user.setFirstName(userCommand.getFirstName());
|
||||
user.setLastName(userCommand.getLastName());
|
||||
@@ -55,7 +59,14 @@ public class SUserRegistrationController extends SimpleFormController {
|
||||
user.setPassword(userCommand.getPassword());
|
||||
}
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
usersManager.addUser(
|
||||
userCommand.getLogin(),
|
||||
userCommand.getPassword(),
|
||||
userCommand.getFirstName(),
|
||||
userCommand.getLastName(),
|
||||
userCommand.getOrganization(),
|
||||
userCommand.getEmail());
|
||||
|
||||
return new ModelAndView(new RedirectView(getSuccessView()));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package org.yacos.web.system.controller;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
import org.yacos.core.conferences.IConferenceManager;
|
||||
import org.yacos.core.users.IUserManager;
|
||||
|
||||
/**
|
||||
* Provides Session related Services
|
||||
* @author christiancorsano
|
||||
*
|
||||
*/
|
||||
public class SessionService {
|
||||
private IConferenceManager conferenceManager;
|
||||
private IUserManager userManager;
|
||||
|
||||
public SessionService(){
|
||||
|
||||
}
|
||||
|
||||
public void setConferenceManager(IConferenceManager conferenceManager) {
|
||||
this.conferenceManager = conferenceManager;
|
||||
}
|
||||
|
||||
public IConferenceManager getConferenceManager() {
|
||||
return conferenceManager;
|
||||
}
|
||||
|
||||
public void setUserManager(IUserManager userManager) {
|
||||
this.userManager = userManager;
|
||||
}
|
||||
|
||||
public IUserManager getUserManager() {
|
||||
return userManager;
|
||||
}
|
||||
|
||||
public Integer getCurrentConferenceId(HttpServletRequest request) {
|
||||
return (Integer) WebUtils.getSessionAttribute(request, "currentConferenceId");
|
||||
}
|
||||
|
||||
public void setCurrentConferenceId(HttpServletRequest request,Integer currentConferenceId) {
|
||||
WebUtils.setSessionAttribute(request, "currentConferenceId", currentConferenceId);
|
||||
}
|
||||
|
||||
public void setCurrentConference(HttpServletRequest request, Conference c){
|
||||
setCurrentConferenceId(request, c.getId() );
|
||||
}
|
||||
|
||||
public Conference getCurrentConference(HttpServletRequest request){
|
||||
return conferenceManager.getConference(getCurrentConferenceId(request));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user