From 694dcb43f9dcc071628abffcb169acde31ca28cc Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de> Date: Wed, 20 Feb 2013 12:28:59 +0100 Subject: [PATCH] Sort list of courses and sessions by name --- .../arsnova/controller/CourseController.java | 25 ++++++++++++++----- .../thm/arsnova/services/SessionService.java | 14 ++++++++++- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/thm/arsnova/controller/CourseController.java b/src/main/java/de/thm/arsnova/controller/CourseController.java index 7ea631f8..8e77fbda 100644 --- a/src/main/java/de/thm/arsnova/controller/CourseController.java +++ b/src/main/java/de/thm/arsnova/controller/CourseController.java @@ -18,6 +18,8 @@ */ package de.thm.arsnova.controller; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import org.slf4j.Logger; @@ -38,14 +40,15 @@ import de.thm.arsnova.services.IUserService; @Controller public class CourseController extends AbstractController { - public static final Logger LOGGER = LoggerFactory.getLogger(CourseController.class); + public static final Logger LOGGER = LoggerFactory + .getLogger(CourseController.class); - @Autowired(required=false) + @Autowired(required = false) private ConnectorClient connectorClient; @Autowired private IUserService userService; - + @Autowired private ISessionService sessionService; @@ -53,15 +56,25 @@ public class CourseController extends AbstractController { @ResponseBody public final List<Course> myCourses() { String username = userService.getCurrentUser().getUsername(); - + if (username == null) { throw new UnauthorizedException(); } - + if (connectorClient == null) { throw new NotFoundException(); } - return connectorClient.getCourses(username).getCourse(); + List<Course> result = connectorClient.getCourses(username).getCourse(); + Collections.sort(result, new CourseNameComperator()); + + return result; + } + + private class CourseNameComperator implements Comparator<Course> { + @Override + public int compare(Course course1, Course course2) { + return course1.getFullname().compareToIgnoreCase(course2.getFullname()); + } } } diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java index 39525032..c3758e0d 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -20,6 +20,8 @@ package de.thm.arsnova.services; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -89,7 +91,10 @@ public class SessionService implements ISessionService { allAvailableSessions.put(session.get_id(), session); } - return new ArrayList<Session>(allAvailableSessions.values()); + List<Session> result = new ArrayList<Session>(allAvailableSessions.values()); + Collections.sort(result, new SessionNameComperator()); + + return result; } @Override @@ -149,4 +154,11 @@ public class SessionService implements ISessionService { Session session = databaseDao.getSessionFromKeyword(sessionkey); return databaseDao.countActiveUsers(session, since); } + + private class SessionNameComperator implements Comparator<Session> { + @Override + public int compare(Session session1, Session session2) { + return session1.getName().compareToIgnoreCase(session2.getName()); + } + } } -- GitLab