From c5cda7256631f1c21cc98f54ae05b237462bcaa8 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de> Date: Mon, 18 Feb 2013 13:28:09 +0100 Subject: [PATCH] Use connector client 0.12+ and add method to send users course sessions --- pom.xml | 2 +- .../arsnova/controller/CourseController.java | 34 +++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index c72a034c..1eb378fa 100644 --- a/pom.xml +++ b/pom.xml @@ -316,7 +316,7 @@ <dependency> <groupId>de.thm.arsnova.connector</groupId> <artifactId>connector-client</artifactId> - <version>0.12.0-SNAPSHOT</version> + <version>[0.12,)</version> </dependency> </dependencies> <build> diff --git a/src/main/java/de/thm/arsnova/controller/CourseController.java b/src/main/java/de/thm/arsnova/controller/CourseController.java index 3d10b182..a765b9c8 100644 --- a/src/main/java/de/thm/arsnova/controller/CourseController.java +++ b/src/main/java/de/thm/arsnova/controller/CourseController.java @@ -18,6 +18,7 @@ */ package de.thm.arsnova.controller; +import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; @@ -30,8 +31,9 @@ import org.springframework.web.bind.annotation.ResponseBody; import de.thm.arsnova.connector.client.ConnectorClient; import de.thm.arsnova.connector.model.Course; -import de.thm.arsnova.exceptions.NotFoundException; +import de.thm.arsnova.entities.Session; import de.thm.arsnova.exceptions.UnauthorizedException; +import de.thm.arsnova.services.ISessionService; import de.thm.arsnova.services.IUserService; @Controller @@ -44,6 +46,9 @@ public class CourseController extends AbstractController { @Autowired private IUserService userService; + + @Autowired + private ISessionService sessionService; @RequestMapping(value = "/mycourses", method = RequestMethod.GET) @ResponseBody @@ -56,8 +61,33 @@ public class CourseController extends AbstractController { if (connectorClient == null) { throw new NotFoundException(); - } + } return connectorClient.getCourses(username).getCourse(); } + + @RequestMapping(value = "/mycoursesessions", method = RequestMethod.GET) + @ResponseBody + public final List<Session> myCourseSessions() { + String username = userService.getCurrentUser().getUsername(); + + if (username == null) { + throw new UnauthorizedException(); + } + + List<Session> sessions = sessionService.getMySessions(username); + List<Course> courses = this.myCourses(); + + List<Session> result = new ArrayList<Session>(); + + for (Session session : sessions) { + for (Course course : courses) { + if (session.getCourseId().equals(course.getId())) { + result.add(session); + } + } + } + + return result; + } } -- GitLab