From d8ea00f32efd09eb63067691f88cb59cb56ab882 Mon Sep 17 00:00:00 2001 From: Christoph Thelen <christoph.thelen@mni.thm.de> Date: Mon, 27 Oct 2014 14:37:58 +0100 Subject: [PATCH] Report locked/unlocked sessions using web sockets --- src/main/java/de/thm/arsnova/entities/VisitedSession.java | 1 + src/main/java/de/thm/arsnova/services/SessionService.java | 2 +- .../java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/thm/arsnova/entities/VisitedSession.java b/src/main/java/de/thm/arsnova/entities/VisitedSession.java index 06569a43c..bc40b8117 100644 --- a/src/main/java/de/thm/arsnova/entities/VisitedSession.java +++ b/src/main/java/de/thm/arsnova/entities/VisitedSession.java @@ -18,6 +18,7 @@ */ package de.thm.arsnova.entities; + public class VisitedSession { private String _id; private String name; diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java index c25b5d64b..22a425479 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -34,7 +34,6 @@ import org.springframework.stereotype.Service; import de.thm.arsnova.connector.client.ConnectorClient; import de.thm.arsnova.connector.model.Course; -import de.thm.arsnova.connector.model.Courses; import de.thm.arsnova.dao.IDatabaseDao; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; @@ -265,6 +264,7 @@ public class SessionService implements ISessionService { if (!session.isCreator(user)) { throw new ForbiddenException(); } + socketIoServer.reportSessionStatus(sessionkey, lock); return databaseDao.lockSession(session, lock); } diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java index 262a3ab9c..827d14de6 100644 --- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java +++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java @@ -316,6 +316,10 @@ public class ARSnovaSocketIOServer { broadcastInSession(sessionKey, "lecQuestionAvail", lecturerQuestionId); } + public void reportSessionStatus(final String sessionKey, final boolean active) { + broadcastInSession(sessionKey, "setSessionActive", active); + } + public void broadcastInSession(final String sessionKey, final String eventName, final Object data) { /** * collect a list of users which are in the current session iterate over -- GitLab