Index: lams_admin/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r4699ff1991364843f900d95bdb6691a540424458 -rc819f2a958c500be2c37059a1781b8c145557310 --- lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 4699ff1991364843f900d95bdb6691a540424458) +++ lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -152,6 +152,9 @@ sysadmin.timeoutUrl =Timeout URL sysadmin.integrated.servers =integrated server(s) in total sysadmin.server.add =Add new server +sysadmin.maintain.session =Session list +sysadmin.maintain.session.login =Login +sysadmin.maintain.session.id =Session ID sysadmin.organisation.create =Create one sysadmin.organisation.select =Please select... sysadmin.login.text =Update login page text: Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SessionListAction.java =================================================================== diff -u --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SessionListAction.java (revision 0) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SessionListAction.java (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -0,0 +1,45 @@ +/**************************************************************** + * Copyright (C) 2006 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +package org.lamsfoundation.lams.admin.web.action; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.web.session.SessionManager; + +/** + * @author Marcin Cieslak + */ +public class SessionListAction extends Action { + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + request.setAttribute("sessions", SessionManager.getLoginToSessionIDMappings()); + return mapping.findForward("sessionlist"); + } +} \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java =================================================================== diff -u -r60e44b19b8de02a00faa437fba8117928baa3d73 -rc819f2a958c500be2c37059a1781b8c145557310 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java (.../SysAdminStartAction.java) (revision 60e44b19b8de02a00faa437fba8117928baa3d73) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java (.../SysAdminStartAction.java) (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -63,6 +63,7 @@ links.add(new LinkBean("ltiConsumerManagement.do", "label.manage.tool.consumers")); links.add(new LinkBean("toolcontentlist.do", "sysadmin.tool.management")); links.add(new LinkBean("themeManagement.do", "admin.themes.title")); + links.add(new LinkBean("sessionlist.do", "sysadmin.maintain.session")); groupedLinks.add(new Object[]{AdminConstants.START_CONFIG_LINKS,links}); links = new ArrayList(); Index: lams_admin/web/WEB-INF/struts-config.xml =================================================================== diff -u -r85ef8aca5722a36582117db1e8b988e2c16b6369 -rc819f2a958c500be2c37059a1781b8c145557310 --- lams_admin/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 85ef8aca5722a36582117db1e8b988e2c16b6369) +++ lams_admin/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -892,6 +892,18 @@ /> + + + + + + + + Index: lams_admin/web/sessionlist.jsp =================================================================== diff -u --- lams_admin/web/sessionlist.jsp (revision 0) +++ lams_admin/web/sessionlist.jsp (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -0,0 +1,16 @@ +<%@ include file="/taglibs.jsp"%> + +

+ + + + + + + + + + + + +
\ No newline at end of file Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r953f62a7fc515e2dc5c4ad983df233070cf7a82c -rc819f2a958c500be2c37059a1781b8c145557310 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java =================================================================== diff -u -rac1774a2e7f4b8ce9b79e6447b1b4748f719bc32 -rc819f2a958c500be2c37059a1781b8c145557310 --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision ac1774a2e7f4b8ce9b79e6447b1b4748f719bc32) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision c819f2a958c500be2c37059a1781b8c145557310) @@ -24,6 +24,8 @@ package org.lamsfoundation.lams.web.session; import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import javax.servlet.ServletContext; @@ -109,7 +111,7 @@ * Unregisteres the session by the given ID. */ public static void removeSessionByID(String sessionID, boolean invalidate) { - HttpSession session = getSession(sessionID); + HttpSession session = SessionManager.getSession(sessionID); if (session != null) { SessionManager.sessionIdMapping.remove(sessionID); @@ -153,6 +155,17 @@ return SessionManager.sessionIdMapping.size(); } + /** + * Lists all logins with their assigned sessions + */ + public static Map getLoginToSessionIDMappings() { + Map result = new TreeMap(); + for (Entry entry : loginMapping.entrySet()) { + result.put(entry.getKey(), entry.getValue().getId()); + } + return result; + } + public static void setServletContext(ServletContext servletContext) { SessionManager.servletContext = servletContext; }