Skip to content
Snippets Groups Projects
Commit 2e1ad2b2 authored by Paul-Christian Volkmer's avatar Paul-Christian Volkmer
Browse files

Added comperator for short names and add request param for sorting

parent 2a2eeb5f
Branches
Tags
No related merge requests found
......@@ -29,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import de.thm.arsnova.connector.client.ConnectorClient;
......@@ -55,7 +56,9 @@ public class CourseController extends AbstractController {
@RequestMapping(value = "/mycourses", method = RequestMethod.GET)
@ResponseBody
public final List<Course> myCourses() {
public final List<Course> myCourses(
@RequestParam(value="sortby", defaultValue="name") String sortby
) {
String username = userService.getCurrentUser().getUsername();
if (username == null) {
......@@ -67,7 +70,12 @@ public class CourseController extends AbstractController {
}
List<Course> result = connectorClient.getCourses(username).getCourse();
Collections.sort(result, new CourseNameComperator());
if (sortby != null && sortby.equals("shortname")) {
Collections.sort(result, new CourseShortNameComperator());
} else {
Collections.sort(result, new CourseNameComperator());
}
return result;
}
......@@ -80,4 +88,13 @@ public class CourseController extends AbstractController {
return course1.getFullname().compareToIgnoreCase(course2.getFullname());
}
}
private static class CourseShortNameComperator implements Comparator<Course>, Serializable {
private static final long serialVersionUID = 1L;
@Override
public int compare(Course course1, Course course2) {
return course1.getShortname().compareToIgnoreCase(course2.getShortname());
}
}
}
......@@ -18,6 +18,7 @@
*/
package de.thm.arsnova.controller;
import java.util.Collections;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
......@@ -40,6 +41,8 @@ import de.thm.arsnova.entities.Session;
import de.thm.arsnova.entities.User;
import de.thm.arsnova.services.ISessionService;
import de.thm.arsnova.services.IUserService;
import de.thm.arsnova.services.SessionService.SessionNameComperator;
import de.thm.arsnova.services.SessionService.SessionShortNameComperator;
@Controller
@RequestMapping("/session")
......@@ -102,6 +105,7 @@ public class SessionController extends AbstractController {
public final List<Session> getSessions(
@RequestParam(value = "ownedonly", defaultValue = "false") final boolean ownedOnly,
@RequestParam(value = "visitedonly", defaultValue = "false") final boolean visitedOnly,
@RequestParam(value="sortby", defaultValue="name") final String sortby,
final HttpServletResponse response
) {
User user = userService.getCurrentUser();
......@@ -129,6 +133,12 @@ public class SessionController extends AbstractController {
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
}
if (sortby != null && sortby.equals("shortname")) {
Collections.sort(sessions, new SessionShortNameComperator());
} else {
Collections.sort(sessions, new SessionNameComperator());
}
return sessions;
}
......
......@@ -93,7 +93,6 @@ public class SessionService implements ISessionService {
}
List<Session> result = new ArrayList<Session>(allAvailableSessions.values());
Collections.sort(result, new SessionNameComperator());
return result;
}
......@@ -164,4 +163,13 @@ public class SessionService implements ISessionService {
return session1.getName().compareToIgnoreCase(session2.getName());
}
}
public static class SessionShortNameComperator implements Comparator<Session>, Serializable{
private static final long serialVersionUID = 1L;
@Override
public int compare(Session session1, Session session2) {
return session1.getShortName().compareToIgnoreCase(session2.getShortName());
}
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment