Index: lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java =================================================================== diff -u -rb4c7cf180245db7c4d9d5c600eaf294a4c570286 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -410,7 +410,7 @@ placeholderEnd = placeholderStart + USER_IMPORT_PASSWORD_CHANGE_EMAIL_CONTENT_START_PLACEHOLDER.length(); content.replace(placeholderStart, placeholderEnd, messageService.getMessage("user.import.password.change.email.content.start", - new Object[] { user.getFirstName() + " " + user.getLastName() })); + new Object[] { user.getFullName() })); StringBuilder changePasswordLink = new StringBuilder(" 0) - ? policyService.getPolicyByUid((Long) policyUid) - : null; + Policy oldPolicy = + (policyUid != null) && ((Long) policyUid > 0) ? policyService.getPolicyByUid((Long) policyUid) : null; // set policyId: generate Unique long ID in case of new policy and reuse existing one otherwise - Long policyId = oldPolicy == null ? policyId = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE + Long policyId = oldPolicy == null + ? policyId = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE : oldPolicy.getPolicyId(); Policy policy; @@ -134,8 +134,8 @@ } else { List policyFamily = policyService.getPreviousVersionsPolicies(policyId); for (Policy policyFromFamily : policyFamily) { - if (!policyFromFamily.getUid().equals(policyUid) - && Policy.STATUS_ACTIVE.equals(policyFromFamily.getPolicyStateId())) { + if (!policyFromFamily.getUid().equals(policyUid) && Policy.STATUS_ACTIVE.equals( + policyFromFamily.getPolicyStateId())) { policyFromFamily.setPolicyStateId(Policy.STATUS_INACTIVE); userManagementService.save(policyFromFamily); } @@ -211,6 +211,7 @@ } /** + * */ @RequestMapping("getConsentsGridData") @ResponseBody @@ -242,15 +243,15 @@ for (UserPolicyConsentDTO consentDto : consentDtos) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(consentDto.getUserID()); - String firstName = consentDto.getFirstName() == null ? "" : consentDto.getFirstName(); - String lastName = consentDto.getLastName() == null ? "" : consentDto.getLastName(); - String fullName = HtmlUtils.htmlEscape(lastName) + " " + HtmlUtils.htmlEscape(firstName); + + String fullName = HtmlUtils.htmlEscape(consentDto.getFullName()); userData.add(fullName); String consentedIcon = consentDto.isConsentGivenByUser() ? "" : "-"; userData.add(consentedIcon); - String dateAgreedOn = consentDto.getDateAgreedOn() == null ? "" + String dateAgreedOn = consentDto.getDateAgreedOn() == null + ? "" : DateUtil.convertToStringForJSON(consentDto.getDateAgreedOn(), request.getLocale()); userData.add(HtmlUtils.htmlEscape(dateAgreedOn)); @@ -263,4 +264,4 @@ response.setContentType("application/json;charset=utf-8"); return responseJSON.toString(); } -} +} \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgRoleSaveController.java =================================================================== diff -u -rfd131067cd0d56f83e3f9675277248bca41e259e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgRoleSaveController.java (.../UserOrgRoleSaveController.java) (revision fd131067cd0d56f83e3f9675277248bca41e259e) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgRoleSaveController.java (.../UserOrgRoleSaveController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -59,9 +59,8 @@ /** * @author jliew * - * Saves roles for users that were just added. - * Uses session scope because using request scope doesn't copy the form data - * into UserOrgRoleForm's userBeans ArrayList (the list becomes empty). + * Saves roles for users that were just added. Uses session scope because using request scope doesn't copy the form + * data into UserOrgRoleForm's userBeans ArrayList (the list becomes empty). */ @Controller @SessionAttributes("userOrgRoleForm") @@ -116,16 +115,16 @@ } List userRolesList = Arrays.asList(roleIds); - if (userRolesList.contains(Role.ROLE_SYSADMIN.toString()) - && !userRolesList.contains(Role.ROLE_APPADMIN.toString())) { + if (userRolesList.contains(Role.ROLE_SYSADMIN.toString()) && !userRolesList.contains( + Role.ROLE_APPADMIN.toString())) { //all sysadmins are also appadmins userRolesList = new ArrayList<>(userRolesList); userRolesList.add(Role.ROLE_APPADMIN.toString()); } userManagementService.setRolesForUserOrganisation(user, orgId, userRolesList); - if (userRolesList.contains(Role.ROLE_APPADMIN.toString()) - && !userRolesList.contains(Role.ROLE_SYSADMIN.toString())) { + if (userRolesList.contains(Role.ROLE_APPADMIN.toString()) && !userRolesList.contains( + Role.ROLE_SYSADMIN.toString())) { // appadmin need to have 2FA on, unless sysadmin says otherwise in user edit panels user.setTwoFactorAuthenticationEnabled(true); userManagementService.save(user); @@ -140,10 +139,11 @@ } } - List roles = Stream.of(roleIds).collect(Collectors - .mapping(roleId -> Role.ROLE_MAP.get(Integer.valueOf(roleId)), Collectors.toUnmodifiableList())); - logMessageBuilder.append("to user ").append(user.getFirstName()).append(" ").append(user.getLastName()) - .append(" (").append(user.getLogin()).append(") assigned roles ").append(roles); + List roles = Stream.of(roleIds).collect( + Collectors.mapping(roleId -> Role.ROLE_MAP.get(Integer.valueOf(roleId)), + Collectors.toUnmodifiableList())); + logMessageBuilder.append("to user ").append(user.getFullName()).append(" (").append(user.getLogin()) + .append(") assigned roles ").append(roles); if (i < userBeans.size() - 1) { logMessageBuilder.append(", "); } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java =================================================================== diff -u -r69b8982909b7237fc2082d9cb9146b1319472492 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java (.../UserOrgSaveController.java) (revision 69b8982909b7237fc2082d9cb9146b1319472492) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserOrgSaveController.java (.../UserOrgSaveController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -78,13 +78,13 @@ // course manager can add existing users in any role except appadmin // course admin can add existing users but only as learner Integer rootOrgId = userManagementService.getRootOrganisation().getOrganisationId(); - if (request.isUserInRole(Role.APPADMIN) || request.isUserInRole(Role.SYSADMIN) - || (userManagementService.isUserGlobalGroupManager() && !orgId.equals(rootOrgId))) { + if (request.isUserInRole(Role.APPADMIN) || request.isUserInRole(Role.SYSADMIN) || ( + userManagementService.isUserGlobalGroupManager() && !orgId.equals(rootOrgId))) { canEditRole = true; } else { - Integer loggeduserId = ((UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER)) - .getUserID(); + Integer loggeduserId = ((UserDTO) SessionManager.getSession() + .getAttribute(AttributeNames.USER)).getUserID(); Organisation organisation = (Organisation) userManagementService.findById(Organisation.class, orgId); if (organisation == null) { String message = "Adding users to organisation: No permission to access organisation " + orgId; @@ -113,7 +113,8 @@ Organisation organisation = (Organisation) userManagementService.findById(Organisation.class, orgId); Set uos = organisation.getUserOrganisations(); - String[] userIds = StringUtils.isBlank(userOrgForm.getUserIds()) ? new String[0] + String[] userIds = StringUtils.isBlank(userOrgForm.getUserIds()) + ? new String[0] : userOrgForm.getUserIds().split(","); List userIdList = Arrays.stream(userIds).filter(StringUtils::isNotBlank) .collect(Collectors.mapping(userId -> Integer.valueOf(userId), Collectors.toList())); @@ -160,9 +161,8 @@ organisation.setUserOrganisations(uos); userManagementService.save(organisation); - auditLog(organisation, - newUserOrganisations.stream().collect( - Collectors.mapping(uo -> uo.getUser().getUserId(), Collectors.toCollection(TreeSet::new))), + auditLog(organisation, newUserOrganisations.stream() + .collect(Collectors.mapping(uo -> uo.getUser().getUserId(), Collectors.toCollection(TreeSet::new))), removedUserIds, canEditRole); // if no new users, then finish; otherwise forward to where roles can be assigned for new users. @@ -178,10 +178,9 @@ } return "redirect:/usermanage.do?org=" + orgId; } else { - request.setAttribute("roles", - userManagementService.filterRoles(rolelist, - request.isUserInRole(Role.APPADMIN) || request.isUserInRole(Role.SYSADMIN), - organisation.getOrganisationType())); + request.setAttribute("roles", userManagementService.filterRoles(rolelist, + request.isUserInRole(Role.APPADMIN) || request.isUserInRole(Role.SYSADMIN), + organisation.getOrganisationType())); request.setAttribute("newUserOrganisations", newUserOrganisations); request.setAttribute("orgId", orgId); return "forward:/userorgrole.do"; @@ -208,9 +207,8 @@ StringBuilder userNames = new StringBuilder(); for (Integer userId : userIds) { User user = userManagementService.getUserById(userId); - userNames.append(user.getFirstName()).append(" ").append(user.getLastName()).append(" (") - .append(user.getLogin()).append("), "); + userNames.append(user.getFullName()).append(" (").append(user.getLogin()).append("), "); } return userNames.delete(userNames.length() - 2, userNames.length()).toString(); } -} +} \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserRolesSaveController.java =================================================================== diff -u -r93628ccc1d83a6cc777055222af3b2e87ccbb30c -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserRolesSaveController.java (.../UserRolesSaveController.java) (revision 93628ccc1d83a6cc777055222af3b2e87ccbb30c) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/UserRolesSaveController.java (.../UserRolesSaveController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -161,9 +161,9 @@ : Stream.of(roleIds).collect(Collectors.mapping(roleId -> Role.ROLE_MAP.get(Integer.valueOf(roleId)), Collectors.toUnmodifiableList())); User targetUser = userManagementService.getUserById(userId); - StringBuilder auditLogMessage = new StringBuilder("to user ").append(targetUser.getFirstName()).append(" ") - .append(targetUser.getLastName()).append(" (").append(targetUser.getLogin()).append(") assigned roles ") - .append(roles).append(" in organisation \"").append(organisation.getName()).append("\""); + StringBuilder auditLogMessage = new StringBuilder("to user ").append(targetUser.getFullName()).append(" (") + .append(targetUser.getLogin()).append(") assigned roles ").append(roles).append(" in organisation \"") + .append(organisation.getName()).append("\""); if (addToLessons) { auditLogMessage.append(" and added to all lessons"); } Index: lams_admin/web/organisation/parts/selectLearners.jsp =================================================================== diff -u -r37bb2ae017713b44cdfd6a55cfceca28c3efab02 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/web/organisation/parts/selectLearners.jsp (.../selectLearners.jsp) (revision 37bb2ae017713b44cdfd6a55cfceca28c3efab02) +++ lams_admin/web/organisation/parts/selectLearners.jsp (.../selectLearners.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -67,7 +67,7 @@ -    +  " /> Index: lams_admin/web/organisation/parts/selectStaff.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/web/organisation/parts/selectStaff.jsp (.../selectStaff.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_admin/web/organisation/parts/selectStaff.jsp (.../selectStaff.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -68,7 +68,7 @@ -    +   Index: lams_admin/web/user/basiclist.jsp =================================================================== diff -u -r85121f2d5a0394c96ef2ad1859c22b82391279b7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_admin/web/user/basiclist.jsp (.../basiclist.jsp) (revision 85121f2d5a0394c96ef2ad1859c22b82391279b7) +++ lams_admin/web/user/basiclist.jsp (.../basiclist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1,5 +1,5 @@ <%@ include file="/taglibs.jsp"%> - - + + \ No newline at end of file Index: lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsController.java =================================================================== diff -u -rf3e44aee5373a1233080ea5acd1cb5959bb46544 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsController.java (.../FindUserLessonsController.java) (revision f3e44aee5373a1233080ea5acd1cb5959bb46544) +++ lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsController.java (.../FindUserLessonsController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -110,7 +110,7 @@ ArrayNode jsonArray = JsonNodeFactory.instance.arrayNode(); for (User user : userSet) { ObjectNode jsonObject = JsonNodeFactory.instance.objectNode(); - jsonObject.put("label", user.getFirstName() + " " + user.getLastName()); + jsonObject.put("label", user.getFullName()); jsonObject.put("value", user.getUserId()); jsonArray.add(jsonObject); } Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginAsController.java =================================================================== diff -u -rc7c5d74f9c402bdab97bd3fd46436adbfa9202b8 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/src/java/org/lamsfoundation/lams/web/LoginAsController.java (.../LoginAsController.java) (revision c7c5d74f9c402bdab97bd3fd46436adbfa9202b8) +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginAsController.java (.../LoginAsController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -75,8 +75,8 @@ // If the user is an integration learner and ALLOW_DIRECT_ACCESS_FOR_INTEGRATION_LEARNERS if off do not let syadmin log in // as they will not be able to access the index page. This test should be the same test as found in IndexAction. - Boolean allowDirectAccessIntegrationLearner = Configuration - .getAsBoolean(ConfigurationKeys.ALLOW_DIRECT_ACCESS_FOR_INTEGRATION_LEARNERS); + Boolean allowDirectAccessIntegrationLearner = Configuration.getAsBoolean( + ConfigurationKeys.ALLOW_DIRECT_ACCESS_FOR_INTEGRATION_LEARNERS); if (!allowDirectAccessIntegrationLearner) { boolean isIntegrationUser = integrationService.isIntegrationUser(user.getUserId()); if (isIntegrationUser && isOnlyLearner(user.getUserId())) { @@ -93,9 +93,8 @@ String message = messageService.getMessage("audit.admin.loginas", args); logEventService.logEvent(LogEvent.TYPE_LOGIN_AS, sysadmin.getUserID(), user.getUserId(), null, null, message); - StringBuilder logMessageBuilder = new StringBuilder("logged in as user ") - .append(user.getFirstName()).append(" ").append(user.getLastName()).append(" (") - .append(user.getLogin()).append(")"); + StringBuilder logMessageBuilder = new StringBuilder("logged in as user ").append(user.getFullName()) + .append(" (").append(user.getLogin()).append(")"); AuditLogFilter.log(AuditLogFilter.LOGIN_AS_ACTION, logMessageBuilder); // login.jsp knows what to do with these @@ -123,14 +122,14 @@ Map> orgRoleSets = userManagementService.getRolesForUser(userId); for (Set orgRoleSet : orgRoleSets.values()) { for (Integer role : orgRoleSet) { - if (role.equals(Role.ROLE_AUTHOR) || role.equals(Role.ROLE_MONITOR) - || role.equals(Role.ROLE_GROUP_MANAGER) || role.equals(Role.ROLE_APPADMIN) - || role.equals(Role.ROLE_SYSADMIN)) { + if (role.equals(Role.ROLE_AUTHOR) || role.equals(Role.ROLE_MONITOR) || role.equals( + Role.ROLE_GROUP_MANAGER) || role.equals(Role.ROLE_APPADMIN) || role.equals( + Role.ROLE_SYSADMIN)) { return false; } } } return true; } -} +} \ No newline at end of file Index: lams_central/src/java/org/lamsfoundation/lams/web/ProfileController.java =================================================================== diff -u -r85e52bd836773ab33bc41ba2ca0ced5a5f4d4fbb -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileController.java (.../ProfileController.java) (revision 85e52bd836773ab33bc41ba2ca0ced5a5f4d4fbb) +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileController.java (.../ProfileController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -82,14 +82,13 @@ private MessageService messageService; @Autowired private IPolicyService policyService; - + private static List locales; @RequestMapping("/view") public String view(HttpServletRequest request) throws Exception { User requestor = userManagementService.getUserByLogin(request.getRemoteUser()); - String fullName = (requestor.getTitle() != null ? requestor.getTitle() + " " : "") + requestor.getFirstName() - + " " + requestor.getLastName(); + String fullName = (requestor.getTitle() != null ? requestor.getTitle() + " " : "") + requestor.getFullName(); String email = requestor.getEmail(); request.setAttribute("fullName", fullName); @@ -119,18 +118,18 @@ // insert or update bean if it is a course if (orgTypeId.equals(OrganisationType.COURSE_TYPE)) { - IndexOrgBean orgBean = (!orgBeansMap.containsKey(orgId)) - ? new IndexOrgBean(org.getOrganisationId(), org.getName(), orgTypeId) - : orgBeansMap.get(orgId); + IndexOrgBean orgBean = (!orgBeansMap.containsKey(orgId)) ? new IndexOrgBean(org.getOrganisationId(), + org.getName(), orgTypeId) : orgBeansMap.get(orgId); orgBean.addLesson(lessonBean); orgBeansMap.put(orgId, orgBean); } else if (orgTypeId.equals(OrganisationType.CLASS_TYPE)) { // if it is a class, find existing or create new parent bean Organisation parentOrg = org.getParentOrganisation(); Integer parentOrgId = parentOrg.getOrganisationId(); - IndexOrgBean parentOrgBean = (!orgBeansMap.containsKey(parentOrgId)) ? new IndexOrgBean( - parentOrg.getOrganisationId(), parentOrg.getName(), OrganisationType.COURSE_TYPE) + IndexOrgBean parentOrgBean = (!orgBeansMap.containsKey(parentOrgId)) + ? new IndexOrgBean(parentOrg.getOrganisationId(), parentOrg.getName(), + OrganisationType.COURSE_TYPE) : orgBeansMap.get(parentOrgId); // create new bean for class, or use existing bean IndexOrgBean orgBean = new IndexOrgBean(org.getOrganisationId(), org.getName(), orgTypeId); Index: lams_central/src/java/org/lamsfoundation/lams/web/tag/PortraitTag.java =================================================================== diff -u -r25fa7a462f907084b2a8aa550082d70994d66609 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/src/java/org/lamsfoundation/lams/web/tag/PortraitTag.java (.../PortraitTag.java) (revision 25fa7a462f907084b2a8aa550082d70994d66609) +++ lams_central/src/java/org/lamsfoundation/lams/web/tag/PortraitTag.java (.../PortraitTag.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -57,7 +57,8 @@ private static final String CSS_MEDIUM[] = { "portrait-md", "&version=3" }; private static final String CSS_GENERIC_MEDIUM = "portrait-generic-md"; private static final String STYLE_LARGE = "large"; - private static final String CSS_LARGE[] = { "portrait-lg", "&version=2" };; + private static final String CSS_LARGE[] = { "portrait-lg", "&version=2" }; + ; private static final String CSS_GENERIC_LARGE = "portrait-generic-lg"; private static final String STYLE_XLARGE = "xlarge"; private static final String CSS_XLARGE[] = { "portrait-xl", "&version=1" }; @@ -125,7 +126,9 @@ if (portraitId != null) { boolean isRound = (round != null ? Boolean.valueOf(round) : true); String[] sizes = getSizeClass(); - String alt = user == null || StringUtils.isBlank(user.getFirstName()) ? "user portrait" : user.getFirstName() + "'s portrait"; + String alt = user == null || StringUtils.isBlank(user.getFullName()) + ? "user portrait" + : user.getFullName() + "'s portrait"; StringBuilder bldr = new StringBuilder("\""").append(linkText) - .append("").toString(); + "").append(linkText).append("").toString(); } else { return linkText != null ? linkText : ""; } } private IUserManagementService getUserManagementService() { if (userManagementService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(pageContext.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext( + pageContext.getServletContext()); userManagementService = (IUserManagementService) ctx.getBean("userManagementService"); } return userManagementService; Index: lams_central/web/emailuser.jsp =================================================================== diff -u -r47dddf6db4afaba99d8f3f88fc50b16df9251a76 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/web/emailuser.jsp (.../emailuser.jsp) (revision 47dddf6db4afaba99d8f3f88fc50b16df9251a76) +++ lams_central/web/emailuser.jsp (.../emailuser.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -98,7 +98,7 @@ value="" /> - < <> @@ -141,4 +141,4 @@ - + \ No newline at end of file Index: lams_central/web/findUserLessons.jsp =================================================================== diff -u -rfe19797ec82718905555353176ed719bec11043e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/web/findUserLessons.jsp (.../findUserLessons.jsp) (revision fe19797ec82718905555353176ed719bec11043e) +++ lams_central/web/findUserLessons.jsp (.../findUserLessons.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -78,7 +78,7 @@
  + value="${user.key.getFullName()}" />
    Index: lams_central/web/includes/javascript/groups.js =================================================================== diff -u -r50ce17b539bba75dc92c9799db20a66fa118e788 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/web/includes/javascript/groups.js (.../groups.js) (revision 50ce17b539bba75dc92c9799db20a66fa118e788) +++ lams_central/web/includes/javascript/groups.js (.../groups.js) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -130,7 +130,7 @@ .addClass('mb-2') .appendTo(userDiv); addPortrait(portraitDiv, userJSON.portraitId, userJSON.id, 'small', true, LAMS_URL ); - $('').text(userJSON.firstName + ' ' + userJSON.lastName) + $('').text(userJSON.lastName + ' ' + userJSON.firstName) .addClass('portrait-sm-lineheight ms-1') .appendTo(userDiv); Index: lams_central/web/main.jsp =================================================================== diff -u -rc508a826b4e08c6467d350bd02ecefbaa3761617 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_central/web/main.jsp (.../main.jsp) (revision c508a826b4e08c6467d350bd02ecefbaa3761617) +++ lams_central/web/main.jsp (.../main.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -200,7 +200,7 @@ -   +   @@ -341,4 +341,4 @@ - + \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/comments/dto/CommentDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/comments/dto/CommentDTO.java (.../CommentDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/dto/CommentDTO.java (.../CommentDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -42,7 +42,7 @@ /** * Get a CommentDTO instance from a given Comment. - * + * * @param msg * @return */ @@ -54,7 +54,7 @@ CommentDTO dto = new CommentDTO(); dto.setComment(comment); if (comment.getCreatedBy() != null) { - dto.setAuthorname(comment.getCreatedBy().getFirstName() + " " + comment.getCreatedBy().getLastName()); + dto.setAuthorname(comment.getCreatedBy().getFullName()); dto.setAuthorUserId(comment.getCreatedBy().getUserId()); } @@ -66,7 +66,7 @@ /** * Get a list of CommentDTO according to given list of Comment. - * + * * @param msgList * @return */ @@ -157,4 +157,4 @@ this.authorUserId = authorUserId; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -63,18 +63,17 @@ /** *

    - * Holds data that describes the Users progress through a lesson. It records the - * exact position that a learner is in regarding a lesson. + * Holds data that describes the Users progress through a lesson. It records the exact position that a learner is in + * regarding a lesson. *

    * *

    - * It also helps lams to rebuild the learner page and progress bar whenever an - * unexpected error condition is identified. + * It also helps lams to rebuild the learner page and progress bar whenever an unexpected error condition is + * identified. *

    * * @author Chris * @author Jacky Fang - * */ @Entity @Table(name = "lams_learner_progress") @@ -96,13 +95,11 @@ /** Parallel waiting state: Not waiting in any way */ public static final byte PARALLEL_NO_WAIT = 0; /** - * Parallel waiting state: One activity complete, the others still to be - * completed + * Parallel waiting state: One activity complete, the others still to be completed */ public static final byte PARALLEL_WAITING = 1; /** - * Parallel waiting state: All activities completed, break out of parallel - * frames + * Parallel waiting state: All activities completed, break out of parallel frames */ public static final byte PARALLEL_WAITING_COMPLETE = 2; @@ -111,8 +108,7 @@ /** Learner has completed the lesson in the normal manner. */ public static final byte LESSON_END_OF_DESIGN_COMPLETE = 1; /** - * Learner has completed the lesson by reaching a "Stop After Activity" - * point + * Learner has completed the lesson by reaching a "Stop After Activity" point */ public static final byte LESSON_IN_DESIGN_COMPLETE = 2; @@ -142,38 +138,34 @@ private Map attemptedActivities = new HashMap(); /** - * Set of completed activities that includes all completed activities before - * current activity + * Set of completed activities that includes all completed activities before current activity */ @ElementCollection(fetch = FetchType.EAGER) @CollectionTable(name = "lams_progress_completed", joinColumns = @JoinColumn(name = "learner_progress_id")) @MapKeyJoinColumn(name = "activity_id") private Map completedActivities = new HashMap(); /** - * The activity that user just completed. The purpose of this activity is to - * allow lams to remove unecessary frame for next activity. + * The activity that user just completed. The purpose of this activity is to allow lams to remove unecessary frame + * for next activity. */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "previous_activity_id") private Activity previousActivity; /** - * The current activity always present the activity with transition, which - * means it won't be leaf node of a complex activity. To understand the - * activity tree, please read relevant documentation and comment. The - * current content could be the same as next activity if next activity is - * not the leaf node. The main purpose of current activity is to restore the - * progress states if the user exist without finishing the activity. + * The current activity always present the activity with transition, which means it won't be leaf node of a complex + * activity. To understand the activity tree, please read relevant documentation and comment. The current content + * could be the same as next activity if next activity is not the leaf node. The main purpose of current activity is + * to restore the progress states if the user exist without finishing the activity. */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "current_activity_id") private Activity currentActivity; /** - * The activity that progress engine is about to progress to. It could be - * next activity following the transition or leaf activity within a complex - * activity. + * The activity that progress engine is about to progress to. It could be next activity following the transition or + * leaf activity within a complex activity. */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "next_activity_id") @@ -186,16 +178,14 @@ private Byte lessonComplete; /** - * Indicates the learner progress is in a incomplete parallel activity or - * not. + * Indicates the learner progress is in a incomplete parallel activity or not. */ @Column(name = "waiting_flag") private byte parallelWaiting; /** - * A list of completed activities ids before move on to next activity - * following transition. This is created to help UI calculation what has - * *just* been done. + * A list of completed activities ids before move on to next activity following transition. This is created to help + * UI calculation what has *just* been done. */ @Transient private List currentCompletedActivitiesList; @@ -213,6 +203,7 @@ //--------------------------------------------------------------------- // Constructors //--------------------------------------------------------------------- + /** default constructor */ public LearnerProgress() { this.lessonComplete = LESSON_NOT_COMPLETE; @@ -222,9 +213,9 @@ * Chain constructor to create new learner progress with minimum data. * * @param user - * the learner. + * the learner. * @param lesson - * the lesson that currently is running. + * the lesson that currently is running. */ public LearnerProgress(User user, Lesson lesson) { this(null, user, lesson, new TreeMap(new ActivityOrderComparator()), @@ -316,10 +307,10 @@ * Gives the progress state of the specific activity. * * @param the - * activity whose progress state is required. + * activity whose progress state is required. * @return ACTIVITY_COMPLETED, - * ACTIVITY_ATTEMPTED or - * ACTIVITY_NOT_ATTEMPTED. + * ACTIVITY_ATTEMPTED or + * ACTIVITY_NOT_ATTEMPTED. */ public byte getProgressState(Activity activity) { if (getCompletedActivities().containsKey(activity)) { @@ -334,23 +325,20 @@ /** * Sets the progress state for an activity. * - * If the activity is moving from completed to not completed, then the call - * is recursive - it will reset all contained completed activities to the - * input state. + * If the activity is moving from completed to not completed, then the call is recursive - it will reset all + * contained completed activities to the input state. * - * Only want to "take action" ie add/remove if the state has really changed. - * Otherwise the recursive call to remove the completed flag will cause - * unexpected side effects when a Completed activity is reset to Completed + * Only want to "take action" ie add/remove if the state has really changed. Otherwise the recursive call to remove + * the completed flag will cause unexpected side effects when a Completed activity is reset to Completed * * @param activity - * whose progress is to be set + * whose progress is to be set * @param state - * one of ACTIVITY_COMPLETED, - * ACTIVITY_ATTEMPTED or - * ACTIVITY_NOT_ATTEMPTED. + * one of ACTIVITY_COMPLETED, + * ACTIVITY_ATTEMPTED or + * ACTIVITY_NOT_ATTEMPTED. * @param activityDAO - * needed to get any child activities correctly from - * Hibernate (grr - shouldn't be required) + * needed to get any child activities correctly from Hibernate (grr - shouldn't be required) */ public void setProgressState(Activity activity, byte state, IActivityDAO activityDAO) { @@ -377,8 +365,8 @@ } else if (oldState == LearnerProgress.ACTIVITY_COMPLETED) { this.getCompletedActivities().remove(activity); if (activity.isComplexActivity()) { - ComplexActivity complex = (ComplexActivity) activityDAO - .getActivityByActivityId(activity.getActivityId(), ComplexActivity.class); + ComplexActivity complex = (ComplexActivity) activityDAO.getActivityByActivityId( + activity.getActivityId(), ComplexActivity.class); Iterator iter = complex.getActivities().iterator(); while (iter.hasNext()) { Activity child = iter.next(); @@ -398,8 +386,7 @@ } /** - * Has the user completed the lesson? We don't care how (ie at end of - * sequence or after a "stop after activity") + * Has the user completed the lesson? We don't care how (ie at end of sequence or after a "stop after activity") */ public boolean isComplete() { return lessonComplete == LESSON_END_OF_DESIGN_COMPLETE || lessonComplete == LESSON_IN_DESIGN_COMPLETE; @@ -408,8 +395,7 @@ /** * The "real" value for lessonComplete. * - * @return LESSON_NOT_COMPLETE, LESSON_END_OF_DESIGN_COMPLETE, - * LESSON_IN_DESIGN_COMPLETE + * @return LESSON_NOT_COMPLETE, LESSON_END_OF_DESIGN_COMPLETE, LESSON_IN_DESIGN_COMPLETE */ public Byte getLessonComplete() { return lessonComplete; @@ -465,6 +451,7 @@ //--------------------------------------------------------------------- // Service methods //--------------------------------------------------------------------- + /** * Returns the learner progress data transfer object. */ @@ -477,30 +464,23 @@ this.createIdArrayFrom(this.getCompletedActivities().keySet()), isComplete()); } - public LearnerProgressCompletedDTO getLearnerProgressCompletedData() { - return new LearnerProgressCompletedDTO(this.lesson.getLessonId(), this.lesson.getLessonName(), - this.user.getLogin(), this.user.getLastName(), this.user.getFirstName(), this.user.getUserId(), - createCompletedActivityArrayFromMap(this.getCompletedActivities()), isComplete(), - this.lesson.getStartDateTime().getTime(), this.startDate.getTime()); - - } - //--------------------------------------------------------------------- // Helper methods //--------------------------------------------------------------------- + /** * Extract the Id from activities and set them into an array. * * @param activities - * the activities that is being used to create the array. + * the activities that is being used to create the array. */ private Long[] createIdArrayFrom(Set activities) { if (activities == null) { throw new IllegalArgumentException("Fail to create id array" + " from null activity set"); } ArrayList activitiesIds = new ArrayList(); - for (Iterator i = activities.iterator(); i.hasNext();) { + for (Iterator i = activities.iterator(); i.hasNext(); ) { Activity activity = i.next(); activitiesIds.add(activity.getActivityId()); } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java =================================================================== diff -u -r5f1b27dd7c5c9ed4732803249f00e4869fb16906 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java (.../LearnerProgressDAO.java) (revision 5f1b27dd7c5c9ed4732803249f00e4869fb16906) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java (.../LearnerProgressDAO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -56,7 +56,7 @@ + "where p.previousActivity = :activity or p.currentActivity = :activity or p.nextActivity = :activity "; private final static String LOAD_COMPLETED_PROGRESS_BY_LESSON = "FROM LearnerProgress p WHERE p.lessonComplete > 0 " - + "AND p.lesson.id = :lessonId ORDER BY p.user.firstName , p.user.lastName , p.user.login "; + + "AND p.lesson.id = :lessonId ORDER BY p.user.lastName , p.user.firstName , p.user.login "; private final static String LOAD_LEARNERS_LATEST_COMPLETED_BY_LESSON = "SELECT p.user FROM LearnerProgress p WHERE " + "p.lessonComplete > 0 and p.lesson.id = :lessonId ORDER BY p.finishDate DESC"; @@ -103,10 +103,10 @@ private final static String LOAD_LEARNERS_BY_ACTIVITIES = "SELECT prog.user FROM LearnerProgress prog WHERE " + " prog.currentActivity.id IN (:activityIds) " - + "ORDER BY prog.user.firstName , prog.user.lastName , prog.user.login "; + + "ORDER BY prog.user.lastName , prog.user.firstName , prog.user.login "; private final static String COUNT_LEARNERS_BY_LESSON = "COUNT(*) FROM LearnerProgress prog WHERE prog.lesson.id = :lessonId"; - private final static String COUNT_LEARNERS_BY_LESSON_ORDER_CLAUSE = " ORDER BY prog.user.firstName ASC, prog.user.lastName ASC, prog.user.login ASC"; + private final static String COUNT_LEARNERS_BY_LESSON_ORDER_CLAUSE = " ORDER BY prog.user.lastName ASC, prog.user.firstName ASC, prog.user.login ASC"; // find Learners for the given Lesson first, then see if they have Progress, i.e. started the lesson private final static String LOAD_LEARNERS_BY_MOST_PROGRESS = "SELECT u.*, COUNT(comp.activity_id) AS comp_count FROM lams_lesson AS lesson " @@ -117,7 +117,7 @@ + "LEFT JOIN lams_progress_completed AS comp USING (learner_progress_id) " + "WHERE lesson.lesson_id = :lessonId AND g.group_name NOT LIKE '%Staff%'"; private final static String LOAD_LEARNERS_BY_MOST_PROGRESS_ORDER_CLAUSE = " GROUP BY u.user_id " - + "ORDER BY prog.lesson_completed_flag DESC, comp_count DESC, u.first_name ASC, u.last_name ASC, u.login ASC"; + + "ORDER BY prog.lesson_completed_flag DESC, comp_count DESC, u.last_name ASC, u.first_name ASC, u.login ASC"; private final static String FIND_PROGRESS_ARCHIVE_MAX_ATTEMPT = "SELECT MAX(p.attemptId) FROM LearnerProgressArchive p " + "WHERE p.user.id = :learnerId AND p.lesson.id = :lessonId"; Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java =================================================================== diff -u -r480f0e0b4d9a7338a3cde5ab84712a399d3ac3a1 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (.../LessonDAO.java) (revision 480f0e0b4d9a7338a3cde5ab84712a399d3ac3a1) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (.../LessonDAO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -179,7 +179,7 @@ } } String order = orderAscending ? "ASC" : "DESC"; - queryTextBuilder.append(" ORDER BY users.firstName ").append(order).append(", users.lastName ").append(order) + queryTextBuilder.append(" ORDER BY users.lastName ").append(order).append(", users.firstName ").append(order) .append(", users.login ").append(order); Query query = getSession().createQuery(queryTextBuilder.toString()).setLong("lessonId", lessonId); if (limit != null) { Index: lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java =================================================================== diff -u -r1307599981af4c3f63c2da571c07e150d4713e8d -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java (.../RatingCommentDAO.java) (revision 1307599981af4c3f63c2da571c07e150d4713e8d) +++ lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java (.../RatingCommentDAO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -38,11 +38,11 @@ private static final String FIND_RATING_BY_CRITERIA_AND_USER_AND_ITEM = "FROM " + RatingComment.class.getName() + " AS r where r.ratingCriteria.ratingCriteriaId=? AND r.learner.userId=? AND r.itemId=?"; - private static final String FIND_COMMENTS_BY_CRITERIA_AND_ITEM = "SELECT r.itemId, r.learner.userId, r.comment, CONCAT(r.learner.firstName, ' ', r.learner.lastName), r.postedDate " + private static final String FIND_COMMENTS_BY_CRITERIA_AND_ITEM = "SELECT r.itemId, r.learner.userId, r.comment, CONCAT(r.learner.lastName, ' ', r.learner.firstName), r.postedDate " + "FROM " + RatingComment.class.getName() + " AS r where r.ratingCriteria.ratingCriteriaId=:ratingCriteriaId AND r.itemId=:itemId"; - private static final String FIND_COMMENTS_BY_CRITERIA_AND_ITEMS = "SELECT r.itemId, r.learner.userId, r.comment, CONCAT(r.learner.firstName, ' ', r.learner.lastName), r.postedDate " + private static final String FIND_COMMENTS_BY_CRITERIA_AND_ITEMS = "SELECT r.itemId, r.learner.userId, r.comment, CONCAT(r.learner.lastName, ' ', r.learner.firstName), r.postedDate " + "FROM " + RatingComment.class.getName() + " AS r where r.ratingCriteria.ratingCriteriaId=:ratingCriteriaId AND r.itemId IN (:itemIds)"; Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java =================================================================== diff -u -r0793871529b98e50bcdba56d1f2aeeb0db812836 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision 0793871529b98e50bcdba56d1f2aeeb0db812836) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -295,14 +295,6 @@ this.lastName = lastName; } - public String getFullName() { - return this.getFirstName() + " " + this.getLastName(); - } - - public String getFullNameMonitoringStyle() { - return new StringBuilder(this.getLastName()).append(", ").append(this.getFirstName()).toString(); - } - public String getAddressLine1() { return addressLine1; } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserBasicDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserBasicDTO.java (.../UserBasicDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserBasicDTO.java (.../UserBasicDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -23,79 +23,15 @@ package org.lamsfoundation.lams.usermanagement.dto; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; + import java.util.Comparator; /** * @author Mitchell Seaton */ -public class UserBasicDTO { +public class UserBasicDTO implements IUserDetails { - // Compares first, then last name, then login - public static final Comparator USER_BASIC_DTO_COMPARATOR = new Comparator() { - @Override - public int compare(UserBasicDTO o1, UserBasicDTO o2) { - if ((o1 == null) || (o2 == null)) { - return compareNull(o1, o2); - } else { - int retValue = compareFirstName(o1, o2); - if (retValue == 0) { - retValue = compareLastName(o1, o2); - } - if (retValue == 0) { - retValue = compareLogin(o1, o2); - } - return retValue; - } - } - - private int compareLastName(UserBasicDTO o1, UserBasicDTO o2) { - String surname1 = o1.getLastName(); - String surname2 = o2.getLastName(); - - int retValue = -1; - if ((surname1 == null) || (surname2 == null)) { - retValue = compareNull(surname1, surname2); - } else { - retValue = surname1.compareTo(surname2); - } - return retValue; - } - - private int compareFirstName(UserBasicDTO o1, UserBasicDTO o2) { - String name1 = o1.getFirstName(); - String name2 = o2.getFirstName(); - - int retValue = -1; - if ((name1 == null) || (name2 == null)) { - retValue = compareNull(name1, name2); - } else { - retValue = name1.compareTo(name2); - } - return retValue; - } - - private int compareLogin(UserBasicDTO o1, UserBasicDTO o2) { - String name1 = o1.getLogin(); - String name2 = o2.getLogin(); - - int retValue = -1; - if ((name1 == null) || (name2 == null)) { - retValue = compareNull(name1, name2); - } else { - retValue = name1.compareTo(name2); - } - return retValue; - } - - private int compareNull(Object o1, Object o2) { - if (o1 == null) { - return (o2 != null ? -1 : 0); - } else { - return 1; - } - } - }; - private Integer userID; private String firstName; private String lastName; @@ -158,4 +94,4 @@ return userID; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserDTO.java =================================================================== diff -u -r62110bf4a5bc2ec44fa14e3b111a9821366b65f5 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserDTO.java (.../UserDTO.java) (revision 62110bf4a5bc2ec44fa14e3b111a9821366b65f5) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserDTO.java (.../UserDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -30,11 +30,12 @@ import org.apache.commons.lang.builder.ToStringBuilder; import org.lamsfoundation.lams.themes.dto.ThemeDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * @author Manpreet Minhas */ -public class UserDTO implements Serializable { +public class UserDTO implements Serializable, IUserDetails { private static final long serialVersionUID = 5299784226270953691L; @@ -69,7 +70,8 @@ this.email = email; this.theme = htmlTheme; this.timeZone = timezone; - this.timeZoneOffsetSeconds = timeZone == null ? 0 + this.timeZoneOffsetSeconds = timeZone == null + ? 0 : ZoneId.of(timeZone.getID()).getRules().getOffset(Instant.now()).getTotalSeconds(); this.authenticationMethodId = authenticationMethodId; this.fckLanguageMapping = fckLanguageMapping; @@ -168,8 +170,8 @@ @Override public String toString() { - return new ToStringBuilder(this).append("userID", getUserID()).append("firstName", getFirstName()) - .append("lastName", getLastName()).append("login", getLogin()) + return new ToStringBuilder(this).append("userID", getUserID()).append("lastName", getLastName()) + .append("firstName", getFirstName()).append("login", getLogin()) .append("localeLanguage", getLocaleLanguage()).append("localeCountry", getLocaleCountry()) .append("direction", getDirection()).append("email", getEmail()).append("htmlTheme", getTheme()) .append("timeZone", getTimeZone()).append("authenticationMethodId", getAuthenticationMethodId()) Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java =================================================================== diff -u -r0793871529b98e50bcdba56d1f2aeeb0db812836 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java (.../IUserDetails.java) (revision 0793871529b98e50bcdba56d1f2aeeb0db812836) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java (.../IUserDetails.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1,5 +1,6 @@ package org.lamsfoundation.lams.usermanagement.service; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.usermanagement.User; import java.util.Comparator; @@ -23,4 +24,23 @@ String getLastName(); String getLogin(); + + default String getFullName() { + String lastName = getLastName(); + String firstName = getFirstName(); + StringBuilder fullNameBuilder = new StringBuilder(); + if (StringUtils.isNotBlank(lastName)) { + fullNameBuilder.append(lastName); + } + if (StringUtils.isNotBlank(firstName)) { + if (fullNameBuilder.length() > 0) { + fullNameBuilder.append(" "); + } + fullNameBuilder.append(firstName); + } + if (fullNameBuilder.length() == 0) { + return ""; + } + return fullNameBuilder.toString(); + } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/web/filter/AuditLogFilter.java =================================================================== diff -u -rb4c7cf180245db7c4d9d5c600eaf294a4c570286 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_common/src/java/org/lamsfoundation/lams/web/filter/AuditLogFilter.java (.../AuditLogFilter.java) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286) +++ lams_common/src/java/org/lamsfoundation/lams/web/filter/AuditLogFilter.java (.../AuditLogFilter.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -147,12 +147,12 @@ if (StringUtils.isBlank(login)) { logMessageBuilder.append("Unauthenticated user | "); } else { - if (StringUtils.isNotBlank(firstName)) { - logMessageBuilder.append(firstName).append(" "); - } if (StringUtils.isNotBlank(lastName)) { logMessageBuilder.append(lastName).append(" "); } + if (StringUtils.isNotBlank(firstName)) { + logMessageBuilder.append(firstName).append(" "); + } logMessageBuilder.append("(").append(login).append(") | "); } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java =================================================================== diff -u -r4243b50f5bfd45ca2feffa537be87c6ea02249b2 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java (.../GradebookDAO.java) (revision 4243b50f5bfd45ca2feffa537be87c6ea02249b2) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java (.../GradebookDAO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -347,8 +347,8 @@ + " INNER JOIN lams_user user ON ug.user_id=user.user_id WHERE lesson.lesson_id = :lessonId " + " AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id " + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " - + "ORDER BY CONCAT(user.first_name, ' ', user.last_name) " + sortOrder; + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + + "ORDER BY CONCAT(user.last_name, ' ', user.first_name) " + sortOrder; //when :sortBy='timeTaken' final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN = "SELECT DISTINCT user.* " @@ -358,7 +358,7 @@ + " ON progress.user_id=user.user_id AND progress.lesson_id=:lessonId " + " WHERE lesson.lesson_id = :lessonId AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id" + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + "ORDER BY TIMEDIFF(progress.finish_date_time, progress.start_date_time) " + sortOrder; //when :sortBy='mark' @@ -369,7 +369,7 @@ + " ON user.user_id=gradebookUserLesson.user_id AND gradebookUserLesson.lesson_id =:lessonId " + " WHERE lesson.lesson_id = :lessonId AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id" + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + " ORDER BY gradebookUserLesson.mark " + sortOrder; //when :sortBy='feedback' @@ -380,7 +380,7 @@ + " ON user.user_id=gradebookUserLesson.user_id AND gradebookUserLesson.lesson_id =:lessonId " + " WHERE lesson.lesson_id = :lessonId AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id" + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + " ORDER BY gradebookUserLesson.feedback " + sortOrder; String queryString; @@ -415,8 +415,8 @@ + " FROM lams_lesson lesson, lams_grouping gi, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id WHERE lesson.lesson_id = :lessonId " + " AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id AND ug.group_id=g.group_id" - + " AND ug.group_id <> gi.staff_group_id AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " - + " ORDER BY CONCAT(user.first_name, ' ', user.last_name) " + sortOrder; + + " AND ug.group_id <> gi.staff_group_id AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + + " ORDER BY CONCAT(user.last_name, ' ', user.first_name) " + sortOrder; //when :sortBy='timeTaken' final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_ACTIVITY = "SELECT DISTINCT user.* " @@ -428,7 +428,7 @@ + " AND completedActivityProgress.activity_id=:activityId ON progress.user_id=user.user_id " + " WHERE lesson.lesson_id = :lessonId AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id " + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + "ORDER BY TIMEDIFF(completedActivityProgress.completed_date_time, completedActivityProgress.start_date_time) " + sortOrder; @@ -440,7 +440,7 @@ + " ON user.user_id=gradebookUserActivity.user_id AND gradebookUserActivity.activity_id =:activityId " + " WHERE lesson.lesson_id = :lessonId AND lesson.class_grouping_id=gi.grouping_id AND gi.grouping_id=g.grouping_id " + " AND ug.group_id=g.group_id AND ug.group_id <> gi.staff_group_id" - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + "ORDER BY gradebookUserActivity.mark " + sortOrder; String queryString; @@ -474,8 +474,8 @@ final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT DISTINCT user.* " + " FROM lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " WHERE ug.group_id=:groupId " - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " - + " ORDER BY CONCAT(user.first_name, ' ', user.last_name) " + sortOrder; + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + + " ORDER BY CONCAT(user.last_name, ' ', user.first_name) " + sortOrder; //when :sortBy='timeTaken' final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_GROUP = "SELECT DISTINCT user.* " + " FROM lams_user_group ug " @@ -485,7 +485,7 @@ + " ON completedActivityProgress.learner_progress_id=progress.learner_progress_id " + " AND completedActivityProgress.activity_id=:activityId " + " ON progress.user_id=user.user_id " + " WHERE ug.group_id=:groupId " - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + " ORDER BY TIMEDIFF(completedActivityProgress.completed_date_time, completedActivityProgress.start_date_time) " + sortOrder; @@ -495,7 +495,7 @@ + " LEFT OUTER JOIN lams_gradebook_user_activity gradebookUserActivity " + " ON user.user_id=gradebookUserActivity.user_id AND gradebookUserActivity.activity_id =:activityId " + " WHERE ug.group_id=:groupId " - + " AND (CONCAT(user.first_name, ' ', user.last_name) LIKE CONCAT('%', :searchString, '%')) " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + "ORDER BY gradebookUserActivity.mark " + sortOrder; String queryString; @@ -544,7 +544,7 @@ final String LOAD_LEARNERS_BY_ORG = "SELECT uo.user FROM UserOrganisation uo INNER JOIN uo.userOrganisationRoles roles" + " WHERE uo.organisation.organisationId=:orgId AND roles.role.name = '" + Role.LEARNER + "'" + " AND CONCAT(uo.user.firstName, ' ', uo.user.lastName) LIKE CONCAT('%', :searchString, '%') " - + " ORDER BY uo.user.firstName " + sortOrder + ", uo.user.lastName " + sortOrder; + + " ORDER BY uo.user.lastName " + sortOrder + ", uo.user.firstName " + sortOrder; Query query = getSession().createQuery(LOAD_LEARNERS_BY_ORG, User.class); query.setParameter("orgId", orgId); @@ -561,7 +561,7 @@ final String COUNT_LEARNERS_BY_ORG = "SELECT COUNT(uo.user) FROM UserOrganisation uo" + " INNER JOIN uo.userOrganisationRoles roles" + " WHERE uo.organisation.organisationId=:orgId AND roles.role.name = '" + Role.LEARNER + "'" - + " AND CONCAT(uo.user.firstName, ' ', uo.user.lastName) LIKE CONCAT('%', :searchString, '%') "; + + " AND CONCAT(uo.user.lastName, ' ', uo.user.firstName) LIKE CONCAT('%', :searchString, '%') "; // support for custom search from a toolbar searchString = searchString == null ? "" : searchString; Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java =================================================================== diff -u -r4243b50f5bfd45ca2feffa537be87c6ea02249b2 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision 4243b50f5bfd45ca2feffa537be87c6ea02249b2) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -51,7 +51,7 @@ public GBUserGridRowDTO(User user) { this.id = user.getUserId().toString(); - this.rowName = HtmlUtils.htmlEscape(user.getFirstName() + " " + user.getLastName()); + this.rowName = HtmlUtils.htmlEscape(user.getFullName()); this.firstName = user.getFirstName(); this.lastName = user.getLastName(); this.login = user.getLogin(); Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r0793871529b98e50bcdba56d1f2aeeb0db812836 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 0793871529b98e50bcdba56d1f2aeeb0db812836) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1097,7 +1097,7 @@ placeholderEnd = placeholderStart + RELEASE_MARKS_EMAIL_CONTENT_START_PLACEHOLDER.length(); content.replace(placeholderStart, placeholderEnd, messageService.getMessage("gradebook.monitor.releasemarks.email.content.start", - new Object[] { user.getFirstName() + " " + user.getLastName() })); + new Object[] { user.getFullName() })); placeholderStart = content.indexOf(RELEASE_MARKS_EMAIL_CONTENT_LESSON_NAME_PLACEHOLDER); placeholderEnd = placeholderStart + RELEASE_MARKS_EMAIL_CONTENT_LESSON_NAME_PLACEHOLDER.length(); Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookLearningController.java =================================================================== diff -u -rf3e44aee5373a1233080ea5acd1cb5959bb46544 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookLearningController.java (.../GradebookLearningController.java) (revision f3e44aee5373a1233080ea5acd1cb5959bb46544) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookLearningController.java (.../GradebookLearningController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,9 +40,8 @@ import org.springframework.web.bind.annotation.RequestMapping; /** - * Handles the learner interfaces for gradebook. - * This is where marking for an activity/lesson takes place - * + * Handles the learner interfaces for gradebook. This is where marking for an activity/lesson takes place + * * @author lfoxton */ @Controller @@ -71,18 +70,20 @@ return "error"; } if (!securityService.hasOrgRole(oranisationID, user.getUserID(), - new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, "get course gradebook for learner")) { + new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, + "get course gradebook for learner")) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not a participant in the organisation"); return null; } if (logger.isDebugEnabled()) { logger.debug("Getting learner gradebook for organisation: " + oranisationID); } - Organisation organisation = (Organisation) userManagementService.findById(Organisation.class, oranisationID); + Organisation organisation = (Organisation) userManagementService.findById(Organisation.class, + oranisationID); request.setAttribute("organisationID", oranisationID); request.setAttribute("organisationName", organisation.getName()); - request.setAttribute("fullName", user.getFirstName() + " " + user.getLastName()); + request.setAttribute("fullName", user.getFullName()); return "gradebookCourseLearner"; } catch (Exception e) { Index: lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveWebsocketServer.java =================================================================== diff -u -rf3e44aee5373a1233080ea5acd1cb5959bb46544 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveWebsocketServer.java (.../KumaliveWebsocketServer.java) (revision f3e44aee5373a1233080ea5acd1cb5959bb46544) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveWebsocketServer.java (.../KumaliveWebsocketServer.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -130,11 +130,12 @@ @OnOpen public void registerUser(Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); Integer userId = getUser(websocket).getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, "register on kumalive")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, + "register on kumalive")) { // prevent unauthorised user from accessing Kumalive String warning = "User " + userId + " is not a monitor nor a learner of organisation " + organisationId; logger.warn(warning); @@ -149,8 +150,8 @@ return; } - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); KumaliveDTO kumalive = kumalives.get(organisationId); if (kumalive == null) { return; @@ -234,8 +235,8 @@ * Fetches an existing Kumalive, creates it or tells teacher to create it */ private void start(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); KumaliveDTO kumaliveDTO = kumalives.get(organisationId); boolean isTeacher = false; if (kumaliveDTO == null) { @@ -246,12 +247,13 @@ Integer userId = user.getUserId(); isTeacher = !Role.LEARNER.equalsIgnoreCase(role) && (KumaliveWebsocketServer.getUserManagementService() .isUserInRole(userId, organisationId, Role.GROUP_MANAGER) - || KumaliveWebsocketServer.getUserManagementService().isUserInRole(userId, organisationId, - Role.MONITOR)); + || KumaliveWebsocketServer.getUserManagementService() + .isUserInRole(userId, organisationId, Role.MONITOR)); // if it kumalive does not exists and the user is not a teacher or he did not provide a name yet, // kumalive will not get created - Kumalive kumalive = KumaliveWebsocketServer.getKumaliveService().startKumalive(organisationId, userId, name, - rubricsJSON, isTeacher && StringUtils.isNotBlank(name)); + Kumalive kumalive = KumaliveWebsocketServer.getKumaliveService() + .startKumalive(organisationId, userId, name, rubricsJSON, + isTeacher && StringUtils.isNotBlank(name)); if (kumalive != null) { kumaliveDTO = new KumaliveDTO(kumalive); kumalives.put(organisationId, kumaliveDTO); @@ -288,8 +290,8 @@ * Adds a learner or a teacher to Kumalive */ private void join(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); KumaliveDTO kumalive = kumalives.get(organisationId); if (kumalive == null) { websocket.getBasicRemote().sendText("{ \"type\" : \"start\"}"); @@ -299,15 +301,15 @@ User user = getUser(websocket); Integer userId = user.getUserId(); String login = user.getLogin(); - boolean isTeacher = KumaliveWebsocketServer.getUserManagementService().isUserInRole(userId, organisationId, - Role.GROUP_MANAGER) - || KumaliveWebsocketServer.getUserManagementService().isUserInRole(userId, organisationId, - Role.MONITOR); + boolean isTeacher = KumaliveWebsocketServer.getUserManagementService() + .isUserInRole(userId, organisationId, Role.GROUP_MANAGER) + || KumaliveWebsocketServer.getUserManagementService() + .isUserInRole(userId, organisationId, Role.MONITOR); String role = websocket.getRequestParameterMap().get(AttributeNames.PARAM_ROLE).get(0); KumaliveUserDTO learner = kumalive.learners.get(login); - boolean roleTeacher = isTeacher && !Role.LEARNER.equalsIgnoreCase(role) - && ("teacher".equalsIgnoreCase(role) || learner == null || learner.roleTeacher); + boolean roleTeacher = isTeacher && !Role.LEARNER.equalsIgnoreCase(role) && ("teacher".equalsIgnoreCase(role) + || learner == null || learner.roleTeacher); if (learner != null && !learner.websocket.getId().equals(websocket.getId())) { // only one websocket per user learner.websocket.close( @@ -337,7 +339,7 @@ responseJSON.put("roleTeacher", user.roleTeacher); // teacher details responseJSON.put("teacherId", kumalive.createdBy.getUserID()); - responseJSON.put("teacherName", kumalive.createdBy.getFirstName() + " " + kumalive.createdBy.getLastName()); + responseJSON.put("teacherName", kumalive.createdBy.getFullName()); responseJSON.put("teacherPortraitUuid", kumalive.createdBy.getPortraitUuid()); // rubric details @@ -402,8 +404,8 @@ // calculate missing voters ArrayNode missingVotersJSON = JsonNodeFactory.instance.arrayNode(); for (Entry learnerEntry : kumalive.learners.entrySet()) { - if (!learnerEntry.getValue().roleTeacher - && !kumalive.poll.voterLogins.contains(learnerEntry.getKey())) { + if (!learnerEntry.getValue().roleTeacher && !kumalive.poll.voterLogins.contains( + learnerEntry.getKey())) { missingVotersJSON.add(learnerEntry.getValue().userDTO.getUserID()); } } @@ -432,8 +434,9 @@ channel.sendText(learnerResponse); } else { ObjectNode learnerPollJSON = pollJSON.deepCopy(); - boolean voted = participant.vote != null && kumalive.poll.pollId != null - && participant.vote.pollId.equals(kumalive.poll.pollId); + boolean voted = + participant.vote != null && kumalive.poll.pollId != null && participant.vote.pollId.equals( + kumalive.poll.pollId); // put them in response only if teacher released them and user voted if (!kumalive.poll.votesReleased || (!voted && !kumalive.poll.finished)) { learnerPollJSON.remove("votes"); @@ -458,15 +461,16 @@ * Tell learners that the teacher asked a question */ private void raiseHandPrompt(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); KumaliveDTO kumalive = kumalives.get(organisationId); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive raise hand prompt")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive raise hand prompt")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -483,15 +487,16 @@ * Tell learners that the teacher finished a question */ private void downHandPrompt(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); KumaliveDTO kumalive = kumalives.get(organisationId); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive down hand prompt")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive down hand prompt")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -510,14 +515,15 @@ * Tell learners that a learner raised hand */ private void raiseHand(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, "kumalive raise hand")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, + "kumalive raise hand")) { String warning = "User " + userId + " is not a monitor nor a learner of organisation " + organisationId; logger.warn(warning); return; @@ -546,14 +552,15 @@ * Tell learners that a learner put hadn down */ private void downHand(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, "kumalive down hand")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR, Role.LEARNER }, + "kumalive down hand")) { String warning = "User " + userId + " is not a monitor nor a learner of organisation " + organisationId; logger.warn(warning); return; @@ -577,14 +584,15 @@ * Set up a speaker or remove him */ private void speak(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive speak")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive speak")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -599,28 +607,30 @@ * Save score for a learner */ private void score(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive score")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive score")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; } Long rubricId = JsonUtil.optLong(requestJSON, "rubricId"); Integer learnerId = JsonUtil.optInt(requestJSON, AttributeNames.PARAM_USER_ID); - KumaliveWebsocketServer.getKumaliveService().scoreKumalive(rubricId, learnerId, - Long.valueOf(JsonUtil.optString(requestJSON, "batch")), - Short.valueOf(JsonUtil.optString(requestJSON, "score"))); + KumaliveWebsocketServer.getKumaliveService() + .scoreKumalive(rubricId, learnerId, Long.valueOf(JsonUtil.optString(requestJSON, "batch")), + Short.valueOf(JsonUtil.optString(requestJSON, "score"))); KumaliveDTO kumalive = kumalives.get(organisationId); if (logger.isDebugEnabled()) { - logger.debug("Teacher " + userId + " marked rubric " + rubricId + " for learner " + learnerId - + " in Kumalive " + kumalive.id); + logger.debug( + "Teacher " + userId + " marked rubric " + rubricId + " for learner " + learnerId + " in Kumalive " + + kumalive.id); } KumaliveWebsocketServer.sendRefresh(kumalive); @@ -630,14 +640,15 @@ * Tell learners that the teacher started a poll */ private void startPoll(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive poll start")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive poll start")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -653,8 +664,8 @@ } ObjectNode pollJSON = JsonUtil.optObject(requestJSON, "poll"); - KumalivePoll poll = KumaliveWebsocketServer.getKumaliveService().startPoll(kumalive.id, - JsonUtil.optString(pollJSON, "name"), JsonUtil.optArray(pollJSON, "answers")); + KumalivePoll poll = KumaliveWebsocketServer.getKumaliveService() + .startPoll(kumalive.id, JsonUtil.optString(pollJSON, "name"), JsonUtil.optArray(pollJSON, "answers")); if (poll != null) { KumaliveWebsocketServer.fillPollDTO(kumalive, poll); } @@ -668,13 +679,13 @@ * Tell learners that the teacher started a poll */ private void votePoll(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.LEARNER }, "kumalive poll vote")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.LEARNER }, "kumalive poll vote")) { String warning = "User " + userId + " is not a learner of organisation " + organisationId; logger.warn(warning); return; @@ -709,25 +720,26 @@ * Allow learners to see votes and/or voters */ private void releasePollResults(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive poll release results")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive poll release results")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; } KumaliveDTO kumalive = kumalives.get(organisationId); kumalive.poll.votersReleased |= JsonUtil.optBoolean(requestJSON, "votersReleased", false); - kumalive.poll.votesReleased |= kumalive.poll.votersReleased - || JsonUtil.optBoolean(requestJSON, "votesReleased", false); - KumaliveWebsocketServer.getKumaliveService().releasePollResults(kumalive.poll.pollId, - kumalive.poll.votesReleased, kumalive.poll.votersReleased); + kumalive.poll.votesReleased |= + kumalive.poll.votersReleased || JsonUtil.optBoolean(requestJSON, "votesReleased", false); + KumaliveWebsocketServer.getKumaliveService() + .releasePollResults(kumalive.poll.pollId, kumalive.poll.votesReleased, kumalive.poll.votersReleased); kumalive.poll.pollJSON.put("votesReleased", kumalive.poll.votesReleased); kumalive.poll.pollJSON.put("votersReleased", kumalive.poll.votersReleased); @@ -743,14 +755,15 @@ * Tell learners that the teacher started a poll */ private void finishPoll(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive poll start")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive poll start")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -770,14 +783,15 @@ } private void closePoll(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive poll start")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive poll start")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -796,14 +810,15 @@ * End Kumalive */ private void finish(ObjectNode requestJSON, Session websocket) throws IOException { - Integer organisationId = Integer - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); + Integer organisationId = Integer.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_ORGANISATION_ID).get(0)); User user = getUser(websocket); Integer userId = user.getUserId(); - if (!KumaliveWebsocketServer.getSecurityService().hasOrgRole(organisationId, userId, - new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive finish")) { + if (!KumaliveWebsocketServer.getSecurityService() + .hasOrgRole(organisationId, userId, new String[] { Role.GROUP_MANAGER, Role.MONITOR }, + "kumalive finish")) { String warning = "User " + userId + " is not a monitor of organisation " + organisationId; logger.warn(warning); return; @@ -866,8 +881,8 @@ } } if (userDTO == null) { - User user = (User) KumaliveWebsocketServer.getUserManagementService().findById(User.class, - userId); + User user = (User) KumaliveWebsocketServer.getUserManagementService() + .findById(User.class, userId); userDTO = user.getUserDTO(); } answerVoters.add(userDTO); @@ -882,26 +897,26 @@ private static IKumaliveService getKumaliveService() { if (kumaliveService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( + SessionManager.getServletContext()); kumaliveService = (IKumaliveService) ctx.getBean("kumaliveService"); } return kumaliveService; } private static ISecurityService getSecurityService() { if (securityService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext( + SessionManager.getServletContext()); securityService = (ISecurityService) ctx.getBean("securityService"); } return securityService; } private static IUserManagementService getUserManagementService() { if (userManagementService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext( + SessionManager.getServletContext()); userManagementService = (IUserManagementService) ctx.getBean("userManagementService"); } return userManagementService; Index: lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/dao/hibernate/KumaliveDAO.java =================================================================== diff -u -r2188972474f8d186d6811e3dea2e4136be669335 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/dao/hibernate/KumaliveDAO.java (.../KumaliveDAO.java) (revision 2188972474f8d186d6811e3dea2e4136be669335) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/dao/hibernate/KumaliveDAO.java (.../KumaliveDAO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -45,7 +45,7 @@ private static final String FIND_RUBRICS_BY_ORGANISATION = "FROM " + KumaliveRubric.class.getName() + " AS r WHERE r.organisation.organisationId = ? AND r.kumalive IS NULL ORDER BY r.orderId ASC"; private static final String FIND_SCORE_BY_KUMALIVE = "FROM " + KumaliveScore.class.getName() - + " AS s WHERE s.rubric.kumalive.kumaliveId = ? ORDER BY s.user.firstName "; + + " AS s WHERE s.rubric.kumalive.kumaliveId = ? ORDER BY s.user.lastName "; private static final String FIND_SCORE_BY_KUMALIVE_AND_USER = "FROM " + KumaliveScore.class.getName() + " AS s WHERE s.rubric.kumalive.kumaliveId = ? AND s.user.userId = ?"; private static final String FIND_CURRENT_POLL_BY_KUMALIVE = "FROM " + KumalivePoll.class.getName() Index: lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/service/KumaliveService.java =================================================================== diff -u -r0793871529b98e50bcdba56d1f2aeeb0db812836 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/service/KumaliveService.java (.../KumaliveService.java) (revision 0793871529b98e50bcdba56d1f2aeeb0db812836) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/service/KumaliveService.java (.../KumaliveService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -254,7 +254,7 @@ rowJSON.put(CommonConstants.ELEMENT_ID, user.getUserId()); ArrayNode cellJSON = JsonNodeFactory.instance.arrayNode(); - cellJSON.add(user.getFirstName() + " " + user.getLastName()); + cellJSON.add(user.getFullName()); // calculate average of scores for the given rubric for (Long rubric : rubrics) { Double score = null; Index: lams_learning/src/java/org/lamsfoundation/lams/learning/presence/PresenceWebsocketServer.java =================================================================== diff -u -r31bce49235ce48b8f2b5367aa7153d4341664287 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/src/java/org/lamsfoundation/lams/learning/presence/PresenceWebsocketServer.java (.../PresenceWebsocketServer.java) (revision 31bce49235ce48b8f2b5367aa7153d4341664287) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/presence/PresenceWebsocketServer.java (.../PresenceWebsocketServer.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -71,8 +71,8 @@ Entry> entry = lessonIterator.next(); Long lessonId = entry.getKey(); Long lastSendTime = lastSendTimes.get(lessonId); - if ((lastSendTime == null) - || ((System.currentTimeMillis() - lastSendTime) >= SendWorker.CHECK_INTERVAL)) { + if ((lastSendTime == null) || ((System.currentTimeMillis() - lastSendTime) + >= SendWorker.CHECK_INTERVAL)) { SendWorker.send(lessonId, null); } @@ -239,12 +239,12 @@ String login = websocket.getUserPrincipal().getName(); User user = PresenceWebsocketServer.getUserManagementService().getUserByLogin(login); - String nickname = user.getFirstName() + " " + user.getLastName(); + String nickname = user.getFullName(); websocket.getUserProperties().put(PARAM_NICKNAME, nickname); websocket.getUserProperties().put(AttributeNames.PARAM_LESSON_ID, lessonId); - PresenceWebsocketServer.getSecurityService().ensureLessonParticipant(lessonId, user.getUserId(), - "join lesson chat"); + PresenceWebsocketServer.getSecurityService() + .ensureLessonParticipant(lessonId, user.getUserId(), "join lesson chat"); Set lessonWebsockets = PresenceWebsocketServer.websockets.get(lessonId); if (lessonWebsockets == null) { @@ -272,8 +272,8 @@ }).start(); if (PresenceWebsocketServer.log.isDebugEnabled()) { - PresenceWebsocketServer.log - .debug("User " + nickname + " entered Presence Chat with lesson ID: " + lessonId); + PresenceWebsocketServer.log.debug( + "User " + nickname + " entered Presence Chat with lesson ID: " + lessonId); } } @@ -287,8 +287,9 @@ PresenceWebsocketServer.removeWebsocket(websocket, lessonWebsockets); if (PresenceWebsocketServer.log.isDebugEnabled()) { - PresenceWebsocketServer.log.debug("User " + websocket.getUserProperties().get(PARAM_NICKNAME) - + " left Presence Chat with lessonId: " + lessonId); + PresenceWebsocketServer.log.debug( + "User " + websocket.getUserProperties().get(PARAM_NICKNAME) + " left Presence Chat with lessonId: " + + lessonId); } } @@ -337,8 +338,8 @@ new Thread(() -> { try { HibernateSessionManager.openSession(); - PresenceWebsocketServer.getPresenceChatService().createPresenceChatMessage(lessonId, from, finalTo, - new Date(), message); + PresenceWebsocketServer.getPresenceChatService() + .createPresenceChatMessage(lessonId, from, finalTo, new Date(), message); } finally { HibernateSessionManager.closeSession(); } @@ -435,37 +436,37 @@ private static IPresenceChatService getPresenceChatService() { if (PresenceWebsocketServer.presenceChatService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( + SessionManager.getServletContext()); PresenceWebsocketServer.presenceChatService = (IPresenceChatService) ctx.getBean("presenceChatService"); } return PresenceWebsocketServer.presenceChatService; } private static ISecurityService getSecurityService() { if (PresenceWebsocketServer.securityService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( + SessionManager.getServletContext()); PresenceWebsocketServer.securityService = (ISecurityService) ctx.getBean("securityService"); } return PresenceWebsocketServer.securityService; } private static ILessonService getLessonService() { if (PresenceWebsocketServer.lessonService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( + SessionManager.getServletContext()); PresenceWebsocketServer.lessonService = (ILessonService) ctx.getBean("lessonService"); } return PresenceWebsocketServer.lessonService; } private static IUserManagementService getUserManagementService() { if (PresenceWebsocketServer.userManagementService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getWebApplicationContext(SessionManager.getServletContext()); - PresenceWebsocketServer.userManagementService = (IUserManagementService) ctx - .getBean("userManagementService"); + WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( + SessionManager.getServletContext()); + PresenceWebsocketServer.userManagementService = (IUserManagementService) ctx.getBean( + "userManagementService"); } return PresenceWebsocketServer.userManagementService; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java =================================================================== diff -u -r815b617ce48bcd3dc0a36aa32630ca55d4c21715 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision 815b617ce48bcd3dc0a36aa32630ca55d4c21715) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -46,6 +46,7 @@ import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.usermanagement.dto.UserBasicDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.WebUtil; @@ -56,7 +57,6 @@ import org.springframework.web.bind.annotation.RequestMapping; /** - * *

    * The action servlet that triggers the system driven grouping (random grouping) and allows the learner to view the * result of the grouping. @@ -68,7 +68,6 @@ *

    * * @author Jacky Fang - * */ @Controller @RequestMapping("/grouping") @@ -79,7 +78,7 @@ private ILearnerFullService learnerService; @Autowired private ActivityMapping activityMapping; - + // --------------------------------------------------------------------- // Class level constants - Session Attributes // --------------------------------------------------------------------- @@ -111,16 +110,16 @@ return "error"; } Long lessonId = learnerProgress.getLesson().getLessonId(); - boolean groupingDone = learnerService.performGrouping(lessonId, activity.getActivityId(), - currentUserId, forceGroup); + boolean groupingDone = learnerService.performGrouping(lessonId, activity.getActivityId(), currentUserId, + forceGroup); groupingForm.setPreviewLesson(learnerProgress.getLesson().isPreviewLesson()); groupingForm.setTitle(activity.getTitle()); groupingForm.setActivityID(activity.getActivityId()); request.setAttribute(AttributeNames.PARAM_LESSON_ID, lessonId); - + prepareDataForShowPage(currentUserId, request); - + //Load up the grouping information and forward to the jsp page to display all the groups and members. if (groupingDone) { request.setAttribute(GroupingController.FINISHED_BUTTON, Boolean.TRUE); @@ -136,35 +135,36 @@ return "grouping/show"; } else - // forward to group choosing page - if (((GroupingActivity) activity).getCreateGrouping().isLearnerChoiceGrouping()) { - Long groupingId = ((GroupingActivity) activity).getCreateGrouping().getGroupingId(); - Integer maxNumberOfLeaernersPerGroup = learnerService.calculateMaxNumberOfLearnersPerGroup(lessonId, - groupingId); + // forward to group choosing page + if (((GroupingActivity) activity).getCreateGrouping().isLearnerChoiceGrouping()) { + Long groupingId = ((GroupingActivity) activity).getCreateGrouping().getGroupingId(); + Integer maxNumberOfLeaernersPerGroup = learnerService.calculateMaxNumberOfLearnersPerGroup(lessonId, + groupingId); - LearnerChoiceGrouping groupingDb = (LearnerChoiceGrouping) learnerService.getGrouping(groupingId); - request.setAttribute(GroupingController.MAX_LEARNERS_PER_GROUP, maxNumberOfLeaernersPerGroup); - request.setAttribute(GroupingController.VIEW_STUDENTS_BEFORE_SELECTION, - groupingDb.getViewStudentsBeforeSelection()); - return "grouping/choose"; - - } else { - return "grouping/wait"; - } + LearnerChoiceGrouping groupingDb = (LearnerChoiceGrouping) learnerService.getGrouping(groupingId); + request.setAttribute(GroupingController.MAX_LEARNERS_PER_GROUP, maxNumberOfLeaernersPerGroup); + request.setAttribute(GroupingController.VIEW_STUDENTS_BEFORE_SELECTION, + groupingDb.getViewStudentsBeforeSelection()); + return "grouping/choose"; + + } else { + return "grouping/wait"; + } } - + /** - * Load up the grouping information and forward to the jsp page to display all the groups and members. This method is used only to show show.jsp page to the teacher. + * Load up the grouping information and forward to the jsp page to display all the groups and members. This method + * is used only to show show.jsp page to the teacher. */ @RequestMapping("/viewGrouping") public String viewGrouping(HttpServletRequest request) throws IOException, ServletException { int userId = WebUtil.readIntParam(request, AttributeNames.PARAM_USER_ID); prepareDataForShowPage(userId, request); - + request.setAttribute(GroupingController.FINISHED_BUTTON, false); return "grouping/show"; } - + /** * Common method for performGrouping(GroupingForm, HttpServletRequest) and viewGrouping(HttpServletRequest) */ @@ -176,7 +176,7 @@ if (grouping != null) { for (Group group : grouping.getGroups()) { GroupDTO groupDTO = new GroupDTO(group, true); - groupDTO.getUserList().sort(UserBasicDTO.USER_BASIC_DTO_COMPARATOR); + groupDTO.getUserList().sort(IUserDetails.COMPARATOR); //set isUserBelongsToGroup for (UserBasicDTO userDto : groupDTO.getUserList()) { Index: lams_learning/web/grouping/choose.jsp =================================================================== diff -u -rcde40c4e56d7e2b2c6a4b91415a3db1937f1a089 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/web/grouping/choose.jsp (.../choose.jsp) (revision cde40c4e56d7e2b2c6a4b91415a3db1937f1a089) +++ lams_learning/web/grouping/choose.jsp (.../choose.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -111,7 +111,7 @@
    -    +  
    Index: lams_learning/web/grouping/show.jsp =================================================================== diff -u -ra377aa467afa7fb965921c85d6d9e144730e41f8 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/web/grouping/show.jsp (.../show.jsp) (revision a377aa467afa7fb965921c85d6d9e144730e41f8) +++ lams_learning/web/grouping/show.jsp (.../show.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -75,7 +75,7 @@
      -   +
    @@ -103,4 +103,4 @@
- + \ No newline at end of file Index: lams_learning/web/includes/javascript/kumalive.js =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/web/includes/javascript/kumalive.js (.../kumalive.js) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_learning/web/includes/javascript/kumalive.js (.../kumalive.js) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -263,7 +263,7 @@ var profilePicture = $('.profilePicture', learnerDiv); // use profile picture or a coloured icon addPortrait(profilePicture, learner.portraitUuid, learner.id, "large", true, LAMS_URL); - $('.name', learnerDiv).text(learner.firstName + ' ' + learner.lastName); + $('.name', learnerDiv).text(learner.lastName + ' ' + learner.firstName); if (roleTeacher) { // teacher can see logins and chooses who speaks @@ -427,7 +427,7 @@ profilePicture = $('.profilePicture', voterDiv); // use profile picture or a coloured icon addPortrait(profilePicture, voter.portraitUuid, voter.id, "large", true, LAMS_URL); - $('.name', voterDiv).text(voter.firstName + ' ' + voter.lastName); + $('.name', voterDiv).text(voter.lastName + ' ' + voter.firstName); if (roleTeacher) { // teacher can see logins and chooses who speaks Index: lams_learning/web/lessonComplete.jsp =================================================================== diff -u -rcc5716a42c30454b2062b1f0c33d831e490071b0 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/web/lessonComplete.jsp (.../lessonComplete.jsp) (revision cc5716a42c30454b2062b1f0c33d831e490071b0) +++ lams_learning/web/lessonComplete.jsp (.../lessonComplete.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -161,7 +161,7 @@   -   +   @@ -221,4 +221,4 @@ - + \ No newline at end of file Index: lams_learning/web/presenceChat.jsp =================================================================== diff -u -r9496ff3ffe5e98272f7939a2cf4e8c6dbb2901f7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_learning/web/presenceChat.jsp (.../presenceChat.jsp) (revision 9496ff3ffe5e98272f7939a2cf4e8c6dbb2901f7) +++ lams_learning/web/presenceChat.jsp (.../presenceChat.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -27,7 +27,7 @@ <%-- Learner interface uses attribues, Monitor uses parameters --%> presenceEnabled = ${param.presenceEnabledPatch eq 'true' or presenceEnabledPatch}, presenceShown = ${param.presenceShown eq 'true' or presenceShown}, - nickname = '' + ' ' + '', + nickname = '' + ' ' + '', // labels used in JS file labelSend = '', labelUsers = '', Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/PermissionGateDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/PermissionGateDTO.java (.../PermissionGateDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/PermissionGateDTO.java (.../PermissionGateDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -27,7 +27,7 @@ this.openTime = gate.getGateOpenTime(); User openUser = gate.getGateOpenUser(); if (openUser != null) { - this.openUser = openUser.getFirstName() + " " + openUser.getLastName(); + this.openUser = openUser.getFullName(); } } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r0793871529b98e50bcdba56d1f2aeeb0db812836 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 0793871529b98e50bcdba56d1f2aeeb0db812836) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1906,13 +1906,7 @@ break; } - Set sortedUsers = new TreeSet<>(new Comparator() { - @Override - public int compare(User usr0, User usr1) { - return ((usr0.getLastName() + usr0.getFirstName() + usr0.getLogin()).compareTo( - usr1.getLastName() + usr1.getFirstName() + usr1.getLogin())); - } - }); + Set sortedUsers = new TreeSet<>(); sortedUsers.addAll(users); return sortedUsers; Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java =================================================================== diff -u -r819399aeee074e740f0756ceafb9fd119073cb88 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision 819399aeee074e740f0756ceafb9fd119073cb88) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1495,7 +1495,7 @@ ArrayNode responseJSON = JsonNodeFactory.instance.arrayNode(); for (User user : users) { ObjectNode userJSON = JsonNodeFactory.instance.objectNode(); - userJSON.put("label", user.getFirstName() + " " + user.getLastName() + " " + user.getLogin()); + userJSON.put("label", user.getFullName() + " " + user.getLogin()); userJSON.put("value", user.getUserId() + (user.getPortraitUuid() == null ? "" : "_" + user.getPortraitUuid().toString())); Index: lams_monitoring/web/gate/gateStatus.jsp =================================================================== diff -u -r35dd47046a83ab2f9e80f76dc22d1521412219b5 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/gate/gateStatus.jsp (.../gateStatus.jsp) (revision 35dd47046a83ab2f9e80f76dc22d1521412219b5) +++ lams_monitoring/web/gate/gateStatus.jsp (.../gateStatus.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -43,7 +43,7 @@   - + @@ -60,4 +60,4 @@ value="" />

- + \ No newline at end of file Index: lams_monitoring/web/gate/openGateSingleUser.jsp =================================================================== diff -u -r35dd47046a83ab2f9e80f76dc22d1521412219b5 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision 35dd47046a83ab2f9e80f76dc22d1521412219b5) +++ lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -46,7 +46,7 @@
@@ -72,7 +72,7 @@ @@ -92,7 +92,7 @@
- +
@@ -101,4 +101,4 @@
- + \ No newline at end of file Index: lams_monitoring/web/grouping/viewGroups.jsp =================================================================== diff -u -r509e81cd8bc4486fab7de352c4e8cfafd38efe48 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/grouping/viewGroups.jsp (.../viewGroups.jsp) (revision 509e81cd8bc4486fab7de352c4e8cfafd38efe48) +++ lams_monitoring/web/grouping/viewGroups.jsp (.../viewGroups.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -72,7 +72,7 @@ - + Index: lams_monitoring/web/includes/javascript/monitorLesson.js =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -2515,12 +2515,12 @@ $('.accordion-button', itemHeader) .attr('data-bs-target', '#' + itemCollapseId) .attr('aria-controls', itemCollapseId) - .prepend('' + learner.firstName + ' ' + learner.lastName + '') + .prepend('' + learner.lastName + ' ' + learner.firstName + '') .prepend(portraitSmall); $('.accordion-completed-activity-count', itemHeader).text(learner.completedActivityCount).tooltip(); $('.accordion-completed-lesson', itemHeader).toggle(learner.completedLesson).tooltip(); - $('.learners-accordion-name', item).text(learner.firstName + ' ' + learner.lastName); + $('.learners-accordion-name', item).text(learner.lastName + ' ' + learner.firstName); $('.learners-accordion-login', item).html('' + learner.login); $('.learners-accordion-email', item).html('' + learner.email + ''); Index: lams_monitoring/web/tblmonitor/teams.jsp =================================================================== diff -u -re0dbd6beaeea905447bd9a87cd23272c4cfee853 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/tblmonitor/teams.jsp (.../teams.jsp) (revision e0dbd6beaeea905447bd9a87cd23272c4cfee853) +++ lams_monitoring/web/tblmonitor/teams.jsp (.../teams.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -523,15 +523,15 @@ - + fw-bold" - data-portrait="${userDto.portraitUuid}" data-fullname="${userDto.lastName}, ${userDto.firstName}"> - + data-portrait="${userDto.portraitUuid}" data-fullname="${userDto.getFullName()}"> + Index: lams_monitoring/web/viewSequence.jsp =================================================================== diff -u -r40de3afab4e8d589660daffb6efd6e568e87f8fa -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_monitoring/web/viewSequence.jsp (.../viewSequence.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) +++ lams_monitoring/web/viewSequence.jsp (.../viewSequence.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -36,7 +36,7 @@ -
+
@@ -51,6 +51,4 @@ - - - + \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java =================================================================== diff -u -r193e1ddf0d23bb2d90636908378b8dbe4a089dbc -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java (.../AssessmentResultDAOHibernate.java) (revision 193e1ddf0d23bb2d90636908378b8dbe4a089dbc) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java (.../AssessmentResultDAOHibernate.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -124,7 +124,7 @@ + " (type = 7 AND mark > 0) OR " + " (type = 8 AND answer_int > 0)" + " ,1, 0)) AS answered_question_count FROM" - + " (SELECT u.user_id, BIN_TO_UUID(u.portrait_uuid) AS portrait_uuid, CONCAT(u.first_name, ' ', u.last_name) AS user_name," + + " (SELECT u.user_id, BIN_TO_UUID(u.portrait_uuid) AS portrait_uuid, CONCAT(u.last_name, ' ', u.first_name) AS user_name," + " s.session_name AS group_name, qbq.type, qr.mark, qbta.answer, oa.answer_boolean, oa.answer_int" + " FROM tl_laasse10_assessment AS a" + " JOIN tl_laasse10_assessment_result AS ar ON a.uid = ar.assessment_uid" @@ -145,7 +145,7 @@ + " GROUP BY qr.uid, u.user_id) AS answered_questions GROUP BY user_id ORDER BY user_name"; private static final String FINISHED_LEARNERS_FOR_COMPLETION_CHART = - "SELECT u.user_id, BIN_TO_UUID(u.portrait_uuid) AS portrait_uuid, CONCAT(u.first_name, ' ', u.last_name) AS user_name, " + "SELECT u.user_id, BIN_TO_UUID(u.portrait_uuid) AS portrait_uuid, CONCAT(u.last_name, ' ', u.first_name) AS user_name, " + " s.session_name AS group_name" + " FROM tl_laasse10_assessment AS a" + " JOIN tl_laasse10_assessment_result AS ar ON a.uid = ar.assessment_uid" Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java =================================================================== diff -u -rf8f156c0f021d60857760ea60579a41e1380288c -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision f8f156c0f021d60857760ea60579a41e1380288c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -84,7 +84,7 @@ private static final String FIND_LEARNERS_BY_CONTENT_ID_FOR_COMPLETION_CHART = "SELECT u.user_id, BIN_TO_UUID(u.portrait_uuid) AS portrait_uuid, " - + " CONCAT(u.first_name, ' ', u.last_name) AS user_name," + " s.session_name AS group_name" + + " CONCAT(u.last_name, ' ', u.first_name) AS user_name, s.session_name AS group_name" + " FROM tl_laasse10_assessment AS a" + " JOIN tl_laasse10_session AS s ON s.assessment_uid = a.uid" + " JOIN tl_laasse10_user AS au ON au.session_uid = s.uid" Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/AssessmentUserDTO.java =================================================================== diff -u -r97302bfd38611772c8baaf1900f7fcbc87024f6b -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/AssessmentUserDTO.java (.../AssessmentUserDTO.java) (revision 97302bfd38611772c8baaf1900f7fcbc87024f6b) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/AssessmentUserDTO.java (.../AssessmentUserDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -22,7 +22,9 @@ package org.lamsfoundation.lams.tool.assessment.dto; -public class AssessmentUserDTO { +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; + +public class AssessmentUserDTO implements IUserDetails { private Long userId; private String firstName; private String lastName; @@ -106,4 +108,4 @@ this.portraitId = portraitId; } -} +} \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java (.../AssessmentUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java (.../AssessmentUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,6 +40,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Assessment User @@ -48,7 +49,7 @@ */ @Entity @Table(name = "tl_laasse10_user") -public class AssessmentUser implements Cloneable { +public class AssessmentUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(AssessmentUser.class); @Id @@ -130,8 +131,8 @@ // ********************************************************** // Get/Set methods // ********************************************************** + /** - * * @return Returns the uid. */ public Long getUid() { @@ -140,14 +141,13 @@ /** * @param uid - * The uid to set. + * The uid to set. */ public void setUid(Long userID) { this.uid = userID; } /** - * * @return Returns the userId. */ public Long getUserId() { @@ -156,14 +156,13 @@ /** * @param userId - * The userId to set. + * The userId to set. */ public void setUserId(Long userID) { this.userId = userID; } /** - * * @return */ public String getLastName() { @@ -175,7 +174,6 @@ } /** - * * @return */ public String getFirstName() { @@ -187,19 +185,21 @@ } /** - * * @return */ public String getLoginName() { return loginName; } + public String getLogin() { + return getLoginName(); + } + public void setLoginName(String loginName) { this.loginName = loginName; } /** - * * @return */ public AssessmentSession getSession() { @@ -211,7 +211,6 @@ } /** - * * @return */ public Assessment getAssessment() { @@ -223,7 +222,6 @@ } /** - * * @return */ public boolean isSessionFinished() { @@ -271,4 +269,4 @@ } } -} +} \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1825,7 +1825,7 @@ for (AssessmentUserDTO userDto : userDtos) { ExcelRow userResultRow = summarySheet.initRow(); userResultRow.addCell(userDto.getLogin()); - userResultRow.addCell(userDto.getFirstName() + " " + userDto.getLastName()); + userResultRow.addCell(userDto.getFullName()); userResultRow.addCell(userDto.isResultSubmitted() ? userDto.getGrade() : "-"); } summarySheet.addEmptyRow(); @@ -3414,10 +3414,9 @@ ConfidenceLevelDTO confidenceLevelDto = new ConfidenceLevelDTO(); confidenceLevelDto.setUserId(user.getUserId().intValue()); - String userName = StringUtils.isBlank(user.getFirstName()) && StringUtils.isBlank( - user.getLastName()) + String userName = StringUtils.isBlank(user.getFullName()) ? user.getLoginName() - : user.getFirstName() + " " + user.getLastName(); + : user.getFullName(); confidenceLevelDto.setUserName(userName); confidenceLevelDto.setPortraitUuid( portraitUuid == null ? null : portraitUuid.toString()); @@ -3437,10 +3436,9 @@ ConfidenceLevelDTO confidenceLevelDto = new ConfidenceLevelDTO(); confidenceLevelDto.setUserId(user.getUserId().intValue()); - String userName = - StringUtils.isBlank(user.getFirstName()) && StringUtils.isBlank(user.getLastName()) - ? user.getLoginName() - : user.getFirstName() + " " + user.getLastName(); + String userName = StringUtils.isBlank(user.getFullName()) + ? user.getLoginName() + : user.getFullName(); confidenceLevelDto.setUserName(userName); confidenceLevelDto.setPortraitUuid(portraitUuid == null ? null : portraitUuid.toString()); confidenceLevelDto.setQbQuestionUid(qbQuestion.getUid()); @@ -3520,10 +3518,9 @@ ConfidenceLevelDTO confidenceLevelDto = new ConfidenceLevelDTO(); confidenceLevelDto.setUserId(user.getUserId().intValue()); - String userName = - StringUtils.isBlank(user.getFirstName()) && StringUtils.isBlank(user.getLastName()) - ? user.getLoginName() - : user.getFirstName() + " " + user.getLastName(); + String userName = StringUtils.isBlank(user.getFullName()) + ? user.getLoginName() + : user.getFullName(); confidenceLevelDto.setUserName(userName); confidenceLevelDto.setPortraitUuid(portraitUuid == null ? null : portraitUuid.toString()); confidenceLevelDto.setLevel(questionResult.getConfidenceLevel()); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java =================================================================== diff -u -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -451,8 +451,7 @@ if (questionEtherpadEnabled) { // get all users from the group, even if they did not reach the Scratchie yet // order them by first and last name - Collection allGroupUsers = service.getAllGroupUsers(toolSessionId).stream() - .sorted(Comparator.comparing(u -> u.getFirstName() + u.getLastName())) + Collection allGroupUsers = service.getAllGroupUsers(toolSessionId).stream().sorted() .collect(Collectors.toList()); request.setAttribute(AssessmentConstants.ATTR_ALL_GROUP_USERS, allGroupUsers); } @@ -1265,7 +1264,7 @@ sessionMap.put(AssessmentConstants.ATTR_ASSESSMENT, assessment); sessionMap.put(AssessmentConstants.CONFIG_KEY_HIDE_TITLES, Boolean.valueOf(service.getConfigValue(AssessmentConstants.CONFIG_KEY_HIDE_TITLES))); - + boolean isBootstrap5 = WebUtil.readBooleanParam(request, "bootstrap5", false); return "pages/learning/" + (isBootstrap5 ? "results" : "resultsbootstrap3") + (embedded ? "/allquestions" : ""); @@ -1304,7 +1303,7 @@ if ((mode != null) && !mode.isTeacher() && !isAutosave && isResultsStored && assessment.isNotifyTeachersOnAttemptCompletion()) { AssessmentUser assessmentUser = getCurrentAssessmentUser(toolSessionId); - String fullName = assessmentUser.getLastName() + " " + assessmentUser.getFirstName(); + String fullName = assessmentUser.getFullName(); service.notifyTeachersOnAttemptCompletion(toolSessionId, fullName); } Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -357,7 +357,7 @@ String gradeString = request.getParameter(AssessmentConstants.PARAM_GRADE); if (StringUtils.isNotBlank(gradeString) && !gradeString.strip().equals("-")) { newGrade = Float.valueOf(gradeString); - responseText = teacher.getLastName() + " " + teacher.getFirstName(); + responseText = teacher.getFullName(); } } else if (column.equals(AssessmentConstants.PARAM_MARKER_COMMENT)) { markerComment = request.getParameter(AssessmentConstants.PARAM_MARKER_COMMENT); @@ -484,7 +484,7 @@ ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(userDto.getUserId()); userData.add(userDto.getSessionId()); - String fullName = HtmlUtils.htmlEscape(userDto.getFirstName() + " " + userDto.getLastName()); + String fullName = HtmlUtils.htmlEscape(userDto.getFullName()); userData.add(fullName); userData.add(userDto.getGrade()); if (userDto.getPortraitId() != null) { @@ -992,7 +992,7 @@ ObjectNode userJSON = JsonNodeFactory.instance.objectNode(); userJSON.put("value", "user-" + user.getUserId()); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { @@ -1045,7 +1045,7 @@ userJSON.put("userId", user.getUserId()); userJSON.put("adjustment", timeLimitAdjustments.get(user.getUserId().intValue())); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== diff -u -r6cd828445d4549e4d114c5333628d812233f0f7a -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 6cd828445d4549e4d114c5333628d812233f0f7a) +++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -587,7 +587,7 @@ + username="${sessionMap.groupLeader.getFullName()}" userId="${sessionMap.groupLeader.userId}"/> Index: lams_tool_assessment/web/pages/learning/parts/allquestions.jsp =================================================================== diff -u -rd890ade9e99ac938f597b2e86123952efc14eced -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/web/pages/learning/parts/allquestions.jsp (.../allquestions.jsp) (revision d890ade9e99ac938f597b2e86123952efc14eced) +++ lams_tool_assessment/web/pages/learning/parts/allquestions.jsp (.../allquestions.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -4,8 +4,7 @@ <%-- Prepare same content for each question Etherpad. Each group participant's first and last name --%> -  :
+ :


@@ -153,4 +152,4 @@
- + \ No newline at end of file Index: lams_tool_assessment/web/pages/learning/results.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/web/pages/learning/results.jsp (.../results.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_assessment/web/pages/learning/results.jsp (.../results.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -98,7 +98,7 @@ - + @@ -142,4 +142,4 @@ - + \ No newline at end of file Index: lams_tool_assessment/web/pages/monitoring/parts/masterDetailLoadUp.jsp =================================================================== diff -u -rcfd463431d2171b40403dcff2508408e72685c0e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/web/pages/monitoring/parts/masterDetailLoadUp.jsp (.../masterDetailLoadUp.jsp) (revision cfd463431d2171b40403dcff2508408e72685c0e) +++ lams_tool_assessment/web/pages/monitoring/parts/masterDetailLoadUp.jsp (.../masterDetailLoadUp.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -39,7 +39,7 @@ ("") - "" + "" "" @@ -57,5 +57,4 @@ } }; masterDetailLoadUp(); - - + \ No newline at end of file Index: lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp =================================================================== diff -u -r6866da235d682d74f883afdd01e00e92d16a13eb -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp (.../usersummary.jsp) (revision 6866da235d682d74f883afdd01e00e92d16a13eb) +++ lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp (.../usersummary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -201,7 +201,7 @@ ("") - "" + "" "" @@ -269,7 +269,7 @@ - + @@ -367,4 +367,4 @@ - + \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatUser.java (.../ChatUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatUser.java (.../ChatUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.tool.chat.model; +import java.io.Serializable; import java.util.Date; import javax.persistence.Column; @@ -36,17 +37,15 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** - * * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when * people's names change, they won't change in the "old" tool data. - * - * */ @Entity @Table(name = "tl_lachat11_user") -public class ChatUser implements java.io.Serializable { +public class ChatUser implements Serializable, IUserDetails { private static final long serialVersionUID = -3701664859818409197L; @Id @@ -130,6 +129,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -194,8 +197,8 @@ } ChatUser castOther = (ChatUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -561,7 +561,7 @@ } private synchronized String createNickname(ChatUser chatUser) { - String desiredNickname = chatUser.getFirstName() + " " + chatUser.getLastName() + " "; + String desiredNickname = chatUser.getFullName() + " "; String nickname = desiredNickname; boolean valid = false; Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoUser.java (.../DacoUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoUser.java (.../DacoUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -44,51 +44,47 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Daco * * @author Dapeng Ni - * - * - * */ @Entity @Table(name = "tl_ladaco10_users") -public class DacoUser implements Cloneable { - private static final long serialVersionUID = -7043502180037866257L; +public class DacoUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(DacoUser.class); @Id @Column @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; - + @Column(name = "user_id") private Long userId; - + @Column(name = "first_name") private String firstName; - + @Column(name = "last_name") private String lastName; - + @Column(name = "login_name") private String loginName; - + @Column(name = "session_finished") private boolean sessionFinished; - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "session_uid") + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "session_uid") private DacoSession session; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "content_uid") + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "content_uid") private Daco daco; - - @OneToMany(fetch = FetchType.EAGER, - mappedBy = "user") + + @OneToMany(fetch = FetchType.EAGER, mappedBy = "user") @OrderBy("recordId ASC, uid ASC") private Set answers = new LinkedHashSet(); @@ -182,6 +178,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public DacoSession getSession() { return session; } @@ -242,8 +242,4 @@ public void setAnswers(Set answers) { this.answers = answers; } - - public String getFullName() { - return new StringBuilder(getLastName()).append(" ").append(getFirstName()).toString(); - } } \ No newline at end of file Index: lams_tool_daco/web/pages/monitoring/listRecords.jsp =================================================================== diff -u -r1d797a122973488f0a007957b73a4c680a7eb932 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_daco/web/pages/monitoring/listRecords.jsp (.../listRecords.jsp) (revision 1d797a122973488f0a007957b73a4c680a7eb932) +++ lams_tool_daco/web/pages/monitoring/listRecords.jsp (.../listRecords.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -69,7 +69,7 @@ - + ${user.recordCount} @@ -86,4 +86,4 @@ - + \ No newline at end of file Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/DokumaranUser.java =================================================================== diff -u -r0ebaba46f0ce87b5138e8e70cc1965887c1c7787 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/DokumaranUser.java (.../DokumaranUser.java) (revision 0ebaba46f0ce87b5138e8e70cc1965887c1c7787) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/DokumaranUser.java (.../DokumaranUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -39,6 +39,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Dokumaran user @@ -47,7 +48,7 @@ */ @Entity @Table(name = "tl_ladoku11_user") -public class DokumaranUser implements Cloneable { +public class DokumaranUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(DokumaranUser.class); @Id @@ -189,6 +190,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public DokumaranSession getSession() { return session; } Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -449,7 +449,7 @@ DokumaranSession session = dokumaranSessionDao.getSessionBySessionId(toolSessionId); String groupId = session.getEtherpadGroupId(); - String userName = user.getFirstName() + " " + user.getLastName(); + String userName = user.getFullName(); Map map = client.createAuthorIfNotExistsFor(user.getUserId().toString(), userName); String authorId = map.get("authorID"); @@ -1065,8 +1065,7 @@ public void createEtherpadCookieForMonitor(UserDTO user, Long contentId, HttpServletResponse response) throws EtherpadException { - String authorId = etherpadService.createAuthor(user.getUserID(), - user.getFirstName() + " " + user.getLastName()); + String authorId = etherpadService.createAuthor(user.getUserID(), user.getFullName()); List sessionList = dokumaranSessionDao.getByContentId(contentId); if (sessionList.isEmpty()) { Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -103,9 +103,6 @@ public static final int LEARNER_MARKS_SORTING_LAST_NAME_ASC = 2; public static final int LEARNER_MARKS_SORTING_LAST_NAME_DESC = 3; - private static final Comparator USER_NAME_COMPARATOR = Comparator.comparing(User::getFirstName) - .thenComparing(User::getLastName).thenComparing(User::getLogin); - @Autowired private IDokumaranService dokumaranService; @@ -204,7 +201,7 @@ Integer isSortLastName = WebUtil.readIntParam(request, "column[1]", true); // identify sorting type - int sorting = LEARNER_MARKS_SORTING_FIRST_NAME_ASC; + int sorting = LEARNER_MARKS_SORTING_LAST_NAME_ASC; if (isSortFirstName != null) { sorting = isSortFirstName.equals(1) ? LEARNER_MARKS_SORTING_FIRST_NAME_DESC @@ -446,7 +443,7 @@ ObjectNode userJSON = JsonNodeFactory.instance.objectNode(); userJSON.put("value", "user-" + user.getUserId()); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { @@ -470,8 +467,7 @@ Grouping grouping = dokumaranService.getGrouping(toolContentId); // find User objects based on their userIDs and sort by name List users = timeLimitAdjustments.keySet().stream() - .map(userId -> userManagementService.getUserById(userId)).sorted(USER_NAME_COMPARATOR) - .collect(Collectors.toList()); + .map(userId -> userManagementService.getUserById(userId)).sorted().collect(Collectors.toList()); if (grouping != null) { // Make a map group -> its users who have a time limit set @@ -480,7 +476,7 @@ .collect(Collectors.toMap(Group::getGroupName, group -> { return group.getUsers().stream() .filter(user -> timeLimitAdjustments.containsKey(user.getUserId())) - .collect(Collectors.toCollection(() -> new TreeSet<>(USER_NAME_COMPARATOR))); + .collect(Collectors.toCollection(() -> new TreeSet<>())); }, (s1, s2) -> { s1.addAll(s2); return s1; @@ -499,7 +495,7 @@ userJSON.put("userId", user.getUserId()); userJSON.put("adjustment", timeLimitAdjustments.get(user.getUserId().intValue())); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { Index: lams_tool_doku/web/pages/learning/learning.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/web/pages/learning/learning.jsp (.../learning.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_doku/web/pages/learning/learning.jsp (.../learning.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -63,7 +63,7 @@ 'showLineNumbers':'${dokumaran.showLineNumbers}', 'height':'' + ($(window).height() - 200) -   +   ,'userName': encodeURIComponent("") }); Index: lams_tool_doku/web/pages/monitoring/summary.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -307,7 +307,7 @@ rows += ''; rows += ''; - rows += userData['firstName'] + ' ' +userData['lastName']; + rows += userData['lastName'] + ' ' +userData['firstName']; if (isLeader) { rows += ' " class="text-primary fa fa-star">'; } Index: lams_tool_doku/web/pages/monitoring/summary5.jsp =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_doku/web/pages/monitoring/summary5.jsp (.../summary5.jsp) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_doku/web/pages/monitoring/summary5.jsp (.../summary5.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -271,7 +271,7 @@ rows += ''; rows += ''; - rows += userData['firstName'] + ' ' +userData['lastName']; + rows += userData['lastName'] + ' ' +userData['firstName']; if (isLeader) { rows += ' " class="text-primary fa fa-star">'; } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java =================================================================== diff -u -rb71c9cb2f96eb891545d32aaca8904051d1e00d5 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java (.../MessageDTO.java) (revision b71c9cb2f96eb891545d32aaca8904051d1e00d5) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java (.../MessageDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -21,8 +21,6 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.forum.dto; import java.util.ArrayList; @@ -69,7 +67,7 @@ MessageDTO dto = new MessageDTO(); dto.setMessage(msg); if (msg.getCreatedBy() != null) { - dto.setAuthor(msg.getCreatedBy().getFirstName() + " " + msg.getCreatedBy().getLastName()); + dto.setAuthor(msg.getCreatedBy().getFullName()); dto.setAuthorUserId(msg.getCreatedBy().getUserId()); } if ((msg.getAttachments() == null) || msg.getAttachments().isEmpty()) { @@ -106,7 +104,7 @@ MessageDTO msgDto = new MessageDTO(); msgDto.setMessage(msg); if (msg.getCreatedBy() != null) { - msgDto.setAuthor(msg.getCreatedBy().getFirstName() + " " + msg.getCreatedBy().getLastName()); + msgDto.setAuthor(msg.getCreatedBy().getFullName()); msgDto.setAuthorUserId(msg.getCreatedBy().getUserId()); } @@ -239,4 +237,4 @@ public void setAuthorUserId(Long authorUserId) { this.authorUserId = authorUserId; } -} +} \ No newline at end of file Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/UserDTO.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/UserDTO.java (.../UserDTO.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/UserDTO.java (.../UserDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -15,7 +15,7 @@ public UserDTO(ForumUser user) { this.setLoginName(user.getLoginName()); - this.setFullName(user.getFirstName() + " " + user.getLastName()); + this.setFullName(user.getFullName()); this.setUserUid(user.getUid()); } @@ -59,4 +59,4 @@ public void setAnyPostsMarked(boolean anyPostsMarked) { this.anyPostsMarked = anyPostsMarked; } -} +} \ No newline at end of file Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/model/ForumUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/model/ForumUser.java (.../ForumUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/model/ForumUser.java (.../ForumUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -39,13 +39,14 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * @author Steve.Ni */ @Entity @Table(name = "tl_lafrum11_forum_user") -public class ForumUser implements Serializable, Cloneable { +public class ForumUser implements Serializable, Cloneable, IUserDetails { private static final long serialVersionUID = -7043502180037866257L; private static Logger log = Logger.getLogger(ForumUser.class); @@ -200,6 +201,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + /** * * @return @@ -233,4 +238,4 @@ return new HashCodeBuilder().append(uid).append(firstName).append(lastName).append(loginName).toHashCode(); } -} +} \ No newline at end of file Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -1385,7 +1385,7 @@ public void sendNotificationsOnNewPosting(Long forumId, Long sessionId, Message message) { Forum forum = getForum(forumId); ForumUser postAuthor = message.getCreatedBy(); - String fullName = postAuthor.getLastName() + " " + postAuthor.getFirstName(); + String fullName = postAuthor.getFullName(); ToolSession toolSession = toolService.getToolSession(sessionId); Long activityId = toolSession.getToolActivity().getActivityId(); ToolActivity activity = (ToolActivity) activityDAO.getActivityByActivityId(activityId, ToolActivity.class); Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/AuthoringController.java =================================================================== diff -u -r5b9f590b301c276f8df06b30c26981b0eb634e69 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 5b9f590b301c276f8df06b30c26981b0eb634e69) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/AuthoringController.java (.../AuthoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -179,7 +179,7 @@ // get back login user DTO UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); ForumUser fuser = new ForumUser(user, null); - messageDTO.setAuthor(fuser.getFirstName() + " " + fuser.getLastName()); + messageDTO.setAuthor(fuser.getFullName()); } } } @@ -350,6 +350,7 @@ // ****************************************************************************************************************** // Topic functions // ****************************************************************************************************************** + /** * Display emtpy topic page for user input topic information. This page will contain all topics list which this * author posted before. @@ -687,7 +688,6 @@ /** * Forum validation method from STRUCT interface. - * */ public MultiValueMap validate(ForumForm form, HttpServletRequest request) { @@ -710,8 +710,8 @@ allowNewTopic = forumPO.isAllowNewTopic(); } else { // failure tolerance - AuthoringController.log - .error("ERROR: Can not found Forum by toolContentID:" + form.getToolContentID()); + AuthoringController.log.error( + "ERROR: Can not found Forum by toolContentID:" + form.getToolContentID()); allowNewTopic = true; } } @@ -731,21 +731,21 @@ } } if (!form.getForum().isAllowRichEditor()) { - if (form.getForum().getMaxCharacters() != 0 - && form.getForum().getMaxCharacters() < form.getForum().getMinCharacters()) { + if (form.getForum().getMaxCharacters() != 0 && form.getForum().getMaxCharacters() < form.getForum() + .getMinCharacters()) { errorMap.add("GLOBAL", messageService.getMessage("error.min.post.char.less")); } } if (form.getForum().isAllowRateMessages()) { - if (form.getForum().getMaximumRate() != 0 - && form.getForum().getMaximumRate() < form.getForum().getMinimumRate()) { + if (form.getForum().getMaximumRate() != 0 && form.getForum().getMaximumRate() < form.getForum() + .getMinimumRate()) { errorMap.add("GLOBAL", messageService.getMessage("error.min.rate.less.max")); } } if (!form.getForum().isAllowNewTopic()) { - if (form.getForum().getMaximumReply() != 0 - && form.getForum().getMaximumReply() < form.getForum().getMinimumReply()) { + if (form.getForum().getMaximumReply() != 0 && form.getForum().getMaximumReply() < form.getForum() + .getMinimumReply()) { errorMap.add("GLOBAL", messageService.getMessage("error.min.less.max")); } } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -162,8 +162,8 @@ Date submissionDeadline = forum.getSubmissionDeadline(); if (submissionDeadline != null) { HttpSession ss = SessionManager.getSession(); - org.lamsfoundation.lams.usermanagement.dto.UserDTO learnerDto = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss - .getAttribute(AttributeNames.USER); + org.lamsfoundation.lams.usermanagement.dto.UserDTO learnerDto = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss.getAttribute( + AttributeNames.USER); TimeZone learnerTimeZone = learnerDto.getTimeZone(); Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); sessionMap.put(ForumConstants.ATTR_SUBMISSION_DEADLINE, tzSubmissionDeadline.getTime()); @@ -189,8 +189,8 @@ // teacher timezone HttpSession ss = SessionManager.getSession(); - org.lamsfoundation.lams.usermanagement.dto.UserDTO teacher = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss - .getAttribute(AttributeNames.USER); + org.lamsfoundation.lams.usermanagement.dto.UserDTO teacher = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss.getAttribute( + AttributeNames.USER); TimeZone teacherTimeZone = teacher.getTimeZone(); Long sessionId = WebUtil.readLongParam(request, "sessionId"); @@ -256,7 +256,7 @@ responseRow.put(ForumConstants.ATTR_USER_UID, user.getUid()); responseRow.put(ForumConstants.ATTR_USER_ID, user.getUserId()); - responseRow.put("userName", HtmlUtils.htmlEscape(user.getLastName() + " " + user.getFirstName())); + responseRow.put("userName", HtmlUtils.htmlEscape(user.getFullName())); int numberOfPosts = 0; boolean isAnyPostsMarked = false; @@ -377,8 +377,7 @@ cell = row.createCell(idx++); if (dto.getMessage() != null && dto.getMessage().getReport() != null) { - cell.setCellValue( - ExcelUtil.ensureCorrectCellLength(dto.getMessage().getReport().getComment())); + cell.setCellValue(ExcelUtil.ensureCorrectCellLength(dto.getMessage().getReport().getComment())); } else { cell.setCellValue(""); } @@ -460,7 +459,7 @@ int msgNum; float totalMsgMarkSum = 0; float msgMarkSum = 0; - for (; iter.hasNext();) { + for (; iter.hasNext(); ) { MessageDTO msgDto = (MessageDTO) iter.next(); // get all message under this topic List topicThread = forumService.getTopicThread(msgDto.getMessage().getUid()); @@ -675,7 +674,7 @@ return "jsps/monitoring/viewmarks"; } else { // mark from view forum - // display root topic rather than leaf one + // display root topic rather than leaf one Long rootTopicId = forumService.getRootTopicId(msg.getUid()); String redirect = "redirect:/learning/viewTopic.do"; @@ -703,8 +702,8 @@ if (dateParameter != null) { Date submissionDeadline = new Date(dateParameter); HttpSession ss = SessionManager.getSession(); - org.lamsfoundation.lams.usermanagement.dto.UserDTO teacher = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss - .getAttribute(AttributeNames.USER); + org.lamsfoundation.lams.usermanagement.dto.UserDTO teacher = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss.getAttribute( + AttributeNames.USER); TimeZone teacherTimeZone = teacher.getTimeZone(); tzSubmissionDeadline = DateUtil.convertFromTimeZoneToDefault(teacherTimeZone, submissionDeadline); formattedDate = DateUtil.convertToStringForJSON(tzSubmissionDeadline, request.getLocale()); @@ -737,4 +736,4 @@ } return topicsByUser; } -} +} \ No newline at end of file Index: lams_tool_forum/web/jsps/monitoring/updatemarks.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/web/jsps/monitoring/updatemarks.jsp (.../updatemarks.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_forum/web/jsps/monitoring/updatemarks.jsp (.../updatemarks.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -24,8 +24,7 @@

  -   -   +  

@@ -85,7 +84,4 @@ - - - - + \ No newline at end of file Index: lams_tool_forum/web/jsps/monitoring/viewmarks.jsp =================================================================== diff -u -r2de8f805211b6433aff4efd6fa9275a1b9933033 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_forum/web/jsps/monitoring/viewmarks.jsp (.../viewmarks.jsp) (revision 2de8f805211b6433aff4efd6fa9275a1b9933033) +++ lams_tool_forum/web/jsps/monitoring/viewmarks.jsp (.../viewmarks.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -31,7 +31,7 @@

-    +  

@@ -133,6 +133,4 @@ - - - + \ No newline at end of file Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dto/Summary.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dto/Summary.java (.../Summary.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dto/Summary.java (.../Summary.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -83,7 +83,7 @@ this.itemHide = item.isHide(); this.itemTitle = item.getTitle(); this.username = item.getCreateBy() == null ? "" - : item.getCreateBy().getFirstName() + " " + item.getCreateBy().getLastName(); + : item.getCreateBy().getFullName(); this.userId = item.getCreateBy() == null ? null : item.getCreateBy().getUserId(); } else { this.itemUid = new Long(-1); Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGalleryUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGalleryUser.java (.../ImageGalleryUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGalleryUser.java (.../ImageGalleryUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,6 +40,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * ImageGallery @@ -48,7 +49,7 @@ */ @Entity @Table(name = "tl_laimag10_user") -public class ImageGalleryUser implements Cloneable { +public class ImageGalleryUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(ImageGalleryUser.class); @Id @@ -188,6 +189,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public ImageGallerySession getSession() { return session; } @@ -220,4 +225,4 @@ this.accessDate = accessDate; } -} +} \ No newline at end of file Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java =================================================================== diff -u -r2460a1f5af08b0686a1c4e4cefa94781d7bbc9c8 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java (.../ImageGalleryServiceImpl.java) (revision 2460a1f5af08b0686a1c4e4cefa94781d7bbc9c8) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java (.../ImageGalleryServiceImpl.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -600,7 +600,7 @@ @Override public void notifyTeachersOnImageSumbit(Long sessionId, ImageGalleryUser imageGalleryUser) { - String userName = imageGalleryUser.getLastName() + " " + imageGalleryUser.getFirstName(); + String userName = imageGalleryUser.getFullName(); String message = messageService.getMessage("event.imagesubmit.body", new Object[] { userName }); eventNotificationService.notifyLessonMonitors(sessionId, message, false); } Index: lams_tool_images/web/pages/learning/learning.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_images/web/pages/learning/learning.jsp (.../learning.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_images/web/pages/learning/learning.jsp (.../learning.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -88,7 +88,7 @@ ${fn:replace(portrait, "'", "\\'")} <%-- escape the url --%> - + '
${portrait}
' + + '
${portrait}
'
//html: $('selector'), // ...or '
123
'. Custom HTML inside the frame. //fit: 'cover' // Override the global fit option. Index: lams_tool_images/web/pages/monitoring/imagesummary.jsp =================================================================== diff -u -r1d916bd84f5a4a5057e22ac626ec22716d1149e7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_images/web/pages/monitoring/imagesummary.jsp (.../imagesummary.jsp) (revision 1d916bd84f5a4a5057e22ac626ec22716d1149e7) +++ lams_tool_images/web/pages/monitoring/imagesummary.jsp (.../imagesummary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -109,7 +109,7 @@ - + Index: lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/model/CommonCartridgeUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/model/CommonCartridgeUser.java (.../CommonCartridgeUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/model/CommonCartridgeUser.java (.../CommonCartridgeUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,6 +40,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * CommonCartridge @@ -48,7 +49,7 @@ */ @Entity @Table(name = "tl_laimsc11_user") -public class CommonCartridgeUser implements Cloneable { +public class CommonCartridgeUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(CommonCartridgeUser.class); @Id @@ -146,8 +147,8 @@ // ********************************************************** // Get/Set methods // ********************************************************** + /** - * * @return Returns the uid. */ public Long getUid() { @@ -156,14 +157,13 @@ /** * @param uid - * The uid to set. + * The uid to set. */ public void setUid(Long userID) { this.uid = userID; } /** - * * @return Returns the userId. */ public Long getUserId() { @@ -172,7 +172,7 @@ /** * @param userId - * The userId to set. + * The userId to set. */ public void setUserId(Long userID) { this.userId = userID; @@ -202,6 +202,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public CommonCartridgeSession getSession() { return session; } @@ -234,4 +239,4 @@ this.accessDate = accessDate; } -} +} \ No newline at end of file Index: lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/util/LamsBasicLTIUtil.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/util/LamsBasicLTIUtil.java (.../LamsBasicLTIUtil.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/util/LamsBasicLTIUtil.java (.../LamsBasicLTIUtil.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -145,7 +145,7 @@ LamsBasicLTIUtil.setProperty(launchProperties, BasicLTIConstants.LIS_PERSON_NAME_FAMILY, user.getLastName()); LamsBasicLTIUtil.setProperty(launchProperties, BasicLTIConstants.LIS_PERSON_NAME_FULL, - user.getLastName() + " " + user.getFirstName()); + user.getFullName()); } String isExposeUserEmail = service.getConfigItem(CommonCartridgeConfigItem.KEY_EXPOSE_USER_EMAIL) @@ -389,4 +389,4 @@ return str; } -} +} \ No newline at end of file Index: lams_tool_imscc/web/pages/monitoring/userlist.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_imscc/web/pages/monitoring/userlist.jsp (.../userlist.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_imscc/web/pages/monitoring/userlist.jsp (.../userlist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -33,7 +33,7 @@ - + @@ -47,4 +47,4 @@ - + \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/model/McQueUsr.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/model/McQueUsr.java (.../McQueUsr.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/model/McQueUsr.java (.../McQueUsr.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -99,7 +99,7 @@ /** * @param responseFinalised - * The responseFinalised to set. + * The responseFinalised to set. */ public void setResponseFinalised(boolean responseFinalised) { this.responseFinalised = responseFinalised; @@ -200,4 +200,4 @@ } } -} +} \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -417,7 +417,7 @@ UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); Long userId = toolUser.getUserID().longValue(); String userName = toolUser.getLogin(); - String fullName = toolUser.getFirstName() + " " + toolUser.getLastName(); + String fullName = toolUser.getFullName(); McSession mcSession = getMcSessionById(toolSessionID.longValue()); McQueUsr user = new McQueUsr(userId, userName, fullName, mcSession); @@ -1685,7 +1685,7 @@ // create user if he hasn't accessed this activity yet if (mcUser == null) { String userName = user.getLogin(); - String fullName = user.getFirstName() + " " + user.getLastName(); + String fullName = user.getFullName(); mcUser = new McQueUsr(userId, userName, fullName, session); mcUserDAO.saveMcUser(mcUser); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java =================================================================== diff -u -r0b845931db55d90f0dcabc0b33cce5c7df688153 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java (.../QaQueUsr.java) (revision 0b845931db55d90f0dcabc0b33cce5c7df688153) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java (.../QaQueUsr.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -44,7 +44,6 @@ import org.apache.commons.lang.builder.ToStringBuilder; /** - * * Represents tool users. * * @author Ozgur Demirtas @@ -84,7 +83,7 @@ public QaQueUsr() { this.qaUsrResps = new TreeSet<>(); - }; + } /** full constructor */ public QaQueUsr(Long queUsrId, String username, String fullname, QaSession qaSession, Set qaUsrResps) { @@ -99,7 +98,7 @@ * Copy constructor; We copy all data except the hibernate id field. * * @param queUsr - * the original survey question user object. + * the original survey question user object. * @return the survey question user object. */ public QaQueUsr newInstance(QaQueUsr queUsr) { @@ -116,7 +115,7 @@ /** * @param fullName - * The fullName to set. + * The fullName to set. */ public void setFullname(String fullname) { this.fullname = fullname; @@ -131,7 +130,7 @@ /** * @param qaSession - * The qaSession to set. + * The qaSession to set. */ public void setQaSession(QaSession qaSession) { this.qaSession = qaSession; @@ -146,7 +145,7 @@ /** * @param qaUsrResps - * The qaUsrResps to set. + * The qaUsrResps to set. */ public void setQaUsrResps(Set qaUsrResps) { this.qaUsrResps = qaUsrResps; @@ -161,7 +160,7 @@ /** * @param queUsrId - * The queUsrId to set. + * The queUsrId to set. */ public void setQueUsrId(Long queUsrId) { this.queUsrId = queUsrId; @@ -176,7 +175,7 @@ /** * @param username - * The username to set. + * The username to set. */ public void setUsername(String username) { this.username = username; @@ -211,7 +210,7 @@ /** * @param uid - * The uid to set. + * The uid to set. */ public void setUid(Long uid) { this.uid = uid; @@ -226,7 +225,7 @@ /** * @param responseFinalized - * The responseFinalized to set. + * The responseFinalized to set. */ public void setResponseFinalized(boolean responseFinalized) { this.responseFinalized = responseFinalized; @@ -241,7 +240,7 @@ /** * @param learnerFinished - * The learnerFinished to set. + * The learnerFinished to set. */ public void setLearnerFinished(boolean learnerFinished) { this.learnerFinished = learnerFinished; @@ -256,4 +255,4 @@ } } -} +} \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -243,7 +243,7 @@ public QaQueUsr createUser(Long toolSessionID, Integer userId) { User user = (User) userManagementService.findById(User.class, userId); String userName = user.getLogin(); - String fullName = user.getFirstName() + " " + user.getLastName(); + String fullName = user.getFullName(); QaSession qaSession = getSessionById(toolSessionID.longValue()); QaQueUsr qaUser = new QaQueUsr(userId.longValue(), userName, fullName, qaSession, new TreeSet()); @@ -890,7 +890,7 @@ // create user if he hasn't accessed this activity yet if (qaUser == null) { String userName = user.getLogin(); - String fullName = user.getFirstName() + " " + user.getLastName(); + String fullName = user.getFullName(); qaUser = new QaQueUsr(userId, userName, fullName, session, new TreeSet<>()); qaQueUsrDAO.createUsr(qaUser); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/ResourceItemDTO.java =================================================================== diff -u -r0c5d2aefd17a667d8222d8f1bb8b05aa4034ed10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/ResourceItemDTO.java (.../ResourceItemDTO.java) (revision 0c5d2aefd17a667d8222d8f1bb8b05aa4034ed10) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/ResourceItemDTO.java (.../ResourceItemDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -74,7 +74,7 @@ this.itemTitle = item.getTitle(); ResourceUser user = item.getCreateBy(); if (user != null) { - this.username = user.getFirstName() + " " + user.getLastName() + " (" + user.getLoginName() + ")"; + this.username = user.getFullName() + " (" + user.getLoginName() + ")"; } this.setAllowRating(item.isAllowRating()); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceUser.java (.../ResourceUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceUser.java (.../ResourceUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,6 +40,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Resource user @@ -48,7 +49,7 @@ */ @Entity @Table(name = "tl_larsrc11_user") -public class ResourceUser implements Cloneable { +public class ResourceUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(ResourceUser.class); @Id @@ -153,8 +154,8 @@ // ********************************************************** // Get/Set methods // ********************************************************** + /** - * * @return Returns the uid. */ public Long getUid() { @@ -163,14 +164,13 @@ /** * @param uid - * The uid to set. + * The uid to set. */ public void setUid(Long userID) { this.uid = userID; } /** - * * @return Returns the userId. */ public Long getUserId() { @@ -179,7 +179,7 @@ /** * @param userId - * The userId to set. + * The userId to set. */ public void setUserId(Long userID) { this.userId = userID; @@ -209,6 +209,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public ResourceSession getSession() { return session; } @@ -257,4 +261,4 @@ this.timeTaken = timeTaken; } -} +} \ No newline at end of file Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -500,10 +500,8 @@ ResourceUser resourceUser = item.getCreateBy(); ResourceSession session = resourceUser.getSession(); - String userName = new StringBuilder().append( - StringUtils.isBlank(resourceUser.getFirstName()) ? "" : resourceUser.getFirstName() + " ") - .append(StringUtils.isBlank(resourceUser.getLastName()) ? "" : resourceUser.getLastName() + " ") - .append("(").append(resourceUser.getLoginName()).append(")").toString(); + String userName = new StringBuilder().append(resourceUser.getFullName()).append("(") + .append(resourceUser.getLoginName()).append(")").toString(); String resourceType = getLocalisedMessage(item.getType() == ResourceConstants.RESOURCE_TYPE_URL ? "label.authoring.basic.resource.url" : "label.authoring.basic.resource.file", new Object[] {}); Index: lams_tool_larsrc/web/pages/learning/learning.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -290,7 +290,7 @@ - [] + [] Index: lams_tool_larsrc/web/pages/monitoring/userlist.jsp =================================================================== diff -u -rfe19797ec82718905555353176ed719bec11043e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_larsrc/web/pages/monitoring/userlist.jsp (.../userlist.jsp) (revision fe19797ec82718905555353176ed719bec11043e) +++ lams_tool_larsrc/web/pages/monitoring/userlist.jsp (.../userlist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -74,7 +74,7 @@ - + Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/model/LeaderselectionUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/model/LeaderselectionUser.java (.../LeaderselectionUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/model/LeaderselectionUser.java (.../LeaderselectionUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -36,14 +36,15 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when * people's names change, they won't change in the "old" tool data. */ @Entity @Table(name = "tl_lalead11_user") -public class LeaderselectionUser implements Serializable { +public class LeaderselectionUser implements Serializable, IUserDetails { private static final long serialVersionUID = -3701664859818409197L; @Id @@ -124,6 +125,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -182,4 +188,4 @@ result = 37 * result + (getUid() == null ? 0 : this.getUid().hashCode()); return result; } -} +} \ No newline at end of file Index: lams_tool_leader/web/pages/learning/leaderselection.jsp =================================================================== diff -u -r7a1a9b453d15b75fbdbd78906aa7ced81f4c711e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_leader/web/pages/learning/leaderselection.jsp (.../leaderselection.jsp) (revision 7a1a9b453d15b75fbdbd78906aa7ced81f4c711e) +++ lams_tool_leader/web/pages/learning/leaderselection.jsp (.../leaderselection.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -62,7 +62,7 @@
- + @@ -83,7 +83,7 @@
- +
@@ -142,7 +142,7 @@
- +
Index: lams_tool_leader/web/pages/monitoring/changeLeaderDialog.jsp =================================================================== diff -u -r3eb8dcbf308a6b082c30d57f51e7000ebbe1c184 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_leader/web/pages/monitoring/changeLeaderDialog.jsp (.../changeLeaderDialog.jsp) (revision 3eb8dcbf308a6b082c30d57f51e7000ebbe1c184) +++ lams_tool_leader/web/pages/monitoring/changeLeaderDialog.jsp (.../changeLeaderDialog.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -57,7 +57,7 @@ - +
@@ -68,7 +68,7 @@ - +   Index: lams_tool_leader/web/pages/monitoring/changeLeaderDialog5.jsp =================================================================== diff -u -rfd09b5f6803a74b4660114e2bacc234bf9ba7c38 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_leader/web/pages/monitoring/changeLeaderDialog5.jsp (.../changeLeaderDialog5.jsp) (revision fd09b5f6803a74b4660114e2bacc234bf9ba7c38) +++ lams_tool_leader/web/pages/monitoring/changeLeaderDialog5.jsp (.../changeLeaderDialog5.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -59,7 +59,7 @@ - + @@ -71,7 +71,7 @@
@@ -71,4 +71,4 @@ - + \ No newline at end of file Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/model/MindmapUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/model/MindmapUser.java (.../MindmapUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/model/MindmapUser.java (.../MindmapUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -34,16 +34,17 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; +import java.io.Serializable; + /** * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when * people's names change, they won't change in the "old" tool data. - * - * */ @Entity @Table(name = "tl_lamind10_user") -public class MindmapUser implements java.io.Serializable { +public class MindmapUser implements Serializable, IUserDetails { private static final long serialVersionUID = -3701664859818409197L; @@ -130,6 +131,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -186,8 +191,8 @@ } MindmapUser castOther = (MindmapUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override @@ -197,4 +202,4 @@ return result; } -} +} \ No newline at end of file Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -347,7 +347,7 @@ if (mindmapNode.getUser() == null) { mindmapUserName = getMindmapMessageService().getMessage("node.instructor.label"); } else { - mindmapUserName = mindmapNode.getUser().getFirstName() + " " + mindmapNode.getUser().getLastName(); + mindmapUserName = mindmapNode.getUser().getFullName(); } int edit; Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java (.../LearningController.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java (.../LearningController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -635,7 +635,7 @@ request.setAttribute("userUid", user == null ? null : user.getUid()); request.setAttribute("contentEditable", contentEditable); request.setAttribute("mode", mode); - request.setAttribute("currentMindmapUser", user == null ? "" : user.getFirstName() + " " + user.getLastName()); + request.setAttribute("currentMindmapUser", user == null ? "" : user.getFullName()); request.setAttribute("finishedActivity", user != null && user.isFinishedActivity()); } } \ No newline at end of file Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java =================================================================== diff -u -rcd4af70336301a4c551cf28afbfc5534e3e6e7c9 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision cd4af70336301a4c551cf28afbfc5534e3e6e7c9) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -110,8 +110,9 @@ // send all requests since previousGlobalId } else { - Long currentMaxGlobalId = LearningWebsocketServer.getMindmapService().getLastGlobalIdByMindmapId( - mindmapSession.getMindmap().getUid(), mindmapSession.getSessionId()); + Long currentMaxGlobalId = LearningWebsocketServer.getMindmapService() + .getLastGlobalIdByMindmapId(mindmapSession.getMindmap().getUid(), + mindmapSession.getSessionId()); if (currentMaxGlobalId > previousGlobalId) { responseJSON = SendWorker.getServerActionJSON(mindmapSession.getMindmap().getUid(), mindmapSession.getSessionId(), previousGlobalId); @@ -134,7 +135,7 @@ List requestsList = mindmapService.getLastRequestsAfterGlobalId(lastActionId, mindmapId, toolSessionId); - for (Iterator iterator = requestsList.iterator(); iterator.hasNext();) { + for (Iterator iterator = requestsList.iterator(); iterator.hasNext(); ) { MindmapRequest mindmapRequest = iterator.next(); int requestType = mindmapRequest.getType(); @@ -174,7 +175,7 @@ String creator = null; MindmapUser mindmapUser = childMindmapNode.getUser(); if (mindmapUser != null) { - creator = mindmapUser.getFirstName() + " " + mindmapUser.getLastName(); + creator = mindmapUser.getFullName(); } else { creator = "Student"; } @@ -219,13 +220,14 @@ */ @OnOpen public void registerUser(Session websocket) throws IOException { - Long toolSessionId = Long - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_TOOL_SESSION_ID).get(0)); + Long toolSessionId = Long.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_TOOL_SESSION_ID).get(0)); String login = websocket.getUserPrincipal().getName(); MindmapUser user = LearningWebsocketServer.getMindmapService().getUserByLoginAndSessionId(login, toolSessionId); if (user == null) { - throw new SecurityException("User \"" + login - + "\" is not a participant in Mindmap activity with tool session ID " + toolSessionId); + throw new SecurityException( + "User \"" + login + "\" is not a participant in Mindmap activity with tool session ID " + + toolSessionId); } Long lastActionId = Long.valueOf(websocket.getRequestParameterMap().get("lastActionId").get(0)); @@ -237,8 +239,9 @@ sessionWebsockets.add(websocket); if (LearningWebsocketServer.log.isDebugEnabled()) { - LearningWebsocketServer.log.debug("User " + login + " entered Mindmap with toolSessionId: " + toolSessionId - + " lastActionId: " + lastActionId); + LearningWebsocketServer.log.debug( + "User " + login + " entered Mindmap with toolSessionId: " + toolSessionId + " lastActionId: " + + lastActionId); } new Thread(() -> { @@ -258,14 +261,15 @@ */ @OnClose public void unregisterUser(Session websocket) { - Long toolSessionId = Long - .valueOf(websocket.getRequestParameterMap().get(AttributeNames.PARAM_TOOL_SESSION_ID).get(0)); + Long toolSessionId = Long.valueOf( + websocket.getRequestParameterMap().get(AttributeNames.PARAM_TOOL_SESSION_ID).get(0)); LearningWebsocketServer.websockets.get(toolSessionId).remove(websocket); if (LearningWebsocketServer.log.isDebugEnabled()) { // If there was something wrong with the connection, put it into logs. - LearningWebsocketServer.log.debug("User " + websocket.getUserPrincipal().getName() - + " left Mindmap with Tool Session ID: " + toolSessionId); + LearningWebsocketServer.log.debug( + "User " + websocket.getUserPrincipal().getName() + " left Mindmap with Tool Session ID: " + + toolSessionId); } } @@ -286,8 +290,8 @@ private static IMindmapService getMindmapService() { if (LearningWebsocketServer.mindmapService == null) { - WebApplicationContext wac = WebApplicationContextUtils - .getRequiredWebApplicationContext(SessionManager.getServletContext()); + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext( + SessionManager.getServletContext()); LearningWebsocketServer.mindmapService = (IMindmapService) wac.getBean("mindmapService"); } return LearningWebsocketServer.mindmapService; Index: lams_tool_mindmap/web/pages/monitoring/mindmapDisplay.jsp =================================================================== diff -u -rfe19797ec82718905555353176ed719bec11043e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/web/pages/monitoring/mindmapDisplay.jsp (.../mindmapDisplay.jsp) (revision fe19797ec82718905555353176ed719bec11043e) +++ lams_tool_mindmap/web/pages/monitoring/mindmapDisplay.jsp (.../mindmapDisplay.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -43,7 +43,7 @@

-

+

Index: lams_tool_mindmap/web/pages/monitoring/summary.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_mindmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_mindmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -325,7 +325,7 @@ - + @@ -339,7 +339,7 @@ - + Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/model/NoticeboardUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/model/NoticeboardUser.java (.../NoticeboardUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/model/NoticeboardUser.java (.../NoticeboardUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -155,4 +155,4 @@ public void setUserStatus(String userStatus) { this.userStatus = userStatus; } -} +} \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/controller/LearningController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/controller/LearningController.java (.../LearningController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/controller/LearningController.java (.../LearningController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -155,7 +155,7 @@ nbUser = new NoticeboardUser(userID); UserDTO user = getUserDTO(request); nbUser.setUsername(user.getLogin()); - nbUser.setFullname(user.getFirstName() + " " + user.getLastName()); + nbUser.setFullname(user.getFullName()); nbService.addUser(toolSessionID, nbUser); } } else { Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/model/NotebookUser.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/model/NotebookUser.java (.../NotebookUser.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/model/NotebookUser.java (.../NotebookUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.tool.notebook.model; +import java.io.Serializable; import java.util.Date; import javax.persistence.Column; @@ -35,17 +36,17 @@ import javax.persistence.ManyToOne; import javax.persistence.Table; +import org.hibernate.loader.custom.Return; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when * people's names change, they won't change in the "old" tool data. - * - * */ @Entity @Table(name = "tl_lantbk11_user") -public class NotebookUser implements java.io.Serializable { +public class NotebookUser implements Serializable, IUserDetails { private static final long serialVersionUID = -3701664859818409197L; @@ -75,7 +76,7 @@ @Column(name = "notebook_entry") private String notebookEntry; - + @Column(name = "notebook_entry_modified_date") private Date notebookEntryModifiedDate; @@ -133,6 +134,10 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -164,14 +169,14 @@ public void setNotebookEntry(String notebookEntry) { this.notebookEntry = notebookEntry; } - + public Date getNotebookEntryModifiedDate() { - return notebookEntryModifiedDate; - } + return notebookEntryModifiedDate; + } - public void setNotebookEntryModifiedDate(Date notebookEntryModifiedDate) { - this.notebookEntryModifiedDate = notebookEntryModifiedDate; - } + public void setNotebookEntryModifiedDate(Date notebookEntryModifiedDate) { + this.notebookEntryModifiedDate = notebookEntryModifiedDate; + } public String getTeachersComment() { return teachersComment; @@ -205,8 +210,8 @@ } NotebookUser castOther = (NotebookUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -158,7 +158,7 @@ responseRow.put("id", id++); responseRow.put(NotebookConstants.PARAM_USER_UID, user.getUid()); responseRow.put(NotebookConstants.PARAM_NAME, - HtmlUtils.htmlEscape(user.getLastName() + " " + user.getFirstName())); + HtmlUtils.htmlEscape(user.getFullName())); if (user.getNotebookEntry() != null) { responseRow.put(NotebookConstants.PARAM_ENTRY, HtmlUtils.htmlEscape(user.getNotebookEntry())); } @@ -297,4 +297,4 @@ return noEntryText; } -} +} \ No newline at end of file Index: lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/model/PixlrUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/model/PixlrUser.java (.../PixlrUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/model/PixlrUser.java (.../PixlrUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -34,16 +34,17 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; +import java.io.Serializable; + /** - * - * Caches the user details. This allows the tool to be more efficient at - * displaying user names but means that when people's names change, they won't - * change in the "old" tool data. + * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when + * people's names change, they won't change in the "old" tool data. */ @Entity @Table(name = "tl_lapixl10_user") -public class PixlrUser implements java.io.Serializable { +public class PixlrUser implements Serializable, IUserDetails { private static final long serialVersionUID = -3701664859818409197L; @Id @@ -129,6 +130,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -217,8 +223,8 @@ } PixlrUser castOther = (PixlrUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override Index: lams_tool_pixlr/web/pages/learning/viewAll.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_pixlr/web/pages/learning/viewAll.jsp (.../viewAll.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_pixlr/web/pages/learning/viewAll.jsp (.../viewAll.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -46,7 +46,7 @@ - + @@ -110,4 +110,4 @@ - + \ No newline at end of file Index: lams_tool_pixlr/web/pages/monitoring/pixlrDisplay.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_pixlr/web/pages/monitoring/pixlrDisplay.jsp (.../pixlrDisplay.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_pixlr/web/pages/monitoring/pixlrDisplay.jsp (.../pixlrDisplay.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -29,7 +29,7 @@

- ${userDTO.firstName} ${userDTO.lastName } + ${userDTO.getFullName() }

@@ -40,4 +40,4 @@ - + \ No newline at end of file Index: lams_tool_pixlr/web/pages/monitoring/summary.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_pixlr/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_pixlr/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -73,7 +73,7 @@ - + @@ -122,4 +122,4 @@ -<%@ include file="advanceOptions.jsp"%> +<%@ include file="advanceOptions.jsp"%> \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -47,7 +47,7 @@ + " AS u WHERE u.userId =? AND u.session.sessionId=?"; private static final String FIND_BY_SESSION_ID = "FROM " + PeerreviewUser.class.getName() - + " AS u WHERE u.session.sessionId=? AND u.hidden=0 ORDER BY u.firstName, u.lastName"; + + " AS u WHERE u.session.sessionId=? AND u.hidden=0 ORDER BY u.lastName, u.firstName"; private static final String GET_COUNT_USERS_FOR_SESSION_EXCLUDE_USER = "SELECT COUNT(*) FROM " + PeerreviewUser.class.getName() + " AS u WHERE u.session.sessionId=? AND u.userId!=? AND u.hidden=0"; @@ -160,10 +160,10 @@ sortingOrder = " ORDER BY user.user_id"; break; case PeerreviewConstants.SORT_BY_USERNAME_ASC: - sortingOrder = " ORDER BY user.first_name ASC"; + sortingOrder = " ORDER BY user.last_name ASC"; break; case PeerreviewConstants.SORT_BY_USERNAME_DESC: - sortingOrder = " ORDER BY user.first_name DESC"; + sortingOrder = " ORDER BY user.last_name DESC"; break; case PeerreviewConstants.SORT_BY_AVERAGE_RESULT_ASC: if (criteria.isCommentRating()) { @@ -258,10 +258,10 @@ sortingOrder = " ORDER BY user.user_id"; break; case PeerreviewConstants.SORT_BY_USERNAME_ASC: - sortingOrder = " ORDER BY user.first_name ASC"; + sortingOrder = " ORDER BY user.last_name ASC"; break; case PeerreviewConstants.SORT_BY_USERNAME_DESC: - sortingOrder = " ORDER BY user.first_name DESC"; + sortingOrder = " ORDER BY user.last_name DESC"; break; case PeerreviewConstants.SORT_BY_AVERAGE_RESULT_ASC: sortingOrder = " ORDER BY rating.comment_count ASC"; @@ -293,7 +293,7 @@ public List getPagedUsers(Long toolSessionId, Integer page, Integer size, int sorting, String searchString) { - String GET_USERS_FOR_SESSION = "SELECT user.uid, user.hidden, CONCAT(user.firstName, ' ', user.lastName) FROM " + String GET_USERS_FOR_SESSION = "SELECT user.uid, user.hidden, CONCAT(user.lastName, ' ', user.firstName) FROM " + PeerreviewUser.class.getName() + " user WHERE user.session.sessionId = :toolSessionId "; String sortingOrder = ""; @@ -328,4 +328,4 @@ } return query.list(); } -} +} \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java (.../PeerreviewUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java (.../PeerreviewUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -38,6 +38,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Peerreview User @@ -46,7 +47,7 @@ */ @Entity @Table(name = "tl_laprev11_user") -public class PeerreviewUser implements Cloneable { +public class PeerreviewUser implements Cloneable, IUserDetails { private static final long serialVersionUID = -7043502180037866257L; private static Logger log = Logger.getLogger(PeerreviewUser.class); @@ -129,8 +130,8 @@ // ********************************************************** // Get/Set methods // ********************************************************** + /** - * * @return Returns the uid. */ public Long getUid() { @@ -139,14 +140,13 @@ /** * @param uid - * The uid to set. + * The uid to set. */ public void setUid(Long userID) { this.uid = userID; } /** - * * @return Returns the userId. */ public Long getUserId() { @@ -155,14 +155,13 @@ /** * @param userId - * The userId to set. + * The userId to set. */ public void setUserId(Long userID) { this.userId = userID; } /** - * * @return */ public String getLastName() { @@ -174,7 +173,6 @@ } /** - * * @return */ public String getFirstName() { @@ -186,7 +184,6 @@ } /** - * * @return */ public String getLoginName() { @@ -197,8 +194,11 @@ this.loginName = loginName; } + public String getLogin() { + return getLoginName(); + } + /** - * * @return */ public PeerreviewSession getSession() { @@ -210,7 +210,6 @@ } /** - * * @return */ public Peerreview getPeerreview() { @@ -222,7 +221,6 @@ } /** - * * @return */ public boolean isSessionFinished() { @@ -265,4 +263,4 @@ return new HashCodeBuilder().append(uid).append(firstName).append(lastName).append(loginName).toHashCode(); } -} +} \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -575,8 +575,7 @@ @Override public Map getRubricsLearnerData(Long toolSessionId, RatingCriteria criteria, Collection criterias) { - Map learnerData = new TreeMap<>( - Comparator.comparing(PeerreviewUser::getFirstName).thenComparing(PeerreviewUser::getLastName)); + Map learnerData = new TreeMap<>(); criterias = criterias.stream() .filter(c -> criteria.getRatingCriteriaGroupId().equals(c.getRatingCriteriaGroupId())) Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java =================================================================== diff -u -r8bd1a3c86fd0617953caad18c5a1ac70d18a56c4 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision 8bd1a3c86fd0617953caad18c5a1ac70d18a56c4) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -68,7 +68,7 @@ // HTML Styles private static final String width100pc = "width:100%;"; private static final String tableBorderedStyle = "border-collapse:collapse;border-width:1px;border-style:solid;border-color:#777;"; - private static final String divSpaSapaInfoBorderStyle = "margin: auto;width: 50%;border-width:1px;border-style:solid;border-color:#777;background:#ffd236;padding:10px;"; + private static final String divSpaSapaInfoBorderStyle = "margin: auto;width: 50%;border-width:1px;border-style:solid;border-color:#777;background:#ffd236;padding:10px;"; private static final String centeredStyle = "text-align:center;"; private static final String headerBackgroundStyle = "background:#B9CDE5;"; private static final String highlightBackgroundStyle = "background:#D7E4BD;"; @@ -127,10 +127,11 @@ htmlText.append("

 

\n"); if (peerreview.isSelfReview()) { - htmlText.append("
\n

ℹ️  ") - .append(getLocalisedMessage("email.label.spa.sapa.info.title")).append("

\n") - .append("

").append(getLocalisedMessage("email.label.spa.info")).append("

") - .append("

").append(getLocalisedMessage("email.label.sapa.info")).append("

\n

 

\n"); + htmlText.append("
\n

ℹ️  ") + .append(getLocalisedMessage("email.label.spa.sapa.info.title")).append("

\n") + .append("

").append(getLocalisedMessage("email.label.spa.info")).append("

").append("

") + .append(getLocalisedMessage("email.label.sapa.info")).append("

\n

 

\n"); generateSAPASPAExplanation(htmlText, learnerData.getSPAFactor(), learnerData.getSAPAFactor()); htmlText.append("

 

\n"); } @@ -225,8 +226,7 @@ List users = peerreviewUserDao.getBySessionID(session.getSessionId()); for (PeerreviewUser user : users) { - learnerDataMap.put(user.getUserId(), - new LearnerData(StringEscapeUtils.escapeCsv(user.getFirstName() + " " + user.getLastName()))); + learnerDataMap.put(user.getUserId(), new LearnerData(StringEscapeUtils.escapeCsv(user.getFullName()))); } Map criteriaMarkSumMap = new HashMap<>(); @@ -297,12 +297,10 @@ } /** - * tally: hashmap> - * tallying done in Java as the code to do three calcs in one SQL is complex (and hence risks errors) - * and hopefully we are only dealing with small numbers of users in each session. The code that gets the existing - * data - * does a lot of processing that is not needed for the SPA/SAPA calculations so getting the raw data - * avoids that processing. + * tally: hashmap> tallying done in Java as the code to do three calcs in + * one SQL is complex (and hence risks errors) and hopefully we are only dealing with small numbers of users in each + * session. The code that gets the existing data does a lot of processing that is not needed for the SPA/SAPA + * calculations so getting the raw data avoids that processing. */ @SuppressWarnings("unchecked") private HashMap> processRawRatingData() { @@ -383,9 +381,9 @@ String spaFactor = roundTo2PlacesAsString(learnerData.getSPAFactor()); StringBuilder spaFactorCellContents = new StringBuilder().append(" ") - .append(getLocalisedMessage("email.SPA.factor")).append("").append(spaFactor) - .append(""); + .append(getLocalisedMessage("email.SPA.factor")) + .append("").append(spaFactor).append(""); htmlText.append(""); for (RatingCriteria criteria : criteriaForCriteriaTable) { SingleCriteriaData criteriaData = learnerData.criteriaDataMap.get(criteria.getRatingCriteriaId()); @@ -399,8 +397,9 @@ String selfRating = roundTo2PlacesAsString(criteriaData.selfRating); htmlText.append(""); + .append(""); if (!spaDone) { htmlText.append(spaFactorCellContents); } @@ -409,16 +408,18 @@ String peerRatingExcSelf = roundTo2PlacesAsString(criteriaData.peerRatingExcSelf); htmlText.append(""); if (!spaDone) { if (isSelfReview) { String sapaFactor = roundTo2PlacesAsString(learnerData.getSAPAFactor()); htmlText.append(""); } else { htmlText.append(spaFactorCellContents); @@ -431,9 +432,9 @@ if (isSelfReview) { htmlText.append(""); + .append(""); htmlText.append("\n"); } @@ -530,12 +531,12 @@ } } - String customisedtableTextToModify = htmlOverallResultsTable - .replace(htmlORTHighlightedCellReplacementText + cellToHighlight, highlightBackgroundStyle); + String customisedtableTextToModify = htmlOverallResultsTable.replace( + htmlORTHighlightedCellReplacementText + cellToHighlight, highlightBackgroundStyle); for (int i = 1; i < 10; i++) { if (i != cellToHighlight) { - customisedtableTextToModify = customisedtableTextToModify - .replaceAll(htmlORTHighlightedCellReplacementText + i, ""); + customisedtableTextToModify = customisedtableTextToModify.replaceAll( + htmlORTHighlightedCellReplacementText + i, ""); } } @@ -553,8 +554,8 @@ } int colWidth = 100 / numCol; - StringBuilder tempBuffer = new StringBuilder("") - .append(getLocalisedMessage("email.crtieria.table.explanation")).append(""); + StringBuilder tempBuffer = new StringBuilder("").append( + getLocalisedMessage("email.crtieria.table.explanation")).append(""); tempBuffer.append("
").append(selfRatingString) - .append("").append(selfRating).append("").append(selfRating) + .append("").append(peerRatingString).append("").append(peerRatingString) + .append("").append(peerRatingExcSelf) .append(" ") - .append(getLocalisedMessage("email.SAPA.factor")).append("") + .append(getLocalisedMessage("email.SAPA.factor")) + .append("") .append(sapaFactor).append("
").append("Self & Peers' Rating") - .append("").append(roundTo2PlacesAsString(criteriaData.peerRatingIncSelf)) - .append("") + .append(roundTo2PlacesAsString(criteriaData.peerRatingIncSelf)).append("
") .append("\n"); addExplanationCell(tempBuffer, 4, "email.explanation.4"); @@ -639,4 +641,4 @@ return messageService.getMessage(key); } -} +} \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java =================================================================== diff -u -r9745b1195865df088e1203cae362ae60fb78fcbd -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java (.../SpreadsheetBuilder.java) (revision 9745b1195865df088e1203cae362ae60fb78fcbd) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java (.../SpreadsheetBuilder.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -360,8 +360,8 @@ if (comment[1] != null) { if (showForName && !isUserNameRowPrinted) { ExcelRow userNameRow = sessionSheet.initRow(); - userNameRow.addCell(service.getLocalisedMessage("label.for.user", new Object[] { - StringEscapeUtils.escapeCsv(user.getFirstName() + " " + user.getLastName()) })); + userNameRow.addCell(service.getLocalisedMessage("label.for.user", + new Object[] { StringEscapeUtils.escapeCsv(user.getFullName()) })); isUserNameRowPrinted = true; } Index: lams_tool_preview/web/pages/monitoring/rubricspart.jsp =================================================================== diff -u -re8c858ae097ae8b7861ec6e70e490daec543e34e -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_preview/web/pages/monitoring/rubricspart.jsp (.../rubricspart.jsp) (revision e8c858ae097ae8b7861ec6e70e490daec543e34e) +++ lams_tool_preview/web/pages/monitoring/rubricspart.jsp (.../rubricspart.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -104,8 +104,7 @@
") @@ -588,8 +589,8 @@ .append(centeredStyle).append("\">") .append(getLocalisedMessage("email.explanation.SPA.less", new Object[] { rangeStart })) .append("") - .append(tolerance == 0 ? getLocalisedMessage("email.explanation.SPA.one") + .append(centeredStyle).append("\">").append(tolerance == 0 + ? getLocalisedMessage("email.explanation.SPA.one") : getLocalisedMessage("email.explanation.SPA.range", new Object[] { rangeStart, rangeEnd })) .append("") @@ -606,7 +607,8 @@ tempBuffer.append("
") - .append(tolerance == 0 ? getLocalisedMessage("email.explanation.SAPA.one") + .append(tolerance == 0 + ? getLocalisedMessage("email.explanation.SAPA.one") : getLocalisedMessage("email.explanation.SAPA.range", new Object[] { rangeStart, rangeEnd })) .append("
- + \ No newline at end of file Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/model/SpreadsheetUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/model/SpreadsheetUser.java (.../SpreadsheetUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/model/SpreadsheetUser.java (.../SpreadsheetUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -42,6 +42,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * Spreadsheet user @@ -50,7 +51,7 @@ */ @Entity @Table(name = "tl_lasprd10_user") -public class SpreadsheetUser implements Cloneable, Serializable { +public class SpreadsheetUser implements Cloneable, Serializable, IUserDetails { private static final long serialVersionUID = -7043502180037866257L; private static Logger log = Logger.getLogger(SpreadsheetUser.class); @@ -194,6 +195,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public SpreadsheetSession getSession() { return session; } @@ -237,8 +243,8 @@ /** Username displayed in monitoring */ public String getFullUsername() { StringBuilder buf = new StringBuilder(); - buf.append(getLastName()).append(" ").append(getFirstName()).append(" (").append(getLoginName()).append(")"); + buf.append(getFullName()).append(" (").append(getLoginName()).append(")"); return buf.toString(); } -} +} \ No newline at end of file Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyUser.java (.../SurveyUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyUser.java (.../SurveyUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -37,14 +37,15 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * @author Dapeng Ni */ @Entity @Table(name = "tl_lasurv11_user") -public class SurveyUser implements Cloneable { +public class SurveyUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(SurveyUser.class); @Id @@ -167,6 +168,11 @@ return loginName; } + @Override + public String getLogin() { + return loginName; + } + public void setLoginName(String loginName) { this.loginName = loginName; } @@ -188,7 +194,6 @@ } /** - * * @return */ public boolean isSessionFinished() { Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -517,7 +517,7 @@ return; } - String userName = surveyUser.getLastName() + " " + surveyUser.getFirstName(); + String userName = surveyUser.getFullName(); String message = getLocalisedMessage("event.answer.submit.body", new Object[] { userName }); eventNotificationService.notifyLessonMonitors(sessionId, message, false); } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -197,8 +197,7 @@ ObjectNode responseRow = JsonNodeFactory.instance.objectNode(); SurveyUser user = (SurveyUser) userAndAnswers[0]; - responseRow.put(SurveyConstants.ATTR_USER_NAME, - HtmlUtils.htmlEscape(user.getLastName() + " " + user.getFirstName())); + responseRow.put(SurveyConstants.ATTR_USER_NAME, HtmlUtils.htmlEscape(user.getFullName())); responseRow.put(SurveyConstants.ATTR_USER_ID, user.getUserId()); if (userAndAnswers.length > 1 && userAndAnswers[1] != null) { @@ -242,8 +241,8 @@ private void exportSurvey(HttpServletRequest request, HttpServletResponse response) throws IOException { Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - SortedMap>> groupList = surveyService - .exportBySessionId(toolSessionID); + SortedMap>> groupList = surveyService.exportBySessionId( + toolSessionID); // create an empty excel file Workbook workbook = new SXSSFWorkbook(); @@ -375,7 +374,7 @@ cell.setCellValue(answer.getReplier().getLoginName()); cellIdx++; cell = row.createCell(cellIdx); - cell.setCellValue(answer.getReplier().getLastName() + ", " + answer.getReplier().getFirstName()); + cell.setCellValue(answer.getReplier().getFullName()); cellIdx++; cell = row.createCell(cellIdx); cell.setCellStyle(dateStyle); @@ -444,4 +443,4 @@ return formattedDate; } -} +} \ No newline at end of file Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/model/TaskListUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/model/TaskListUser.java (.../TaskListUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/model/TaskListUser.java (.../TaskListUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -40,13 +40,14 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; /** * @author Andrey Balan */ @Entity @Table(name = "tl_latask10_user") -public class TaskListUser implements Cloneable { +public class TaskListUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(TaskListUser.class); @Id @@ -189,6 +190,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public TaskListSession getSession() { return session; } @@ -229,4 +235,4 @@ this.isVerifiedByMonitor = isVerifiedByMonitor; } -} +} \ No newline at end of file Index: lams_tool_task/web/pages/learning/parts/commentlist.jsp =================================================================== diff -u -r8121ab6e6a1166176a6c77a34a4eeee03ff0787c -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_task/web/pages/learning/parts/commentlist.jsp (.../commentlist.jsp) (revision 8121ab6e6a1166176a6c77a34a4eeee03ff0787c) +++ lams_tool_task/web/pages/learning/parts/commentlist.jsp (.../commentlist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -26,7 +26,7 @@ - + @@ -61,4 +61,4 @@ - + \ No newline at end of file Index: lams_tool_task/web/pages/learning/parts/filelist.jsp =================================================================== diff -u -r0ed980d10740b8dbc056b9bba997826776c8c470 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_task/web/pages/learning/parts/filelist.jsp (.../filelist.jsp) (revision 0ed980d10740b8dbc056b9bba997826776c8c470) +++ lams_tool_task/web/pages/learning/parts/filelist.jsp (.../filelist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -11,7 +11,7 @@ - + @@ -27,5 +27,4 @@
- - + \ No newline at end of file Index: lams_tool_task/web/pages/learning/parts/itemlist.jsp =================================================================== diff -u -rd890ade9e99ac938f597b2e86123952efc14eced -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_task/web/pages/learning/parts/itemlist.jsp (.../itemlist.jsp) (revision d890ade9e99ac938f597b2e86123952efc14eced) +++ lams_tool_task/web/pages/learning/parts/itemlist.jsp (.../itemlist.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -18,7 +18,7 @@ - [] + [] @@ -67,4 +67,4 @@ -
+
\ No newline at end of file Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/LearningController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/LearningController.java (.../LearningController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/LearningController.java (.../LearningController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -660,9 +660,9 @@ User userI = new User(); userI.setUserId(qaUser.getQueUsrId().intValue()); userI.setFirstName(qaUser.getFullname()); - return userI; - }).collect(Collectors.toList()); - + return userI; + }).collect(Collectors.toList()); + request.setAttribute(ATTR_GROUP_USERS, groupUsers); request.setAttribute(TOOL_SESSION_ID, toolSessionID); request.setAttribute(ATTR_CONTENT, voteContent); @@ -824,8 +824,8 @@ voteGeneralLearnerFlowDTO.setActivityInstructions(voteContent.getInstructions()); voteGeneralLearnerFlowDTO.setMaxNominationCount(voteContent.getMaxNominationCount()); voteGeneralLearnerFlowDTO.setMinNominationCount(voteContent.getMinNominationCount()); - voteGeneralLearnerFlowDTO - .setUseSelectLeaderToolOuput(new Boolean(voteContent.isUseSelectLeaderToolOuput()).toString()); + voteGeneralLearnerFlowDTO.setUseSelectLeaderToolOuput( + new Boolean(voteContent.isUseSelectLeaderToolOuput()).toString()); voteGeneralLearnerFlowDTO.setAllowTextEntry(new Boolean(voteContent.isAllowText()).toString()); voteGeneralLearnerFlowDTO.setLockOnFinish(new Boolean(voteContent.isLockOnFinish()).toString()); voteGeneralLearnerFlowDTO.setActivityTitle(voteContent.getTitle()); @@ -901,7 +901,7 @@ VoteQueUsr user = voteService.getVoteUserBySession(userId, session.getUid()); if (user == null) { String userName = toolUser.getLogin(); - String fullName = toolUser.getFirstName() + " " + toolUser.getLastName(); + String fullName = toolUser.getFullName(); user = new VoteQueUsr(userId, userName, fullName, session, new TreeSet()); voteService.createVoteQueUsr(user); Index: lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/model/WhiteboardUser.java =================================================================== diff -u -r90e5fd15f6474eb56d0b497d1b73e14bda75e262 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/model/WhiteboardUser.java (.../WhiteboardUser.java) (revision 90e5fd15f6474eb56d0b497d1b73e14bda75e262) +++ lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/model/WhiteboardUser.java (.../WhiteboardUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -39,10 +39,11 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; @Entity @Table(name = "tl_lawhiteboard11_user") -public class WhiteboardUser implements Cloneable { +public class WhiteboardUser implements Cloneable, IUserDetails { private static Logger log = Logger.getLogger(WhiteboardUser.class); @Id @@ -171,6 +172,11 @@ return loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public void setLoginName(String loginName) { this.loginName = loginName; } Index: lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/service/WhiteboardService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/service/WhiteboardService.java (.../WhiteboardService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/service/WhiteboardService.java (.../WhiteboardService.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -736,16 +736,7 @@ if (user == null) { return null; } - StringBuilder authorName = new StringBuilder(); - if (StringUtils.isNotBlank(user.getFirstName())) { - authorName.append(user.getFirstName()); - } - if (StringUtils.isNotBlank(user.getLastName())) { - if (authorName.length() > 0) { - authorName.append(" "); - } - authorName.append(user.getLastName()); - } + StringBuilder authorName = new StringBuilder(user.getFullName()); return URLEncoder.encode(authorName.length() == 0 ? user.getLogin() : authorName.toString(), FileUtil.ENCODING_UTF_8); } Index: lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/web/controller/MonitoringController.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -99,9 +99,6 @@ public static final int LEARNER_MARKS_SORTING_LAST_NAME_ASC = 2; public static final int LEARNER_MARKS_SORTING_LAST_NAME_DESC = 3; - private static final Comparator USER_NAME_COMPARATOR = Comparator.comparing(User::getFirstName) - .thenComparing(User::getLastName).thenComparing(User::getLogin); - @Autowired private IWhiteboardService whiteboardService; @@ -191,7 +188,7 @@ Integer isSortLastName = WebUtil.readIntParam(request, "column[1]", true); // identify sorting type - int sorting = LEARNER_MARKS_SORTING_FIRST_NAME_ASC; + int sorting = LEARNER_MARKS_SORTING_LAST_NAME_ASC; if (isSortFirstName != null) { sorting = isSortFirstName.equals(1) ? LEARNER_MARKS_SORTING_FIRST_NAME_DESC @@ -369,7 +366,7 @@ ObjectNode userJSON = JsonNodeFactory.instance.objectNode(); userJSON.put("value", "user-" + user.getUserId()); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { @@ -393,8 +390,7 @@ Grouping grouping = whiteboardService.getGrouping(toolContentId); // find User objects based on their userIDs and sort by name List users = timeLimitAdjustments.keySet().stream() - .map(userId -> userManagementService.getUserById(userId)).sorted(USER_NAME_COMPARATOR) - .collect(Collectors.toList()); + .map(userId -> userManagementService.getUserById(userId)).sorted().collect(Collectors.toList()); if (grouping != null) { // Make a map group -> its users who have a time limit set @@ -403,7 +399,7 @@ .collect(Collectors.toMap(Group::getGroupName, group -> { return group.getUsers().stream() .filter(user -> timeLimitAdjustments.containsKey(user.getUserId())) - .collect(Collectors.toCollection(() -> new TreeSet<>(USER_NAME_COMPARATOR))); + .collect(Collectors.toCollection(() -> new TreeSet<>())); }, (s1, s2) -> { s1.addAll(s2); return s1; @@ -422,7 +418,7 @@ userJSON.put("userId", user.getUserId()); userJSON.put("adjustment", timeLimitAdjustments.get(user.getUserId().intValue())); - String name = user.getFirstName() + " " + user.getLastName() + " (" + user.getLogin() + ")"; + String name = user.getFullName() + " (" + user.getLogin() + ")"; if (grouping != null) { Group group = grouping.getGroupBy(user); if (group != null && !group.isNull()) { Index: lams_tool_whiteboard/web/pages/monitoring/summary.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_whiteboard/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_whiteboard/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -323,7 +323,7 @@ rows += ''; rows += ''; - rows += userData['firstName'] + ' ' +userData['lastName']; + rows += userData['lastName'] + ' ' +userData['firstName']; if (isLeader) { rows += ' " class="text-primary fa fa-star">'; } Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dto/WikiUserDTO.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dto/WikiUserDTO.java (.../WikiUserDTO.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dto/WikiUserDTO.java (.../WikiUserDTO.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -21,13 +21,12 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.wiki.dto; import org.lamsfoundation.lams.tool.wiki.model.WikiUser; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; -public class WikiUserDTO implements Comparable { +public class WikiUserDTO implements IUserDetails { public Long uid; @@ -56,17 +55,6 @@ notificationEnabled = false; } - @Override - public int compareTo(Object o) { - int returnValue; - WikiUserDTO toUser = (WikiUserDTO) o; - returnValue = this.lastName.compareTo(toUser.lastName); - if (returnValue == 0) { - returnValue = this.uid.compareTo(toUser.uid); - } - return returnValue; - } - public String getFirstName() { return firstName; } @@ -91,6 +79,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public Long getUid() { return uid; } @@ -131,4 +124,4 @@ this.notificationEnabled = notificationEnabled; } -} +} \ No newline at end of file Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/WikiUser.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/WikiUser.java (.../WikiUser.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/WikiUser.java (.../WikiUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -34,19 +34,18 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; +import java.io.Serializable; + /** - * - * Caches the user details. This allows the tool to be more efficient at - * displaying user names but means that when people's names change, they won't - * change in the "old" tool data. - * - * + * Caches the user details. This allows the tool to be more efficient at displaying user names but means that when + * people's names change, they won't change in the "old" tool data. */ @Entity @Table(name = "tl_lawiki10_user") -public class WikiUser implements java.io.Serializable { +public class WikiUser implements Serializable, IUserDetails { private static final long serialVersionUID = -534126658843778423L; @@ -137,6 +136,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public String getFirstName() { return this.firstName; } @@ -201,8 +205,8 @@ } WikiUser castOther = (WikiUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override @@ -211,4 +215,4 @@ result = 37 * result + (getUid() == null ? 0 : this.getUid().hashCode()); return result; } -} +} \ No newline at end of file Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/controller/WikiPageController.java =================================================================== diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/controller/WikiPageController.java (.../WikiPageController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50) +++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/controller/WikiPageController.java (.../WikiPageController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -384,7 +384,7 @@ IEventNotificationService notificationService = wikiService.getEventNotificationService(); String subject = wikiService.getLocalisedMessage(subjectLangKey, new Object[] { wikiSession.getSessionName() }); - String fullName = wikiUser.getFirstName() + " " + wikiUser.getLastName(); + String fullName = wikiUser.getFullName(); // Notify all the monitors if (wikiSession.getWiki().isNotifyUpdates()) { @@ -448,4 +448,4 @@ encodedWikiBody.replace(WikiConstants.JAVASCRIPT_REPLACE_TOKEN, WikiConstants.JAVASCRIPT_TOKEN)); } } -} +} \ No newline at end of file Index: lams_tool_wiki/web/pages/authoring/basic.jsp =================================================================== diff -u -rece365a86ee1455787d33619fd5c46cb53d73f7f -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/web/pages/authoring/basic.jsp (.../basic.jsp) (revision ece365a86ee1455787d33619fd5c46cb53d73f7f) +++ lams_tool_wiki/web/pages/authoring/basic.jsp (.../basic.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -65,7 +65,7 @@ - + @@ -117,7 +117,7 @@ - + @@ -299,4 +299,4 @@ --> - + \ No newline at end of file Index: lams_tool_wiki/web/pages/learning/wiki.jsp =================================================================== diff -u -rbc8213e12c4e5afddd0394ad66386ef3e70d1611 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/web/pages/learning/wiki.jsp (.../wiki.jsp) (revision bc8213e12c4e5afddd0394ad66386ef3e70d1611) +++ lams_tool_wiki/web/pages/learning/wiki.jsp (.../wiki.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -234,7 +234,7 @@
- +
${lastEditPortrait} @@ -322,7 +322,7 @@ - + Index: lams_tool_wiki/web/pages/monitoring/wikiDisplay.jsp =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/web/pages/monitoring/wikiDisplay.jsp (.../wikiDisplay.jsp) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_wiki/web/pages/monitoring/wikiDisplay.jsp (.../wikiDisplay.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -103,7 +103,7 @@
- +
${lastEditPortrait} @@ -161,7 +161,7 @@ - ${wikiContentPageVersion.editorDTO.firstName} ${wikiContentPageVersion.editorDTO.lastName} + ${wikiContentPageVersion.editorDTO.getFullName()} @@ -352,7 +352,4 @@ - - - - + \ No newline at end of file Index: lams_tool_wiki/web/pages/wiki/viewWiki.jsp =================================================================== diff -u -rbc8213e12c4e5afddd0394ad66386ef3e70d1611 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_wiki/web/pages/wiki/viewWiki.jsp (.../viewWiki.jsp) (revision bc8213e12c4e5afddd0394ad66386ef3e70d1611) +++ lams_tool_wiki/web/pages/wiki/viewWiki.jsp (.../viewWiki.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -20,7 +20,7 @@ : - ${currentWikiPage.currentWikiContentDTO.editorDTO.firstName} ${currentWikiPage.currentWikiContentDTO.editorDTO.firstName} + ${currentWikiPage.currentWikiContentDTO.editorDTO.getFullName()} @@ -40,4 +40,4 @@ - + \ No newline at end of file Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/model/ZoomUser.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rd0f4c3bdd871e236755472c8443c337b2b96e48c --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/model/ZoomUser.java (.../ZoomUser.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/model/ZoomUser.java (.../ZoomUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) @@ -34,10 +34,13 @@ import javax.persistence.Table; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; +import java.io.Serializable; + @Entity @Table(name = "tl_lazoom10_user") -public class ZoomUser implements java.io.Serializable { +public class ZoomUser implements Serializable, IUserDetails { private static final long serialVersionUID = 8663555378960558429L; @Id @@ -103,6 +106,11 @@ this.lastName = lastName; } + @Override + public String getLogin() { + return null; + } + public String getFirstName() { return firstName; } @@ -167,8 +175,8 @@ } ZoomUser castOther = (ZoomUser) other; - return ((this.getUid() == castOther.getUid()) - || (this.getUid() != null && castOther.getUid() != null && this.getUid().equals(castOther.getUid()))); + return ((this.getUid() == castOther.getUid()) || (this.getUid() != null && castOther.getUid() != null + && this.getUid().equals(castOther.getUid()))); } @Override