From fa0ea2f4c1d33714d1e378175f195209aaddf23b Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de> Date: Wed, 15 May 2013 16:40:27 +0200 Subject: [PATCH] Added statistics value for logged in users --- .../de/thm/arsnova/controller/StatisticsController.java | 8 ++++++++ .../java/de/thm/arsnova/services/IStatisticsService.java | 2 ++ src/main/java/de/thm/arsnova/services/IUserService.java | 2 ++ .../java/de/thm/arsnova/services/StatisticsService.java | 8 ++++++++ src/main/java/de/thm/arsnova/services/UserService.java | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/src/main/java/de/thm/arsnova/controller/StatisticsController.java b/src/main/java/de/thm/arsnova/controller/StatisticsController.java index 37074be6..4d152fda 100644 --- a/src/main/java/de/thm/arsnova/controller/StatisticsController.java +++ b/src/main/java/de/thm/arsnova/controller/StatisticsController.java @@ -31,6 +31,14 @@ public class StatisticsController { return Integer.toString(statisticsService.countActiveUsers()); } + @RequestMapping(method = RequestMethod.GET, value = "/statistics/loggedinusercount", produces = "text/plain") + @ResponseBody + public final String countLoggedInUsers(HttpServletResponse response) { + response.addHeader("X-Deprecated-API", "1"); + + return Integer.toString(statisticsService.countLoggedInUsers()); + } + @RequestMapping(method = RequestMethod.GET, value = "/statistics/sessioncount", produces = "text/plain") @ResponseBody public final String countSessions(HttpServletResponse response) { diff --git a/src/main/java/de/thm/arsnova/services/IStatisticsService.java b/src/main/java/de/thm/arsnova/services/IStatisticsService.java index 76b8374e..e6a30b07 100644 --- a/src/main/java/de/thm/arsnova/services/IStatisticsService.java +++ b/src/main/java/de/thm/arsnova/services/IStatisticsService.java @@ -6,5 +6,7 @@ public interface IStatisticsService { int countActiveUsers(); + int countLoggedInUsers(); + Statistics getStatistics(); } diff --git a/src/main/java/de/thm/arsnova/services/IUserService.java b/src/main/java/de/thm/arsnova/services/IUserService.java index f0f01359..8146edd1 100644 --- a/src/main/java/de/thm/arsnova/services/IUserService.java +++ b/src/main/java/de/thm/arsnova/services/IUserService.java @@ -52,4 +52,6 @@ public interface IUserService { int getUsersInSessionCount(String keyword); void removeUserFromMaps(User user); + + int loggedInUsers(); } diff --git a/src/main/java/de/thm/arsnova/services/StatisticsService.java b/src/main/java/de/thm/arsnova/services/StatisticsService.java index 6064498b..67a6f58d 100644 --- a/src/main/java/de/thm/arsnova/services/StatisticsService.java +++ b/src/main/java/de/thm/arsnova/services/StatisticsService.java @@ -14,12 +14,20 @@ public class StatisticsService implements IStatisticsService { @Autowired private IDatabaseDao databaseDao; + @Autowired + private IUserService userService; + @Override public final int countActiveUsers() { long since = System.currentTimeMillis() - DURATION_IN_MILLIS; return databaseDao.countActiveUsers(since); } + @Override + public int countLoggedInUsers() { + return userService.loggedInUsers(); + } + @Override public final Statistics getStatistics() { long since = System.currentTimeMillis() - DURATION_IN_MILLIS; diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index 0324606d..57460a17 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -284,4 +284,9 @@ public class UserService implements IUserService, InitializingBean, DisposableBe user2sessionLegacy.remove(user); } } + + @Override + public int loggedInUsers() { + return user2session.size(); + } } -- GitLab