Skip to content
Snippets Groups Projects
Commit 42c38a63 authored by Tom Käsler's avatar Tom Käsler
Browse files

put content without group in a no-name contentgroup when querying a room

parent 890a680b
Branches
No related merge requests found
...@@ -59,6 +59,9 @@ import java.util.Comparator; ...@@ -59,6 +59,9 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
/** /**
* Performs all room related operations. * Performs all room related operations.
...@@ -165,6 +168,35 @@ public class RoomServiceImpl extends DefaultEntityServiceImpl<Room> implements R ...@@ -165,6 +168,35 @@ public class RoomServiceImpl extends DefaultEntityServiceImpl<Room> implements R
} }
} }
/**
* Fetches the room.
* Adds content from this room that is in no content group to a no-name group.
* @param id room id to fetch
* @return Room with no-name content group
*/
@Override
public Room get(final String id) {
Room r = super.get(id);
// creates a set from all room content groups
Set<String> cIdsWithGroup = r.getContentGroups().values().stream()
.map(Room.ContentGroup::getContentIds)
.flatMap(ids -> ids.stream())
.collect(Collectors.toSet());
Set<String> cIds = new HashSet<String>(contentRepository.findIdsByRoomId(id));
cIds.removeAll(cIdsWithGroup);
if (!cIds.isEmpty()) {
Map<String, Room.ContentGroup> cgs = r.getContentGroups();
Room.ContentGroup defaultGroup = new Room.ContentGroup();
defaultGroup.setContentIds(cIds);
defaultGroup.setAutoSort(true);
cgs.put("", defaultGroup);
}
return r;
}
@Override @Override
public Room join(final String id, final UUID socketId) { public Room join(final String id, final UUID socketId) {
Room room = null != id ? roomRepository.findOne(id) : null; Room room = null != id ? roomRepository.findOne(id) : 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