From cb85972a6d675983fc46715ce41a65da6364ec1f Mon Sep 17 00:00:00 2001 From: Felix Schmidt <felix.schmidt@mni.thm.de> Date: Thu, 15 Jan 2015 21:39:13 +0100 Subject: [PATCH] Updated methods to get the public pool session infos by creator. --- .../arsnova/controller/SessionController.java | 26 +++++++++++++------ .../java/de/thm/arsnova/dao/CouchDBDao.java | 6 +++++ .../java/de/thm/arsnova/dao/IDatabaseDao.java | 2 ++ .../thm/arsnova/services/ISessionService.java | 4 +-- .../thm/arsnova/services/SessionService.java | 4 +-- .../de/thm/arsnova/dao/StubDatabaseDao.java | 6 +++++ 6 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java index c0bb0e8d..5414992c 100644 --- a/src/main/java/de/thm/arsnova/controller/SessionController.java +++ b/src/main/java/de/thm/arsnova/controller/SessionController.java @@ -190,19 +190,29 @@ public class SessionController extends AbstractController { } return sessions; } - + @RequestMapping(value = "/publicpool", method = RequestMethod.GET, params = "statusonly=true") + public final List<SessionInfo> getMyPublicPoolSessions( + final HttpServletResponse response + ) { + System.out.println("getMyPublicPoolSessions()"); + List<SessionInfo> sessions = sessionService.getMyPublicPoolSessionsInfo(); + + if (sessions == null || sessions.isEmpty()) { + response.setStatus(HttpServletResponse.SC_NO_CONTENT); + return null; + } + + return sessions; + } + @RequestMapping(value = "/publicpool", method = RequestMethod.GET) public final List<Session> getPublicPoolSessions( - @RequestParam(value = "myonly", defaultValue = "false") final boolean myOnly, final HttpServletResponse response ) { - List<Session> sessions; - if (!myOnly) - sessions = sessionService.getPublicPoolSessions(); - else - sessions = sessionService.getMyPublicPoolSessions(); - + System.out.println("getPublicPoolSessions()"); + List<Session> sessions = sessionService.getPublicPoolSessions(); + if (sessions == null || sessions.isEmpty()) { response.setStatus(HttpServletResponse.SC_NO_CONTENT); return null; diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 25e78b55..136bb369 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -170,6 +170,12 @@ public class CouchDBDao implements IDatabaseDao { return result; } + @Override + public final List<SessionInfo> getMyPublicPoolSessionsInfo(final User user) { + final List<Session> sessions = this.getMyPublicPoolSessions(user); + return getInfosForSessions(sessions); + } + @Override public final List<SessionInfo> getMySessionsInfo(final User user) { final List<Session> sessions = this.getMySessions(user); diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 37081dc9..9ad912d4 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -178,6 +178,8 @@ public interface IDatabaseDao { List<SessionInfo> getMySessionsInfo(User user); + List<SessionInfo> getMyPublicPoolSessionsInfo(final User user); + List<SessionInfo> getMyVisitedSessionsInfo(User currentUser); void deleteAllPreparationAnswers(Session session); diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java index 108a8ff9..566c669a 100644 --- a/src/main/java/de/thm/arsnova/services/ISessionService.java +++ b/src/main/java/de/thm/arsnova/services/ISessionService.java @@ -41,8 +41,6 @@ public interface ISessionService { List<Session> getMySessions(); List<Session> getPublicPoolSessions(); - - List<Session> getMyPublicPoolSessions(); List<Session> getMyVisitedSessions(); @@ -63,6 +61,8 @@ public interface ISessionService { SimpleEntry<Integer, Integer> getMyLearningProgress(String sessionkey); List<SessionInfo> getMySessionsInfo(); + + List<SessionInfo> getMyPublicPoolSessionsInfo(); List<SessionInfo> getMyVisitedSessionsInfo(); } diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java index dd02f530..f69d718b 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -175,8 +175,8 @@ public class SessionService implements ISessionService { @Override @PreAuthorize("isAuthenticated()") - public final List<Session> getMyPublicPoolSessions() { - return databaseDao.getMyPublicPoolSessions(userService.getCurrentUser()); + public final List<SessionInfo> getMyPublicPoolSessionsInfo() { + return databaseDao.getMyPublicPoolSessionsInfo(userService.getCurrentUser()); } @Override diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java index cd89e6a5..34a833e2 100644 --- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java +++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java @@ -205,6 +205,12 @@ public class StubDatabaseDao implements IDatabaseDao { // TODO Auto-generated method stub return null; } + + @Override + public List<SessionInfo> getMyPublicPoolSessionsInfo(final User user) { + // TODO Auto-generated method stub + return null; + } @Override public LoggedIn registerAsOnlineUser(User u, Session s) { -- GitLab