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