diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java index dd79faa7549ee1cb20c127c29652eeee510caced..885e076cb54b138ec75ea184806c87481230dc88 100644 --- a/src/main/java/de/thm/arsnova/controller/SessionController.java +++ b/src/main/java/de/thm/arsnova/controller/SessionController.java @@ -19,12 +19,9 @@ package de.thm.arsnova.controller; import java.util.List; -import java.util.UUID; import javax.servlet.http.HttpServletResponse; -import net.sf.json.JSONObject; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -41,7 +38,6 @@ import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.services.ISessionService; import de.thm.arsnova.services.IUserService; -import de.thm.arsnova.socket.ARSnovaSocketIOServer; @Controller public class SessionController extends AbstractController { @@ -54,23 +50,6 @@ public class SessionController extends AbstractController { @Autowired private IUserService userService; - @Autowired - private ARSnovaSocketIOServer server; - - @RequestMapping(method = RequestMethod.POST, value = "/socket/assign") - public final void authorize(@RequestBody final Object sessionObject, final HttpServletResponse response) { - String socketid = (String) JSONObject.fromObject(sessionObject).get("session"); - if (socketid == null) { - return; - } - User u = userService.getCurrentUser(); - LOGGER.info("authorize session: " + socketid + ", user is: " + u); - response.setStatus(u != null ? HttpStatus.NO_CONTENT.value() : HttpStatus.UNAUTHORIZED.value()); - if(u != null) { - userService.putUser2SocketId(UUID.fromString(socketid), u); - } - } - @RequestMapping(value = "/session/{sessionkey}", method = RequestMethod.GET) @ResponseBody public final Session joinSession(@PathVariable final String sessionkey) { @@ -116,17 +95,6 @@ public class SessionController extends AbstractController { return null; } - @RequestMapping(value = "/socket/url", method = RequestMethod.GET) - @ResponseBody - public final String getSocketUrl() { - StringBuilder url = new StringBuilder(); - - url.append(server.isUseSSL() ? "https://" : "http://"); - url.append(server.getHostIp() + ":" + server.getPortNumber()); - - return url.toString(); - } - @RequestMapping(value = { "/mySessions", "/session/mysessions" }, method = RequestMethod.GET) @ResponseBody public final List<Session> getMySession(final HttpServletResponse response) { diff --git a/src/main/java/de/thm/arsnova/controller/SocketController.java b/src/main/java/de/thm/arsnova/controller/SocketController.java new file mode 100644 index 0000000000000000000000000000000000000000..b9ad8aeb64454dcc3edd34f7673f22a50ef3bce5 --- /dev/null +++ b/src/main/java/de/thm/arsnova/controller/SocketController.java @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2012 THM webMedia + * + * This file is part of ARSnova. + * + * ARSnova is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ARSnova is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package de.thm.arsnova.controller; + +import java.util.UUID; + +import javax.servlet.http.HttpServletResponse; + +import net.sf.json.JSONObject; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import de.thm.arsnova.entities.User; +import de.thm.arsnova.services.IUserService; +import de.thm.arsnova.socket.ARSnovaSocketIOServer; + +@Controller +@RequestMapping("/socket") +public class SocketController extends AbstractController { + + public static final Logger LOGGER = LoggerFactory.getLogger(SessionController.class); + + @Autowired + private IUserService userService; + + @Autowired + private ARSnovaSocketIOServer server; + + @RequestMapping(method = RequestMethod.POST, value = "/assign") + public final void authorize(@RequestBody final Object sessionObject, final HttpServletResponse response) { + String socketid = (String) JSONObject.fromObject(sessionObject).get("session"); + if (socketid == null) { + return; + } + User u = userService.getCurrentUser(); + LOGGER.info("authorize session: " + socketid + ", user is: " + u); + response.setStatus(u != null ? HttpStatus.NO_CONTENT.value() : HttpStatus.UNAUTHORIZED.value()); + if(u != null) { + userService.putUser2SocketId(UUID.fromString(socketid), u); + } + } + + @RequestMapping(value = "/url", method = RequestMethod.GET) + @ResponseBody + public final String getSocketUrl() { + StringBuilder url = new StringBuilder(); + + url.append(server.isUseSSL() ? "https://" : "http://"); + url.append(server.getHostIp() + ":" + server.getPortNumber()); + + return url.toString(); + } + +}