From 7d71d13229fcc808916e4c5c701d6b4f0a01ed00 Mon Sep 17 00:00:00 2001
From: Christoph Thelen <christoph.thelen@mni.thm.de>
Date: Wed, 18 Jun 2014 13:43:08 +0200
Subject: [PATCH] Include course progress with 'my' learning progress

---
 .../de/thm/arsnova/controller/SessionController.java  | 11 +++++++++--
 .../java/de/thm/arsnova/services/ISessionService.java |  3 ++-
 .../java/de/thm/arsnova/services/SessionService.java  |  3 ++-
 src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java |  5 +++--
 4 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java
index 528bcde2..91ed95fc 100644
--- a/src/main/java/de/thm/arsnova/controller/SessionController.java
+++ b/src/main/java/de/thm/arsnova/controller/SessionController.java
@@ -18,12 +18,15 @@
  */
 package de.thm.arsnova.controller;
 
+import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
 import javax.servlet.http.HttpServletResponse;
 
+import net.sf.json.JSONObject;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -170,11 +173,15 @@ public class SessionController extends AbstractController {
 	}
 
 	@RequestMapping(value = "/{sessionkey}/mylearningprogress", method = RequestMethod.GET)
-	public final int myLearningProgress(
+	public final JSONObject myLearningProgress(
 			@PathVariable final String sessionkey,
 			final HttpServletResponse response
 			) {
-		return sessionService.getMyLearningProgress(sessionkey);
+		SimpleEntry<Integer, Integer> result = sessionService.getMyLearningProgress(sessionkey);
+		JSONObject json = new JSONObject();
+		json.put("myprogress", result.getKey());
+		json.put("courseprogress", result.getValue());
+		return json;
 	}
 
 	/* internal redirections */
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index e9b4c543..20e40d82 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -19,6 +19,7 @@
 
 package de.thm.arsnova.services;
 
+import java.util.AbstractMap.SimpleEntry;
 import java.util.List;
 import java.util.UUID;
 
@@ -55,5 +56,5 @@ public interface ISessionService {
 
 	int getLearningProgress(String sessionkey);
 
-	int getMyLearningProgress(String sessionkey);
+	SimpleEntry<Integer, Integer> getMyLearningProgress(String sessionkey);
 }
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 81cee4ce..595c0567 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -20,6 +20,7 @@
 package de.thm.arsnova.services;
 
 import java.io.Serializable;
+import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
@@ -262,7 +263,7 @@ public class SessionService implements ISessionService {
 
 	@Override
 	@PreAuthorize("isAuthenticated()")
-	public int getMyLearningProgress(final String sessionkey) {
+	public SimpleEntry<Integer,Integer> getMyLearningProgress(final String sessionkey) {
 		final Session session = databaseDao.getSession(sessionkey);
 		final User user = userService.getCurrentUser();
 		return databaseDao.getMyLearningProgress(session, user);
diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
index 20a6e9f3..c73b88f9 100644
--- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
+++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
@@ -18,6 +18,7 @@
  */
 package de.thm.arsnova.dao;
 
+import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -506,8 +507,8 @@ public class StubDatabaseDao implements IDatabaseDao {
 	}
 
 	@Override
-	public int getMyLearningProgress(Session session, User user) {
+	public SimpleEntry<Integer, Integer> getMyLearningProgress(Session session, User user) {
 		// TODO Auto-generated method stub
-		return 0;
+		return null;
 	}
 }
-- 
GitLab