Index: lams_build/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v diff -u -r1.369 -r1.370 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java,v diff -u -r1.50 -r1.51 --- lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java 12 Jun 2013 04:12:16 -0000 1.50 +++ lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java 13 Jun 2013 12:17:09 -0000 1.51 @@ -101,16 +101,6 @@ */ public class HomeAction extends DispatchAction { - private static final Comparator LD_NAME_COMPARATOR = new Comparator() { - // folders go first, then sort by name - @Override - public int compare(FolderContentDTO o1, FolderContentDTO o2) { - return o1.getResourceType().equals(o2.getResourceType()) ? o1.getName().compareTo(o2.getName()) - : FolderContentDTO.FOLDER.equals(o1.getResourceType()) ? -1 : 1; - } - - }; - private static Logger log = Logger.getLogger(HomeAction.class); private static IUserManagementService service; @@ -472,7 +462,7 @@ // special behaviour for organisation folders } else if (folderID.equals(WorkspaceAction.ORG_FOLDER_ID)) { folderContents = getWorkspaceManagementService().getAccessibleOrganisationWorkspaceFolders(userID); - Collections.sort(folderContents, HomeAction.LD_NAME_COMPARATOR); + Collections.sort(folderContents); if (folderContents.size() == 1) { FolderContentDTO folder = folderContents.firstElement(); @@ -484,7 +474,7 @@ WorkspaceFolder folder = getWorkspaceManagementService().getWorkspaceFolder(folderID); folderContents = getWorkspaceManagementService().getFolderContents(userID, folder, WorkspaceManagementService.MONITORING); - Collections.sort(folderContents, HomeAction.LD_NAME_COMPARATOR); + Collections.sort(folderContents); } // fill JSON object with folders and LDs Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java,v diff -u -r1.58 -r1.59 --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 12 Jun 2013 08:35:13 -0000 1.58 +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 13 Jun 2013 12:17:09 -0000 1.59 @@ -341,6 +341,8 @@ }else { throw new UserAccessDeniedException(user); } + + Collections.sort(contentDTO); return contentDTO; } @@ -1177,17 +1179,7 @@ } //sort folders by their names - Collections.sort(folders, new Comparator() { - - @Override - public int compare(FolderContentDTO fc1, FolderContentDTO fc2) { - if ((fc1.getName() != null) && (fc2.getName() != null)) { - return fc1.getName().compareToIgnoreCase(fc2.getName()); - } - //return 1 if either of comparable FolderContentDTOs has a null name - return 1; - } - }); + Collections.sort(folders); return folders; } Index: lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java,v diff -u -r1.17 -r1.18 --- lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java 10 Jan 2012 15:42:02 -0000 1.17 +++ lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java 13 Jun 2013 12:17:04 -0000 1.18 @@ -37,7 +37,7 @@ /** * @author Manpreet Minhas */ -public class FolderContentDTO { +public class FolderContentDTO implements Comparable { public static final String LESSON ="Lesson"; public static final String DESIGN ="LearningDesign"; @@ -125,7 +125,19 @@ this.versionDetails = new Vector(); versionDetails.addAll(details); this.readOnly = Boolean.FALSE; - } + } + + @Override + public int compareTo(FolderContentDTO o) { + if ((o != null) && o instanceof FolderContentDTO) { + FolderContentDTO anotherQuestion = (FolderContentDTO) o; + // folders go first, then sort by name + return resourceType.equals(anotherQuestion.getResourceType()) ? name.compareToIgnoreCase(anotherQuestion.getName()) + : FolderContentDTO.FOLDER.equals(anotherQuestion.getResourceType()) ? -1 : 1; + } else { + return 1; + } + } /** * @return Returns the creationDateTime.