Skip to content
Snippets Groups Projects
Commit 32fcbc56 authored by Daniel Vogel's avatar Daniel Vogel
Browse files

Get public pool sessions as grouped map

parent 456cc3f4
No related merge requests found
......@@ -22,6 +22,7 @@ import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
......@@ -192,10 +193,10 @@ public class SessionController extends AbstractController {
@RequestMapping(value = "/public_pool", method = RequestMethod.GET)
public final List<Session> getPublicPoolSessions(
public final Map<String, ArrayList<Session>> getPublicPoolSessions(
final HttpServletResponse response
) {
List<Session> sessions;
Map<String, ArrayList<Session>> sessions;
sessions = sessionService.getPublicPoolSessions();
if (sessions == null || sessions.isEmpty()) {
......
......@@ -130,22 +130,22 @@ public class CouchDBDao implements IDatabaseDao {
}
@Override
public final List<Session> getPublicPoolSessions() {
public final Map<String, ArrayList<Session>> getPublicPoolSessions() {
Map<String, ArrayList<Session>> sessionMap = new HashMap<String, ArrayList<Session>>();
final NovaView view = new NovaView("session/public_pool_by_id");
view.setGroup(true);
final ViewResults sessions = getDatabase().view(view);
final List<Session> result = new ArrayList<Session>();
for (final Document d : sessions.getResults()) {
final Session session = (Session) JSONObject.toBean(
d.getJSONObject().getJSONObject("value"),
Session.class
);
//session.set_id(d.getId());
result.add(session);
//final List<Session> result = new ArrayList<Session>();
Collection<Session> result = null;
for (Document d : sessions.getResults()) {
final JSONArray jsonSessions = d.getJSONObject().getJSONArray("value");
sessionMap.put(
d.getJSONObject().getString("key"),
new ArrayList(JSONArray.toCollection(jsonSessions, Session.class)));
}
return result;
return sessionMap;
}
@Override
......@@ -337,6 +337,7 @@ public class CouchDBDao implements IDatabaseDao {
@Override
public final Session saveSession(final User user, final Session session) {
final Document sessionDocument = new Document();
sessionDocument.put("type", "session");
sessionDocument.put("name", session.getName());
sessionDocument.put("shortName", session.getShortName());
......
......@@ -20,7 +20,9 @@
package de.thm.arsnova.dao;
import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.entities.Answer;
......@@ -40,7 +42,7 @@ public interface IDatabaseDao {
List<Session> getMySessions(User user);
List<Session> getPublicPoolSessions();
Map<String, ArrayList<Session>> getPublicPoolSessions();
Session saveSession(User user, Session session);
......
......@@ -20,7 +20,9 @@
package de.thm.arsnova.services;
import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import de.thm.arsnova.connector.model.Course;
......@@ -38,7 +40,7 @@ public interface ISessionService {
List<Session> getMySessions();
List<Session> getPublicPoolSessions();
Map<String, ArrayList<Session>> getPublicPoolSessions();
List<Session> getMyVisitedSessions();
......
......@@ -21,8 +21,10 @@ 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.List;
import java.util.Map;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -156,7 +158,7 @@ public class SessionService implements ISessionService {
@Override
@PreAuthorize("isAuthenticated()")
public final List<Session> getPublicPoolSessions() {
public final Map<String, ArrayList<Session>> getPublicPoolSessions() {
return databaseDao.getPublicPoolSessions();
}
......
......@@ -195,7 +195,7 @@ public class StubDatabaseDao implements IDatabaseDao {
}
@Override
public List<Session> getPublicPoolSessions() {
public Map<String, ArrayList<Session>> getPublicPoolSessions() {
// TODO Auto-generated method stub
return null;
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment