Index: lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java,v diff -u -r1.13 -r1.14 --- lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java 15 Aug 2008 04:35:51 -0000 1.13 +++ lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java 17 Sep 2008 07:08:17 -0000 1.14 @@ -38,6 +38,8 @@ public static final String PARAM_USERNAME = "username"; public static final String PARAM_COURSE_ID = "courseId"; + + public static final String PARAM_COURSE_NAME = "courseName"; public static final String PARAM_LEARNING_DESIGN_ID = "ldId"; Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java,v diff -u -r1.8 -r1.9 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 15 Aug 2008 04:35:51 -0000 1.8 +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 17 Sep 2008 07:08:17 -0000 1.9 @@ -109,7 +109,7 @@ String method = request.getParameter(LoginRequestDispatcher.PARAM_METHOD); String countryIsoCode = request.getParameter(LoginRequestDispatcher.PARAM_COUNTRY); String langIsoCode = request.getParameter(LoginRequestDispatcher.PARAM_LANGUAGE); - + String courseName = request.getParameter(CentralConstants.PARAM_COURSE_NAME); // implicit login params String firstName = request.getParameter(LoginRequestDispatcher.PARAM_FIRST_NAME); @@ -138,7 +138,7 @@ Authenticator.authenticate(serverMap, timestamp, extUsername, method, hash); - ExtCourseClassMap orgMap = getService().getExtCourseClassMap(serverMap, userMap, extCourseId, countryIsoCode, langIsoCode); + ExtCourseClassMap orgMap = getService().getExtCourseClassMap(serverMap, userMap, extCourseId, countryIsoCode, langIsoCode, courseName); User user = userMap.getUser(); String login = user.getLogin(); //was using hses.inNew() API to check if the external user has logged in yet, Index: lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java,v diff -u -r1.7 -r1.8 --- lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java 3 Apr 2007 07:07:49 -0000 1.7 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java 17 Sep 2008 07:08:17 -0000 1.8 @@ -159,7 +159,7 @@ ExtServerOrgMap serverMap = integrationService.getExtServerOrgMap(serverId); Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); - integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang); + integrationService.getExtCourseClassMap(serverMap, userMap, courseId, country, lang, null); return buildContentTree(userMap.getUser().getUserId(), mode).toString(); } catch (Exception e) { log.debug(e.getMessage(),e); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java,v diff -u -r1.7 -r1.8 --- lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java 22 Aug 2008 02:26:52 -0000 1.7 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LessonManagerSoapBindingImpl.java 17 Sep 2008 07:08:17 -0000 1.8 @@ -69,7 +69,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, - countryIsoCode, langIsoCode); + countryIsoCode, langIsoCode, null); // 1. init lesson Lesson lesson = monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap .getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV); @@ -91,7 +91,7 @@ Authenticator.authenticate(serverMap, datetime, username, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, - countryIsoCode, langIsoCode); + countryIsoCode, langIsoCode, null); // 1. init lesson Lesson lesson = monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap .getOrganisation().getOrganisationId(), userMap.getUser().getUserId(), customCSV); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java,v diff -u -r1.5 -r1.6 --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java 12 Nov 2007 01:24:40 -0000 1.5 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LearningDesignRepositoryServlet.java 17 Sep 2008 07:08:16 -0000 1.6 @@ -278,11 +278,11 @@ String hashValue = request.getParameter(CentralConstants.PARAM_HASH_VALUE); String username = request.getParameter(CentralConstants.PARAM_USERNAME); String courseId = request.getParameter(CentralConstants.PARAM_COURSE_ID); + String courseName = request.getParameter(CentralConstants.PARAM_COURSE_NAME); String country = request.getParameter(CentralConstants.PARAM_COUNTRY); String lang = request.getParameter(CentralConstants.PARAM_LANG); String modeStr = request.getParameter(CentralConstants.PARAM_MODE); - String firstName = request.getParameter(LoginRequestDispatcher.PARAM_FIRST_NAME); String lastName = request.getParameter(LoginRequestDispatcher.PARAM_LAST_NAME); String email = request.getParameter(LoginRequestDispatcher.PARAM_EMAIL); @@ -323,7 +323,7 @@ integrationService.getExtCourseClassMap(serverMap, userMap, courseId, - country, lang); + country, lang, courseName); String contentTree = buildContentTree( userMap.getUser().getUserId(), mode).toString(); Index: lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java,v diff -u -r1.18 -r1.19 --- lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 15 Aug 2008 04:37:18 -0000 1.18 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/xml/LessonManagerServlet.java 17 Sep 2008 07:08:16 -0000 1.19 @@ -283,7 +283,7 @@ ExtUserUseridMap userMap = integrationService.getExtUserUseridMap( serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap( - serverMap, userMap, courseId, countryIsoCode, langIsoCode); + serverMap, userMap, courseId, countryIsoCode, langIsoCode, null); // 1. init lesson Lesson lesson = monitoringService.initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap.getOrganisation().getOrganisationId(), @@ -314,7 +314,7 @@ ExtUserUseridMap userMap = integrationService.getExtUserUseridMap( serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap( - serverMap, userMap, courseId, countryIsoCode, langIsoCode); + serverMap, userMap, courseId, countryIsoCode, langIsoCode, null); // 1. init lesson Lesson lesson = monitoringService .initializeLesson(title, desc, Boolean.TRUE, ldId, orgMap @@ -527,7 +527,7 @@ ExtUserUseridMap userMap = integrationService.getExtUserUseridMap( serverMap, username); ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap( - serverMap, userMap, courseId, countryIsoCode, langIsoCode); + serverMap, userMap, courseId, countryIsoCode, langIsoCode, null); // 1. init lesson Lesson lesson = monitoringService .initializeLessonForPreview(title, desc, ldId, userMap.getUser().getUserId(), customCSV); @@ -748,7 +748,7 @@ Authenticator.authenticate(serverMap, datetime, requestorUsername, hashValue); ExtUserUseridMap userMap = integrationService.getExtUserUseridMap(serverMap, username); // adds user to group - ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, countryIsoCode, langIsoCode); + ExtCourseClassMap orgMap = integrationService.getExtCourseClassMap(serverMap, userMap, courseId, countryIsoCode, langIsoCode, null); if (lessonService == null) { lessonService = (ILessonService) WebApplicationContextUtils Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java,v diff -u -r1.7 -r1.8 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 22 Jan 2008 04:45:38 -0000 1.7 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 17 Sep 2008 07:08:18 -0000 1.8 @@ -40,7 +40,7 @@ public interface IIntegrationService { ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String countryIsoCode, String langIsoCode); + String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName); ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java,v diff -u -r1.17 -r1.18 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 22 Jan 2008 04:45:38 -0000 1.17 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 17 Sep 2008 07:08:18 -0000 1.18 @@ -32,7 +32,9 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; +import java.text.DateFormat; import java.text.ParseException; +import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -89,9 +91,21 @@ // wrapper method for compatibility with original integration modules public ExtCourseClassMap getExtCourseClassMap(ExtServerOrgMap serverMap, ExtUserUseridMap userMap, - String extCourseId, String countryIsoCode, String langIsoCode){ + String extCourseId, String countryIsoCode, String langIsoCode, String prettyCourseName){ + + // Set the pretty course name if available, otherwise maintain the extCourseId + String courseName = ""; + if (prettyCourseName != null) + { + courseName = prettyCourseName; + } + else + { + courseName = extCourseId; + } + return getExtCourseClassMap(serverMap, userMap, - extCourseId, extCourseId, countryIsoCode, langIsoCode, + extCourseId, courseName, countryIsoCode, langIsoCode, service.getRootOrganisation().getOrganisationId().toString(), true, true); } @@ -111,6 +125,13 @@ ExtCourseClassMap map = (ExtCourseClassMap)list.get(0); User user = userMap.getUser(); Organisation org = map.getOrganisation(); + + // update external course name if if has changed + if (extCourseName != null && !org.getName().equals(buildName(serverMap.getPrefix(), extCourseName))) + { + org.setName(buildName(serverMap.getPrefix(), extCourseName)); + service.updateOrganisationandWorkspaceNames(org); + } if(service.getUserOrganisation(user.getUserId(), org.getOrganisationId())==null){ addMemberships(user, org, isTeacher); } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java,v diff -u -r1.56 -r1.57 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java 16 Apr 2008 03:39:01 -0000 1.56 +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java 17 Sep 2008 07:08:18 -0000 1.57 @@ -295,6 +295,13 @@ */ public Organisation saveOrganisation( Organisation organisation, Integer userID ); + /** + * Update and organisation's name, used for integrations. + * It also updates the workspace name and workspace folders + * @param organisation + */ + public void updateOrganisationandWorkspaceNames(Organisation organisation); + public List getUserManageBeans(Integer orgId); /** Remove a user from the system completely. Only able to be done if they don't have any Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java,v diff -u -r1.92 -r1.93 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java 16 Apr 2008 03:39:01 -0000 1.92 +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java 17 Sep 2008 07:08:18 -0000 1.93 @@ -541,6 +541,28 @@ return organisation; } + @SuppressWarnings("unchecked") + public void updateOrganisationandWorkspaceNames(Organisation organisation) + { + baseDAO.update(organisation); + if ( organisation.getOrganisationId() != null ) + { + Workspace workspace = organisation.getWorkspace(); + if (workspace != null) { + workspace.setName(organisation.getName()); + baseDAO.update(workspace); + + WorkspaceFolder defaultFolder = workspace.getDefaultFolder(); + if (defaultFolder != null) defaultFolder.setName(organisation.getName()); + baseDAO.update(defaultFolder); + + WorkspaceFolder runSeqFolder = workspace.getDefaultRunSequencesFolder(); + if (runSeqFolder != null) runSeqFolder.setName(getRunSequencesFolderName(organisation.getName())); + baseDAO.update(runSeqFolder); + } + } + } + private String getRunSequencesFolderName(String workspaceName) { String runSeqName = messageService.getMessage(SEQUENCES_FOLDER_NAME_KEY, new Object[] {workspaceName}); if ( runSeqName != null && runSeqName.startsWith("???") ) {