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 06569a43..bc40b811 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 c25b5d64..22a42547 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 262a3ab9..827d14de 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