From 43cec5063d7a8ed12bae1ae6d932b78dd9ce6cca Mon Sep 17 00:00:00 2001
From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de>
Date: Wed, 24 Oct 2012 12:41:15 +0200
Subject: [PATCH] Task #4048: Added resource
 "/session/{sessenkey}/feedback/count"

---
 .../de/thm/arsnova/controller/FeedbackController.java     | 6 ++++++
 .../java/de/thm/arsnova/controller/SessionController.java | 3 ---
 .../java/de/thm/arsnova/services/ISessionService.java     | 1 +
 src/main/java/de/thm/arsnova/services/SessionService.java | 8 ++++++++
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/controller/FeedbackController.java b/src/main/java/de/thm/arsnova/controller/FeedbackController.java
index f816e93f4..677803281 100644
--- a/src/main/java/de/thm/arsnova/controller/FeedbackController.java
+++ b/src/main/java/de/thm/arsnova/controller/FeedbackController.java
@@ -57,6 +57,12 @@ public class FeedbackController extends AbstractController {
 		return sessionService.getFeedback(sessionkey);
 	}
 	
+	@RequestMapping(value="/session/{sessionkey}/feedback/count", method=RequestMethod.GET)
+	@ResponseBody
+	public int getFeedbackCount(@PathVariable String sessionkey) {
+		return sessionService.getFeedbackCount(sessionkey);
+	}
+	
 	@RequestMapping(value="/session/{sessionkey}/feedback", method=RequestMethod.POST)
 	@ResponseBody
 	public Feedback postFeedback(@PathVariable String sessionkey, @RequestBody int value, HttpServletResponse response) {
diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java
index b4a71cf4e..8c7169405 100644
--- a/src/main/java/de/thm/arsnova/controller/SessionController.java
+++ b/src/main/java/de/thm/arsnova/controller/SessionController.java
@@ -34,11 +34,8 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 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.entities.Feedback;
-import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.LoggedIn;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index e2f058b1e..cb50769c1 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -36,6 +36,7 @@ public interface ISessionService {
 	public Session joinSession(String keyword);
 	public Session saveSession(Session session);
 	public Feedback getFeedback(String keyword);
+	public int getFeedbackCount(String keyword);
 	public boolean saveFeedback(String keyword, int value, User user);
 	public boolean sessionKeyAvailable(String keyword);
 	public String generateKeyword();
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 2aae2b224..bf7e2475f 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -98,6 +98,14 @@ public class SessionService implements ISessionService {
 	public Feedback getFeedback(String keyword) {
 		return databaseDao.getFeedback(keyword);
 	}
+	
+	@Override
+	@Authenticated
+	public int getFeedbackCount(String keyword) {
+		Feedback feedback = databaseDao.getFeedback(keyword);
+		List<Integer> values = feedback.getValues();
+		return values.get(0) + values.get(1) + values.get(2) + values.get(3);
+	}
 
 	@Override
 	@Authenticated
-- 
GitLab