diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java index 3383c2908a6a04f857be77b28ed371e7c74442b1..c142291df7b6f33a4ded585c2c95aef827c16f88 100644 --- a/src/main/java/de/thm/arsnova/controller/SessionController.java +++ b/src/main/java/de/thm/arsnova/controller/SessionController.java @@ -205,10 +205,10 @@ public class SessionController extends AbstractController { } @RequestMapping(value = "/publicpool", method = RequestMethod.GET) - public final List<Session> getPublicPoolSessions( + public final List<SessionInfo> getPublicPoolSessions( final HttpServletResponse response ) { - List<Session> sessions = sessionService.getPublicPoolSessions(); + List<SessionInfo> sessions = sessionService.getPublicPoolSessionsInfo(); if (sessions == null || sessions.isEmpty()) { response.setStatus(HttpServletResponse.SC_NO_CONTENT); diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index f439cbacbac7b811e0c4cafef6833c3764b3d163..8cd049466580bddc8997b175787bbc00a0310eff 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -140,12 +140,18 @@ public class CouchDBDao implements IDatabaseDao { d.getJSONObject().getJSONObject("value"), Session.class ); - //session.set_id(d.getId()); + session.set_id(d.getId()); result.add(session); } return result; } + @Override + public final List<SessionInfo> getPublicPoolSessionsInfo() { + final List<Session> sessions = this.getPublicPoolSessions(); + return getInfosForSessions(sessions); + } + @Override public final List<Session> getMyPublicPoolSessions(final User user) { final NovaView view = new NovaView("session/public_pool_by_creator"); diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 802240158f02a93e8f234b88ff56704e5470068d..8d9b1974bcf50168a1b195b23ef4c5e502508e18 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -179,6 +179,8 @@ public interface IDatabaseDao { SimpleEntry<Integer, Integer> getMyLearningProgress(Session session, User user); List<SessionInfo> getMySessionsInfo(User user); + + List<SessionInfo> getPublicPoolSessionsInfo(); List<SessionInfo> getMyPublicPoolSessionsInfo(final User user); diff --git a/src/main/java/de/thm/arsnova/entities/SessionInfo.java b/src/main/java/de/thm/arsnova/entities/SessionInfo.java index 671211fabb068832bb82f3a961beb59b5a411a09..ee218748af70992cf17251125a5b84e9755ff985 100644 --- a/src/main/java/de/thm/arsnova/entities/SessionInfo.java +++ b/src/main/java/de/thm/arsnova/entities/SessionInfo.java @@ -28,13 +28,16 @@ public class SessionInfo { private boolean active; private String courseType; private long creationTime; - + private String sessionType; + private String ppLevel; + private String ppSubject; + private int numQuestions; private int numAnswers; private int numInterposed; private int numUnredInterposed; private int numUnanswered; - + public SessionInfo(Session session) { this.name = session.getName(); this.shortName = session.getShortName(); @@ -42,6 +45,9 @@ public class SessionInfo { this.active = session.isActive(); this.courseType = session.getCourseType(); this.creationTime = session.getCreationTime(); + this.sessionType = session.getSessionType(); + this.ppLevel = session.getPpLevel(); + this.ppSubject = session.getPpSubject(); } public static List<SessionInfo> fromSessionList(List<Session> sessions) { @@ -91,6 +97,30 @@ public class SessionInfo { public void setCourseType(String courseType) { this.courseType = courseType; } + + public String getSessionType() { + return sessionType; + } + + public void setSessionType(String sessionType) { + this.sessionType = sessionType; + } + + public String getPpLevel() { + return ppLevel; + } + + public void setPpLevel(String ppLevel) { + this.ppLevel = ppLevel; + } + + public String getPpSubject() { + return ppSubject; + } + + public void setPpSubject(String ppSubject) { + this.ppSubject = ppSubject; + } public int getNumQuestions() { return numQuestions; diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java index 0ded048f9016e43d164ac42e5338eab31422806f..f4ecc3e1827eb0135ac0a8f585fd9bd57ddd9125 100644 --- a/src/main/java/de/thm/arsnova/services/ISessionService.java +++ b/src/main/java/de/thm/arsnova/services/ISessionService.java @@ -37,8 +37,6 @@ public interface ISessionService { String generateKeyword(); List<Session> getMySessions(); - - List<Session> getPublicPoolSessions(); List<Session> getMyVisitedSessions(); @@ -60,6 +58,8 @@ public interface ISessionService { List<SessionInfo> getMySessionsInfo(); + List<SessionInfo> getPublicPoolSessionsInfo(); + 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 47954ec101d2096a01c399218659b180c63798ee..9084ab0128961b877cce62a69fc619d4e1524166 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -168,8 +168,8 @@ public class SessionService implements ISessionService { @Override @PreAuthorize("isAuthenticated()") - public final List<Session> getPublicPoolSessions() { - return databaseDao.getPublicPoolSessions(); + public final List<SessionInfo> getPublicPoolSessionsInfo() { + return databaseDao.getPublicPoolSessionsInfo(); } @Override diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java index 8a09d652ccb10b0d08070a0080287798ab24256a..51b41580f2b9e246d842259c1a091e3927995223 100644 --- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java +++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java @@ -200,6 +200,12 @@ public class StubDatabaseDao implements IDatabaseDao { return null; } + @Override + public List<SessionInfo> getPublicPoolSessionsInfo() { + // TODO Auto-generated method stub + return null; + } + @Override public List<Session> getMyPublicPoolSessions(User user) { // TODO Auto-generated method stub