diff --git a/YACOSWeb/.project b/YACOSWeb/.project index d346cb2..5592f96 100644 --- a/YACOSWeb/.project +++ b/YACOSWeb/.project @@ -3,6 +3,7 @@ YACOSWeb + YACOSCore diff --git a/YACOSWeb/.settings/org.eclipse.wst.common.component b/YACOSWeb/.settings/org.eclipse.wst.common.component index c6b509d..b8a85be 100644 --- a/YACOSWeb/.settings/org.eclipse.wst.common.component +++ b/YACOSWeb/.settings/org.eclipse.wst.common.component @@ -3,6 +3,9 @@ + +uses + diff --git a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties index 895dc86..ac9d6a2 100644 --- a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties +++ b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties @@ -10,6 +10,20 @@ form.submission.mainauthor=Main author form.submission.secondaryauthor=Secondary author form.submission.file=File +register.title=User Registration +form.register.user.login=Login +form.register.user.email=eMail +form.register.user.password=Password +form.register.user.passwordConfirm=Confirm password +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.passwordsDontMatches=The password doesn't match the confirmation +form.register.error.firstNameEmpty=First name is required +form.register.error.lastNameEmpty=Last name is required + button.add=Add button.browse=Browse button.reset=Reset diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/choosePreference.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/choosePreference.jsp index e3abdbf..4a71205 100644 --- a/YACOSWeb/WebContent/WEB-INF/jsp/choosePreference.jsp +++ b/YACOSWeb/WebContent/WEB-INF/jsp/choosePreference.jsp @@ -23,7 +23,7 @@

- + diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/registerUser.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/registerUser.jsp index 962e938..872e9de 100644 --- a/YACOSWeb/WebContent/WEB-INF/jsp/registerUser.jsp +++ b/YACOSWeb/WebContent/WEB-INF/jsp/registerUser.jsp @@ -5,7 +5,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + <fmt:message key="title"/> @@ -22,7 +22,7 @@
-

+

@@ -39,7 +39,6 @@ "/> "/>

-
diff --git a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml index 53a8a1f..a7f6bee 100644 --- a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml +++ b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml @@ -25,6 +25,15 @@ + + + + + + + + + @@ -76,7 +85,6 @@ --> - diff --git a/YACOSWeb/src/org/yacos/web/PCmember/controller/ChoosePreferenceController.java b/YACOSWeb/src/org/yacos/web/PCmember/controller/ChoosePreferenceController.java index 40730c5..12a4057 100644 --- a/YACOSWeb/src/org/yacos/web/PCmember/controller/ChoosePreferenceController.java +++ b/YACOSWeb/src/org/yacos/web/PCmember/controller/ChoosePreferenceController.java @@ -3,6 +3,7 @@ package org.yacos.web.PCmember.controller; import java.util.*; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; @@ -10,6 +11,7 @@ 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.servlet.view.RedirectView; import org.yacos.core.article.*; import org.yacos.core.users.IUserManager; @@ -23,7 +25,7 @@ public class ChoosePreferenceController extends SimpleFormController { protected final Log logger = LogFactory.getLog(getClass()); private IArticleManager articleManager; - private IUserManager usersManager; + private IUserManager userManager; @Override protected Object formBackingObject(HttpServletRequest request) @@ -33,11 +35,15 @@ public class ChoosePreferenceController extends SimpleFormController { getServletContext().setAttribute("articleList", articleList); - User toto = usersManager.getUser("toto"); + // TODO : mock object, replace with real user management + User toto = userManager.getUser("toto"); + if(toto == null){ + toto = userManager.addUser("toto", "toto", "Toto", "Toto", "Toto corp.", "toto@totocorp.com"); + } ArrayList preferencesList = new ArrayList(); Preference pref; for(Article article : articleList){ - pref = articleManager.getArticlePreferenceForUser(article, toto.getLogin()); + pref = articleManager.getArticlePreferenceForUser(article.getId(), toto.getLogin()); if(pref == null){ pref = new Preference(); pref.setArticle(article); @@ -63,13 +69,15 @@ public class ChoosePreferenceController extends SimpleFormController { List listPreference=fp.getPreferences(); for(Preference preference : listPreference){ - articleManager.addArticlePreference( + articleManager.addOrUpdatePreference( preference.getArticle().getId(), preference.getPcMember().getLogin(), preference.getPreference()); } - - return new ModelAndView("choosePreferenceOK"); + + Map model = new HashMap(); + model.put("message", "preference.ok"); + return new ModelAndView(new RedirectView(getSuccessView()),model); } @@ -82,10 +90,10 @@ public class ChoosePreferenceController extends SimpleFormController { } public IUserManager getUsersManager() { - return usersManager; + return userManager; } public void setUsersManager(IUserManager usersManager) { - this.usersManager = usersManager; + this.userManager = usersManager; } } \ No newline at end of file diff --git a/YACOSWeb/src/org/yacos/web/system/controller/SUserController.java b/YACOSWeb/src/org/yacos/web/system/controller/SUserRegistrationController.java similarity index 84% rename from YACOSWeb/src/org/yacos/web/system/controller/SUserController.java rename to YACOSWeb/src/org/yacos/web/system/controller/SUserRegistrationController.java index 83dbc72..b7a6951 100644 --- a/YACOSWeb/src/org/yacos/web/system/controller/SUserController.java +++ b/YACOSWeb/src/org/yacos/web/system/controller/SUserRegistrationController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse; 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; @@ -23,9 +24,9 @@ import org.yacos.web.system.form.FormUser; * @author christiancorsano * */ -public class SUserController extends SimpleFormController { +public class SUserRegistrationController extends SimpleFormController { - private IUserManager userManager; + private IUserManager usersManager; /** * @see org.springframework.web.servlet.mvc.SimpleFormController#onSubmit(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, org.springframework.validation.BindException) */ @@ -36,7 +37,7 @@ public class SUserController extends SimpleFormController { FormUser userCommand = (FormUser) command; User user = (User) request.getSession().getAttribute("currentUser"); - if((user == null) && (userManager.getUser(userCommand.getLogin()) != null)){ + if((user == null) && (usersManager.getUser(userCommand.getLogin()) != null)){ // TODO : we have an "already registered" error here, handle it } @@ -55,7 +56,7 @@ public class SUserController extends SimpleFormController { } // TODO Auto-generated method stub - return super.onSubmit(request, response, command, errors); + return new ModelAndView(new RedirectView(getSuccessView())); } /** @@ -82,5 +83,12 @@ public class SUserController extends SimpleFormController { return super.formBackingObject(request); } - + + public void setUsersManager(IUserManager usersManager) { + this.usersManager = usersManager; + } + + public IUserManager getUsersManager() { + return usersManager; + } } diff --git a/YACOSWeb/src/org/yacos/web/system/form/FormUser.java b/YACOSWeb/src/org/yacos/web/system/form/FormUser.java index 04575b9..fdfe964 100644 --- a/YACOSWeb/src/org/yacos/web/system/form/FormUser.java +++ b/YACOSWeb/src/org/yacos/web/system/form/FormUser.java @@ -1,11 +1,8 @@ package org.yacos.web.system.form; -import java.sql.Time; import java.util.Date; import java.util.Random; -import sun.security.krb5.internal.Ticket; - /** * * @author christiancorsano @@ -124,6 +121,9 @@ public class FormUser { public boolean passwordWasModified() { return this.passwordPlaceholderValue.equals(this.getPassword()); } + public boolean passwordsMatches() { + return this.password.equals(this.passwordConfirm); + } }