%--
- $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" %>
<% // 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)%> |
<%
}
}
%>
<% } %>