<%-- - $RCSfile$ - $Revision: $ - $Date: $ - - Copyright (C) 2006 Jive Software. All rights reserved. - - This software is published under the terms of the GNU Public License (GPL), - a copy of which is included in this distribution. --%> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %> <%@ page import="org.jivesoftware.openfire.ConnectionManager, org.jivesoftware.openfire.SessionManager, org.jivesoftware.openfire.XMPPServer, org.jivesoftware.openfire.multiplex.ConnectionMultiplexerManager, org.jivesoftware.openfire.session.ConnectionMultiplexerSession, org.jivesoftware.util.ParamUtils" errorPage="error.jsp" %> <%@ page import="java.util.Collection"%> <%@ page import="java.util.HashMap"%> <%@ page import="java.util.List"%> <%@ page import="java.util.Map" %> <fmt:message key="connection-manager.settings.title"/> <% // Get parameters boolean update = request.getParameter("update") != null; boolean managerEnabled = ParamUtils.getBooleanParameter(request,"managerEnabled"); int port = ParamUtils.getIntParameter(request,"port", 0); String defaultSecret = ParamUtils.getParameter(request,"defaultSecret"); String secret = ParamUtils.getParameter(request,"secret"); boolean updateSucess = false; String serverName = XMPPServer.getInstance().getServerInfo().getName(); ConnectionManager connectionManager = XMPPServer.getInstance().getConnectionManager(); // Update the session kick policy if requested Map errors = new HashMap(); if (update) { // Validate params if (managerEnabled) { if (defaultSecret == null || defaultSecret.trim().length() == 0) { errors.put("defaultSecret",""); } if (port <= 0) { errors.put("port",""); } } // If no errors, continue: if (errors.isEmpty()) { if (!managerEnabled) { connectionManager.enableConnectionManagerListener(false); } else { connectionManager.enableConnectionManagerListener(true); connectionManager.setConnectionManagerListenerPort(port); ConnectionMultiplexerManager.setDefaultSecret(defaultSecret); } updateSucess = true; } } // Set page vars if (errors.size() == 0) { managerEnabled = connectionManager.isConnectionManagerListenerEnabled(); port = connectionManager.getConnectionManagerListenerPort(); defaultSecret = ConnectionMultiplexerManager.getDefaultSecret(); secret = ""; } else { if (port == 0) { port = connectionManager.getConnectionManagerListenerPort(); } if (defaultSecret == null) { defaultSecret = ConnectionMultiplexerManager.getDefaultSecret(); } if (secret == null) { secret = ""; } } %>

" %>" /> " %>" />

<% if (!errors.isEmpty()) { %>
<% if (errors.get("port") != null) { %> <% } else if (errors.get("defaultSecret") != null) { %> <% } %>

<% } else if (updateSucess) { %>

<% } %>
>
>
 
">

">
<% if (managerEnabled) { %>

<% ConnectionMultiplexerManager multiplexerManager = ConnectionMultiplexerManager.getInstance(); SessionManager sessionManager = SessionManager.getInstance(); Collection connectionManagers = multiplexerManager.getMultiplexers(); if (connectionManagers.isEmpty()) { %> <% } else { for (String managerName : connectionManagers) { List sessions = sessionManager.getConnectionMultiplexerSessions(managerName); if (sessions.isEmpty()) { continue; } String hostAddress = sessions.get(0).getHostAddress(); String hostName = sessions.get(0).getHostName(); %> <% } } %>
<%= managerName%> <%= hostAddress %> / <%= hostName %> <%= multiplexerManager.getNumConnectedClients(managerName)%>
<% } %>