Skip to content
Snippets Groups Projects
Commit 25d166d4 authored by Paul-Christian Volkmer's avatar Paul-Christian Volkmer
Browse files

Add logged in user count to statistics

parent add529b9
No related merge requests found
...@@ -7,6 +7,7 @@ public class Statistics { ...@@ -7,6 +7,7 @@ public class Statistics {
private int openSessions; private int openSessions;
private int closedSessions; private int closedSessions;
private int activeUsers; private int activeUsers;
private int loggedinUsers;
public int getAnswers() { public int getAnswers() {
return answers; return answers;
...@@ -43,6 +44,13 @@ public class Statistics { ...@@ -43,6 +44,13 @@ public class Statistics {
this.activeUsers = activeUsers; this.activeUsers = activeUsers;
} }
public int getLoggedinUsers() {
return loggedinUsers;
}
public void setLoggedinUsers(final int loggedinUsers) {
this.loggedinUsers = loggedinUsers;
}
@Override @Override
public int hashCode() { public int hashCode() {
return (this.getClass().getName() return (this.getClass().getName()
...@@ -50,7 +58,9 @@ public class Statistics { ...@@ -50,7 +58,9 @@ public class Statistics {
+ answers + answers
+ closedSessions + closedSessions
+ openSessions + openSessions
+ questions).hashCode(); + questions
+ loggedinUsers
).hashCode();
} }
@Override @Override
......
...@@ -20,25 +20,29 @@ public class StatisticsService implements IStatisticsService { ...@@ -20,25 +20,29 @@ public class StatisticsService implements IStatisticsService {
@Override @Override
public final int countActiveUsers() { public final int countActiveUsers() {
long since = System.currentTimeMillis() - DURATION_IN_MILLIS; final long since = System.currentTimeMillis() - DURATION_IN_MILLIS;
return databaseDao.countActiveUsers(since); return databaseDao.countActiveUsers(since);
} }
@Override @Override
public int countLoggedInUsers() { public int countLoggedInUsers() {
if (sessionRegistry == null) {
return 0;
}
return sessionRegistry.getAllPrincipals().size(); return sessionRegistry.getAllPrincipals().size();
} }
@Override @Override
public final Statistics getStatistics() { public final Statistics getStatistics() {
long since = System.currentTimeMillis() - DURATION_IN_MILLIS; final long since = System.currentTimeMillis() - DURATION_IN_MILLIS;
Statistics statistics = new Statistics(); final Statistics statistics = new Statistics();
statistics.setOpenSessions(databaseDao.countOpenSessions()); statistics.setOpenSessions(databaseDao.countOpenSessions());
statistics.setClosedSessions(databaseDao.countClosedSessions()); statistics.setClosedSessions(databaseDao.countClosedSessions());
statistics.setAnswers(databaseDao.countAnswers()); statistics.setAnswers(databaseDao.countAnswers());
statistics.setQuestions(databaseDao.countQuestions()); statistics.setQuestions(databaseDao.countQuestions());
statistics.setActiveUsers(databaseDao.countActiveUsers(since)); statistics.setActiveUsers(databaseDao.countActiveUsers(since));
statistics.setLoggedinUsers(countLoggedInUsers());
return statistics; return statistics;
} }
} }
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