Index: lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java =================================================================== diff -u -r6be225f8d21a7f927da78ca099fc8c3915d7668a -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java (.../OrganisationGroupController.java) (revision 6be225f8d21a7f927da78ca099fc8c3915d7668a) +++ lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java (.../OrganisationGroupController.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Comparator; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -49,7 +48,6 @@ import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.BranchingActivity; import org.lamsfoundation.lams.learningdesign.Group; -import org.lamsfoundation.lams.learningdesign.GroupComparator; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.learningdesign.service.LearningDesignService; @@ -65,7 +63,6 @@ import org.lamsfoundation.lams.usermanagement.dto.OrganisationGroupingDTO; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.AlphanumComparator; import org.lamsfoundation.lams.util.JsonUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; @@ -519,9 +516,8 @@ ArrayNode groupsJSON = JsonNodeFactory.instance.arrayNode(); if (groups != null) { // sort groups by their name - List groupList = new LinkedList<>(groups); - Collections.sort(groupList, new GroupComparator()); - for (Group group : groupList) { + Set groupSet = new TreeSet<>(groups); + for (Group group : groupSet) { ObjectNode groupJSON = JsonNodeFactory.instance.objectNode(); groupJSON.put("name", group.getGroupName()); groupJSON.put("groupId", group.getGroupId()); @@ -547,25 +543,13 @@ */ private ArrayNode getOrgGroupsDetails(Set groups, Collection learners) { - final Comparator ORG_GROUP_COMPARATOR = new Comparator<>() { - @Override - public int compare(OrganisationGroup o1, OrganisationGroup o2) { - String grp1Name = o1 != null ? o1.getName() : ""; - String grp2Name = o2 != null ? o2.getName() : ""; - - AlphanumComparator comparator = new AlphanumComparator(); - return comparator.compare(grp1Name, grp2Name); - } - }; - // serialize database group objects into JSON ArrayNode groupsJSON = JsonNodeFactory.instance.arrayNode(); if (groups != null) { // sort groups by their name - List groupList = new LinkedList<>(groups); - Collections.sort(groupList, ORG_GROUP_COMPARATOR); + Set groupSet = new TreeSet<>(groups); - for (OrganisationGroup group : groupList) { + for (OrganisationGroup group : groupSet) { ObjectNode groupJSON = JsonNodeFactory.instance.objectNode(); groupJSON.put("name", group.getName()); groupJSON.put("groupId", group.getGroupId()); Index: lams_common/src/java/org/lamsfoundation/lams/integration/dto/ExtGroupDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_common/src/java/org/lamsfoundation/lams/integration/dto/ExtGroupDTO.java (.../ExtGroupDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/integration/dto/ExtGroupDTO.java (.../ExtGroupDTO.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -20,11 +20,11 @@ * **************************************************************** */ - package org.lamsfoundation.lams.integration.dto; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.util.AlphanumComparator; public class ExtGroupDTO implements Comparable { @@ -39,8 +39,10 @@ public int compareTo(Object o) { ExtGroupDTO castOther = (ExtGroupDTO) o; - String grp1Name = castOther != null && castOther.getGroupName() != null ? castOther.getGroupName() : ""; - String grp2Name = this.groupName != null ? this.groupName : ""; + String grp1Name = castOther != null && castOther.getGroupName() != null + ? StringUtils.lowerCase(castOther.getGroupName()) + : ""; + String grp2Name = this.groupName != null ? StringUtils.lowerCase(this.groupName) : ""; AlphanumComparator comparator = new AlphanumComparator(); return comparator.compare(grp1Name, grp2Name); Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java =================================================================== diff -u -r6be225f8d21a7f927da78ca099fc8c3915d7668a -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision 6be225f8d21a7f927da78ca099fc8c3915d7668a) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -41,6 +41,7 @@ import javax.persistence.OneToMany; import javax.persistence.Table; +import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.CompareToBuilder; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; @@ -280,8 +281,9 @@ */ @Override public int compareTo(Group group) { - return new CompareToBuilder().append(this.getOrderId(), group.getOrderId()) - .append(this.getGroupId(), group.getGroupId()).append(this.getGroupName(), group.getGroupName()) + return new CompareToBuilder() + .append(StringUtils.lowerCase(this.getGroupName()), StringUtils.lowerCase(group.getGroupName())) + .append(this.getOrderId(), group.getOrderId()).append(this.getGroupId(), group.getGroupId()) .append(this.getGroupUIID(), group.getGroupUIID()).toComparison(); } Fisheye: Tag e226c52b735351f433827ce6b4c040714f3e6046 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupComparator.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java =================================================================== diff -u -re325f88e2e856294ed9cde0f90303f84e2ceea8d -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java (.../GroupDTO.java) (revision e325f88e2e856294ed9cde0f90303f84e2ceea8d) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java (.../GroupDTO.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -28,6 +28,7 @@ import java.util.Iterator; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserBasicDTO; @@ -36,16 +37,17 @@ /** Grouping object, suitable for sending to Authoring */ public class GroupDTO { - public static final Comparator GROUP_NAME_COMPARATOR = new Comparator() { + public static final Comparator GROUP_NAME_COMPARATOR = new Comparator<>() { /** * Compare the group names */ @Override public int compare(GroupDTO grp1, GroupDTO grp2) { - String grp1Name = grp1 != null ? grp1.getGroupName() : ""; - String grp2Name = grp2 != null ? grp2.getGroupName() : ""; + String grp1Name = grp1 != null ? StringUtils.lowerCase(grp1.getGroupName()) : ""; + String grp2Name = grp2 != null ? StringUtils.lowerCase(grp2.getGroupName()) : ""; + AlphanumComparator comparator = new AlphanumComparator(); return comparator.compare(grp1Name, grp2Name); } @@ -61,7 +63,7 @@ public GroupDTO() { } - + public GroupDTO(Group group, boolean setupUserList) { groupID = group.getGroupId(); groupName = group.getGroupName(); @@ -71,7 +73,7 @@ if (setupUserList && group.getUsers() != null) { Iterator iter = group.getUsers().iterator(); while (iter.hasNext()) { - userList.add(((User) iter.next()).getUserBasicDTO()); + userList.add(iter.next().getUserBasicDTO()); } } } @@ -115,7 +117,7 @@ public void setUserList(List userList) { this.userList = userList; } - + public boolean isUserBelongsToGroup() { return userBelongsToGroup; } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java =================================================================== diff -u -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java (.../OrganisationGroup.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java (.../OrganisationGroup.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -38,6 +38,7 @@ import javax.persistence.ManyToMany; import javax.persistence.Table; +import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.CompareToBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; @@ -62,7 +63,7 @@ @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = "lams_user_organisation_group", joinColumns = @JoinColumn(name = "group_id"), inverseJoinColumns = @JoinColumn(name = "user_id")) - private Set users = new HashSet(); + private Set users = new HashSet<>(); public OrganisationGroup() { } @@ -109,12 +110,9 @@ if (this == obj) { return true; } - if (obj == null) { + if ((obj == null) || !(obj instanceof OrganisationGroup)) { return false; } - if (!(obj instanceof OrganisationGroup)) { - return false; - } OrganisationGroup other = (OrganisationGroup) obj; if (groupId == null) { if (other.groupId != null) { @@ -128,7 +126,8 @@ @Override public int compareTo(OrganisationGroup group) { - return new CompareToBuilder().append(this.getGroupId(), group.getGroupId()) - .append(this.getName(), group.getName()).toComparison(); + return new CompareToBuilder() + .append(StringUtils.lowerCase(this.getName()), StringUtils.lowerCase(group.getName())) + .append(this.getGroupId(), group.getGroupId()).toComparison(); } } \ No newline at end of file Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/TblGroupDTO.java =================================================================== diff -u -r7c12721027454f10b087240a31a83612efa41057 -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/TblGroupDTO.java (.../TblGroupDTO.java) (revision 7c12721027454f10b087240a31a83612efa41057) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/dto/TblGroupDTO.java (.../TblGroupDTO.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -4,6 +4,7 @@ import java.util.List; import java.util.OptionalDouble; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.util.AlphanumComparator; @@ -34,8 +35,10 @@ public int compareTo(Object o) { TblGroupDTO castOther = (TblGroupDTO) o; - String grp1Name = castOther != null && castOther.getGroupName() != null ? castOther.getGroupName() : ""; - String grp2Name = this.groupName != null ? this.groupName : ""; + String grp1Name = castOther != null && castOther.getGroupName() != null + ? StringUtils.lowerCase(castOther.getGroupName()) + : ""; + String grp2Name = this.groupName != null ? StringUtils.lowerCase(this.groupName) : ""; AlphanumComparator comparator = new AlphanumComparator(); return -comparator.compare(grp1Name, grp2Name); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java =================================================================== diff -u -r450d877f3261e4925953a7d33d4b956988bf51a3 -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision 450d877f3261e4925953a7d33d4b956988bf51a3) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -43,7 +43,6 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Group; -import org.lamsfoundation.lams.learningdesign.GroupComparator; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.lesson.service.LessonServiceException; @@ -157,7 +156,7 @@ return "grouping/chosenGrouping"; } - SortedSet groups = new TreeSet<>(new GroupComparator()); + Set groups = new TreeSet<>(); groups.addAll(grouping.getGroups()); // sort users with first, then last name, then login Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java =================================================================== diff -u -rddb552387ac914ce1e6b67746a01632395120ac0 -re226c52b735351f433827ce6b4c040714f3e6046 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision ddb552387ac914ce1e6b67746a01632395120ac0) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision e226c52b735351f433827ce6b4c040714f3e6046) @@ -26,15 +26,14 @@ import java.io.IOException; import java.security.InvalidParameterException; import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeSet; import java.util.Vector; import javax.servlet.ServletOutputStream; @@ -52,7 +51,6 @@ import org.apache.poi.ss.usermodel.CellType; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Group; -import org.lamsfoundation.lams.learningdesign.GroupComparator; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.lesson.Lesson; @@ -67,7 +65,6 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.AlphanumComparator; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; @@ -199,9 +196,8 @@ titleRow.addCell(messageService.getMessage("spreadsheet.column.groupname")); if (groups != null) { - List groupList = new LinkedList<>(groups); - Collections.sort(groupList, new GroupComparator()); - for (Group group : groupList) { + Set groupSet = new TreeSet<>(groups); + for (Group group : groupSet) { String groupName = group.getGroupName(); for (User groupUser : group.getUsers()) { generateUserRow(groupName, groupUser, excelSheet); @@ -513,17 +509,6 @@ return skipped; } - final Comparator ORG_GROUP_COMPARATOR = new Comparator<>() { - @Override - public int compare(OrganisationGroup o1, OrganisationGroup o2) { - String grp1Name = o1 != null ? o1.getName() : ""; - String grp2Name = o2 != null ? o2.getName() : ""; - - AlphanumComparator comparator = new AlphanumComparator(); - return comparator.compare(grp1Name, grp2Name); - } - }; - private UserDTO getUserDTO() { HttpSession ss = SessionManager.getSession(); return (UserDTO) ss.getAttribute(AttributeNames.USER);