Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java =================================================================== diff -u -rbf76df4d3f75c31132a226878461e070bd050d26 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision bf76df4d3f75c31132a226878461e070bd050d26) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -49,6 +49,7 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; +import org.lamsfoundation.lams.util.ValidationUtil; import org.lamsfoundation.lams.util.audit.IAuditService; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -111,14 +112,13 @@ } ActionMessages errors = new ActionMessages(); - if((orgForm.get("name")==null)||(((String)orgForm.getString("name").trim()).length()==0)){ - errors.add("name",new ActionMessage("error.name.required")); - } else { - Pattern p = Pattern.compile("^[^<>^*@%$]*$"); - Matcher m = p.matcher(orgForm.get("name").toString()); - if (!m.matches()) { - errors.add("name", new ActionMessage("error.name.invalid.characters")); - } + + //organisation name validation + String orgName = (orgForm.get("name") == null) ? null : (String) orgForm.get("name"); + if (StringUtils.isBlank(orgName)) { + errors.add("name",new ActionMessage("error.name.required")); + } else if (!ValidationUtil.isOrgNameValid(orgName)) { + errors.add("name", new ActionMessage("error.name.invalid.characters")); } if(errors.isEmpty()){ Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r88e98be30293b57a81d4a8a6e5cdaf5c62e97883 -r0d275bf753620ae71aeb4e7589c540c9777532cb Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/web/GradebookServlet.java =================================================================== diff -u -r57ba9c3b0ef0c0b0adc976762134a5aa8a690867 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/web/GradebookServlet.java (.../GradebookServlet.java) (revision 57ba9c3b0ef0c0b0adc976762134a5aa8a690867) +++ lams_central/src/java/org/lamsfoundation/lams/web/GradebookServlet.java (.../GradebookServlet.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -34,6 +34,7 @@ import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.security.AuthenticationException; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; @@ -134,6 +135,9 @@ GradebookServlet.log.error(e); response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Gradebook request failed - user info fetch exception"); + } catch (UserInfoValidationException e) { + GradebookServlet.log.error(e); + response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Gradebook request failed. " + e.getMessage()); } } } Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== diff -u -r57ba9c3b0ef0c0b0adc976762134a5aa8a690867 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 57ba9c3b0ef0c0b0adc976762134a5aa8a690867) +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -25,9 +25,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import javax.naming.InitialContext; import javax.naming.NamingException; @@ -42,20 +39,15 @@ import org.apache.catalina.authenticator.Constants; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.integration.ExtCourseClassMap; import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.security.AuthenticationException; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher; -import org.lamsfoundation.lams.usermanagement.Organisation; -import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; -import org.lamsfoundation.lams.usermanagement.UserOrganisation; -import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; -import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.CentralConstants; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -129,7 +121,7 @@ } ExtServerOrgMap serverMap = getService().getExtServerOrgMap(serverId); - boolean prefix = usePrefix == null ? true : Boolean.parseBoolean(usePrefix); + boolean prefix = (usePrefix == null) ? true : Boolean.parseBoolean(usePrefix); try { ExtUserUseridMap userMap = null; if ((firstName == null) && (lastName == null)) { @@ -174,6 +166,9 @@ LoginRequestServlet.log.error("User fetch info error: ", e); response.sendError(HttpServletResponse.SC_BAD_GATEWAY, "Login Failed - failed to fetch user info from the third party server"); + } catch (UserInfoValidationException e) { + LoginRequestServlet.log.error("User validation error: ", e); + response.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage()); } catch (FailedLoginException e) { LoginRequestServlet.log.error("Login error: ", e); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Login Failed - user was not found"); Index: lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupServlet.java =================================================================== diff -u -rc52aeb0714241a71f1842e1e39b1363ef274e1a7 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupServlet.java (.../OrganisationGroupServlet.java) (revision c52aeb0714241a71f1842e1e39b1363ef274e1a7) +++ lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupServlet.java (.../OrganisationGroupServlet.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -38,6 +38,7 @@ import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.security.AuthenticationException; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; @@ -120,6 +121,10 @@ OrganisationGroupServlet.log.error(e); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Course group action failed - user does not exist"); return; + } catch (UserInfoValidationException e) { + OrganisationGroupServlet.log.error(e); + response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Course group action failed." + e.getMessage()); + return; } try { @@ -308,6 +313,8 @@ learner = userMap.getUser(); } catch (UserInfoFetchException e) { throw new ServletException("Learner with ID \"" + learnerLogin + "\" does not exist"); + } catch (UserInfoValidationException e) { + throw new ServletException(e.getMessage()); } boolean learnerAdded = group.getUsers().add(learner); @@ -364,6 +371,9 @@ } catch (UserInfoFetchException e) { // if user does not exist, ignore continue; + } catch (UserInfoValidationException e) { + // if user can't be created, ignore + continue; } boolean learnerRemoved = group.getUsers().remove(learner); Index: lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveAction.java =================================================================== diff -u -rd5aed174855be48797d56a5566b7571feaf0b9f8 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveAction.java (.../ProfileSaveAction.java) (revision d5aed174855be48797d56a5566b7571feaf0b9f8) +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveAction.java (.../ProfileSaveAction.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -32,6 +32,7 @@ import javax.servlet.http.HttpSession; import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; @@ -46,6 +47,7 @@ import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; +import org.lamsfoundation.lams.util.ValidationUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.web.context.WebApplicationContext; @@ -94,33 +96,28 @@ } // (dyna)form validation - if ((userForm.get("firstName") == null) || (userForm.getString("firstName").trim().length() == 0)) { + //first name validation + String firstName = (userForm.get("firstName") == null) ? null : (String) userForm.get("firstName"); + if (StringUtils.isBlank(firstName)) { errors.add("firstName", new ActionMessage("error.firstname.required")); - } else { - Pattern p = Pattern.compile("^[\\p{L}]++(?:[' -][\\p{L}]++)*+\\.?$"); - Matcher m = p.matcher(userForm.getString("firstName")); - if (!m.matches()) { - errors.add("firstName", new ActionMessage("error.firstname.invalid.characters")); - } + } else if (!ValidationUtil.isFirstLastNameValid(firstName)) { + errors.add("firstName", new ActionMessage("error.firstname.invalid.characters")); } - if ((userForm.get("lastName") == null) || (userForm.getString("lastName").trim().length() == 0)) { + + //last name validation + String lastName = (userForm.get("lastName") == null) ? null : (String) userForm.get("lastName"); + if (StringUtils.isBlank(lastName)) { errors.add("lastName", new ActionMessage("error.lastname.required")); - } else { - Pattern p = Pattern.compile("^[\\p{L}]++(?:[' -][\\p{L}]++)*+\\.?$"); - Matcher m = p.matcher(userForm.getString("lastName")); - if (!m.matches()) { - errors.add("lastName", new ActionMessage("error.lastname.invalid.characters")); - } + } else if (!ValidationUtil.isFirstLastNameValid(lastName)) { + errors.add("lastName", new ActionMessage("error.lastname.invalid.characters")); } - if ((userForm.get("email") == null) || (userForm.getString("email").trim().length() == 0)) { + + //user email validation + String userEmail = (userForm.get("email") == null) ? null : (String) userForm.get("email"); + if (StringUtils.isBlank(userEmail)) { errors.add("email", new ActionMessage("error.email.required")); - } else { - Pattern p = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" - + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"); - Matcher m = p.matcher(userForm.getString("email")); - if (!m.matches()) { - errors.add("email", new ActionMessage("error.valid.email.required")); - } + } else if (!ValidationUtil.isEmailValid(userEmail)) { + errors.add("email", new ActionMessage("error.valid.email.required")); } if (!errors.isEmpty()) { Index: lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java =================================================================== diff -u -rbce5027e614385b7ee585688aa27ae22a3703284 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java (.../SignupAction.java) (revision bce5027e614385b7ee585688aa27ae22a3703284) +++ lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java (.../SignupAction.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -1,8 +1,5 @@ package org.lamsfoundation.lams.web.action; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -23,6 +20,7 @@ import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.Emailer; import org.lamsfoundation.lams.util.HashUtil; +import org.lamsfoundation.lams.util.ValidationUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -159,63 +157,54 @@ private ActionMessages validateSignup(DynaActionForm signupForm) { ActionMessages errors = new ActionMessages(); - if (StringUtils.isBlank(signupForm.getString("username"))) { + + // user name validation + String userName = (signupForm.get("username") == null) ? null : (String) signupForm.get("username"); + if (StringUtils.isBlank(userName)) { errors.add("username", new ActionMessage("error.username.blank")); - } else if (signupService.usernameExists(signupForm.getString("username"))) { + } else if (!ValidationUtil.isUserNameValid(userName)) { + errors.add("username", new ActionMessage("error.username.invalid.characters")); + log.info("username has invalid characters: "+ userName); + } else if (signupService.usernameExists(userName)) { errors.add("username", new ActionMessage("error.username.exists")); - } else { - // weed out all special characters and spaces - Pattern p = Pattern.compile("^[^<>^!#&()/\\|'\"?,.:{}= ~`*@%$]*$"); - Matcher m = p.matcher(signupForm.getString("username")); - log.info("matches? " + m.matches()); - if (!m.matches()) { - errors.add("username", new ActionMessage("error.username.invalid.characters")); - log.info("username has invalid characters: "+ signupForm.getString("username")); - } } - - if (StringUtils.isBlank(signupForm.getString("firstName"))) { + // first name validation + String firstName = (signupForm.get("firstName") == null) ? null : (String) signupForm.get("firstName"); + if (StringUtils.isBlank(firstName)) { errors.add("firstName", new ActionMessage("error.first.name.blank")); - } else { - // first name validation - Pattern p = Pattern.compile("^[\\p{L}]++(?:[' -][\\p{L}]++)*+\\.?$"); - Matcher m = p.matcher(signupForm.getString("firstName")); - if (!m.matches()) { - errors.add("firstName", new ActionMessage("error.firstname.invalid.characters")); - log.info("firstname has invalid characters: "+ signupForm.getString("firstName")); - } - } - if (StringUtils.isBlank(signupForm.getString("lastName"))) { + } else if (!ValidationUtil.isFirstLastNameValid(firstName)) { + errors.add("firstName", new ActionMessage("error.firstname.invalid.characters")); + log.info("firstname has invalid characters: "+ firstName); + } + + //last name validation + String lastName = (signupForm.get("lastName") == null) ? null : (String) signupForm.get("lastName"); + if (StringUtils.isBlank(lastName)) { errors.add("lastName", new ActionMessage("error.last.name.blank")); - } else { - // last name validation - Pattern p = Pattern.compile("^[\\p{L}]++(?:[' -][\\p{L}]++)*+\\.?$"); - Matcher m = p.matcher(signupForm.getString("lastName")); - if (!m.matches()) { - errors.add("lastName", new ActionMessage("error.lastname.invalid.characters")); - log.info("lastName has invalid characters: "+ signupForm.getString("lastName")); - } - } + } else if (!ValidationUtil.isFirstLastNameValid(lastName)) { + errors.add("lastName", new ActionMessage("error.lastname.invalid.characters")); + log.info("lastName has invalid characters: "+ lastName); + } + //password validation if (StringUtils.isBlank(signupForm.getString("password"))) { errors.add("password", new ActionMessage("error.password.blank")); } else if (!StringUtils.equals(signupForm.getString("password"), signupForm.getString("confirmPassword"))) { errors.add("password", new ActionMessage("error.passwords.unequal")); } - if (StringUtils.isBlank(signupForm.getString("email"))) { + + //user email validation + String userEmail = (signupForm.get("email") == null) ? null : (String) signupForm.get("email"); + if (StringUtils.isBlank(userEmail)) { errors.add("email", new ActionMessage("error.email.blank")); - } else { - if (!StringUtils.equals(signupForm.getString("email"), signupForm.getString("confirmEmail"))) { - errors.add("email", new ActionMessage("error.emails.unequal")); - } - Pattern p = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" - + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"); - Matcher m = p.matcher(signupForm.getString("email")); - if (!m.matches()) { - errors.add("email", new ActionMessage("error.email.invalid.format")); - } + } else if (!ValidationUtil.isEmailValid(userEmail)) { + errors.add("email", new ActionMessage("error.email.invalid.format")); + } else if (!StringUtils.equals(userEmail, signupForm.getString("confirmEmail"))) { + errors.add("email", new ActionMessage("error.emails.unequal")); } + + // courseKey validation if (!signupService.courseKeyIsValid(signupForm.getString("context"), signupForm.getString("courseKey"))) { errors.add("courseKey", new ActionMessage("error.course.key.invalid")); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== diff -u -reae819648876ce003b2797c2d2f387e10897e0b1 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision eae819648876ce003b2797c2d2f387e10897e0b1) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java (.../LessonManagerServlet.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -33,6 +33,7 @@ import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.security.AuthenticationException; import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.service.IntegrationService; @@ -733,6 +734,9 @@ } catch (UserInfoFetchException e) { LessonManagerServlet.log.error(e, e); return false; + } catch (UserInfoValidationException e) { + LessonManagerServlet.log.error(e, e); + return false; } catch (AuthenticationException e) { LessonManagerServlet.log.error(e, e); return false; @@ -741,7 +745,7 @@ private void addUserToLesson(HttpServletRequest request, ExtServerOrgMap serverMap, String method, String lsIdStr, String username, String firstName, String lastName, String email, String courseId, - String countryIsoCode, String langIsoCode) throws UserInfoFetchException { + String countryIsoCode, String langIsoCode) throws UserInfoFetchException, UserInfoValidationException { if (LessonManagerServlet.log.isDebugEnabled()) { LessonManagerServlet.log.debug("Adding user '" + username + "' as " + method + " to lesson with id '" Index: lams_common/src/java/org/lamsfoundation/lams/integration/UserInfoValidationException.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/integration/UserInfoValidationException.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/integration/UserInfoValidationException.java (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -0,0 +1,59 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.integration; + +/** + * Exception indicating that user parameters are not valid. + * + * @author Andrey Balan + */ +@SuppressWarnings("serial") +public class UserInfoValidationException extends Exception { + + public UserInfoValidationException() { + } + + /** + * @param message + */ + public UserInfoValidationException(String message) { + super(message); + } + + /** + * @param cause + */ + public UserInfoValidationException(Throwable cause) { + super(cause); + } + + /** + * @param message + * @param cause + */ + public UserInfoValidationException(String message, Throwable cause) { + super(message, cause); + } + +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== diff -u -rb0952eab3024458158903e62579ab202ee2a6838 -r0d275bf753620ae71aeb4e7589c540c9777532cb --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision b0952eab3024458158903e62579ab202ee2a6838) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision 0d275bf753620ae71aeb4e7589c540c9777532cb) @@ -31,78 +31,71 @@ import org.lamsfoundation.lams.integration.ExtServerToolAdapterMap; import org.lamsfoundation.lams.integration.ExtUserUseridMap; import org.lamsfoundation.lams.integration.UserInfoFetchException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.User; /** *
* View Source *
- * + * * @author Fei Yang */ public interface IIntegrationService { - - ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, String extCourseId, - String countryIsoCode, String langIsoCode, String prettyCourseName, String method, Boolean prefix); - ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method); - - ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, - String parentOrgId, Boolean isTeacher, Boolean prefix); - - ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException; - - ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; - - ExtUserUseridMap getExistingExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; - - ExtServerOrgMap getExtServerOrgMap(Integer sid); + ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, String extCourseId, + String countryIsoCode, String langIsoCode, String prettyCourseName, String method, Boolean prefix) + throws UserInfoValidationException; - ExtServerOrgMap getExtServerOrgMap(String serverId); - - ExtUserUseridMap getImplicitExtUserUseridMap(ExtServerOrgMap serverMap, - String extUsername, - String firstName, - String lastName, - String language, - String country, - String email, - boolean prefix) - throws UserInfoFetchException; - - ExtUserUseridMap getImplicitExtUserUseridMap( - ExtServerOrgMap serverMap, - String extUsername, - String password, - String firstName, - String lastName, - String email) - throws UserInfoFetchException; - - List getAllExtServerOrgMaps(); - - void saveExtServerOrgMap(ExtServerOrgMap map); - - String hash(ExtServerOrgMap serverMap, String extUsername, String timestamp); - - List
@@ -98,7 +101,7 @@
// wrapper method for compatibility with original integration modules
public ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap,
String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method,
- Boolean prefix) {
+ Boolean prefix) throws UserInfoValidationException {
// Set the pretty course name if available, otherwise maintain the extCourseId
String courseName = "";
@@ -119,7 +122,7 @@
// wrapper method for compatibility with original integration modules
public ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap,
- String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method) {
+ String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName, String method) throws UserInfoValidationException {
return getExtCourseClassMap(serverMap, userMap, extCourseId, countryIsoCode, langIsoCode, prettyCourseName,
method, true);
}
@@ -128,7 +131,7 @@
// 'teacher' roles, and a flag for whether to use a prefix in the org's name
public ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap,
String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, String parentOrgId,
- Boolean isTeacher, Boolean prefix) {
+ Boolean isTeacher, Boolean prefix) throws UserInfoValidationException {
ExtCourseClassMap map;
Organisation org;
User user = userMap.getUser();
@@ -193,7 +196,7 @@
}
public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix)
- throws UserInfoFetchException {
+ throws UserInfoFetchException, UserInfoValidationException {
Map