Index: lams_admin/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rd34cc270cb398c4db6fe2b8a04e09bbce8cf76ce -ra0560101e7659361e802b38a42336e11edf82838 --- lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision d34cc270cb398c4db6fe2b8a04e09bbce8cf76ce) +++ lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision a0560101e7659361e802b38a42336e11edf82838) @@ -504,6 +504,8 @@ sysadmin.maintain.session =Logged in users sysadmin.maintain.session.login =Login sysadmin.maintain.session.id =Session ID +sysadmin.maintain.session.access =Last access +sysadmin.maintain.session.created =Started on: error.portrait.removal.failed =Unable to delete portrait. See error file for details label.delete.portrait =Delete portrait sysadmin.maintain.session.delete =Delete Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java =================================================================== diff -u -r63baa015c8da7d0ce849fb544c9011f1f2836515 -ra0560101e7659361e802b38a42336e11edf82838 --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision 63baa015c8da7d0ce849fb544c9011f1f2836515) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision a0560101e7659361e802b38a42336e11edf82838) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.web.session; +import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -34,7 +35,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.lang.time.FastDateFormat; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.web.util.AttributeNames; public class SessionManager { @@ -214,14 +217,18 @@ /** * Lists all logins with their assigned sessions */ - public static Map> getLoginToSessionIDMappings() { - Map> result = new TreeMap<>(); + public static Map> getLoginToSessionIDMappings() { + FastDateFormat sessionCreatedDateFormatter = FastDateFormat.getInstance(DateUtil.PRETTY_FORMAT); + + Map> result = new TreeMap<>(); for (Entry entry : loginMapping.entrySet()) { HttpSession session = entry.getValue(); UserDTO user = (UserDTO) session.getAttribute(AttributeNames.USER); - List sessionInfo = new LinkedList<>(); + List sessionInfo = new LinkedList<>(); sessionInfo.add(user.getFirstName()); sessionInfo.add(user.getLastName()); + sessionInfo.add(new Date(session.getLastAccessedTime())); + sessionInfo.add(sessionCreatedDateFormatter.format(new Date(session.getCreationTime()))); sessionInfo.add(session.getId()); result.put(entry.getKey(), sessionInfo); }