From 0ad8e1cf99b0a68cd7ae275a0513bc4a59995f29 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 15 Jun 2011 21:58:00 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43538 Add host name and IP address to the HTML Manager application. Patch by Dennis Lundberg. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1136216 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/manager/Constants.java | 6 +++++- java/org/apache/catalina/manager/HTMLManagerServlet.java | 16 ++++++++++++++-- java/org/apache/catalina/manager/LocalStrings.properties | 2 ++ .../apache/catalina/manager/StatusManagerServlet.java | 16 ++++++++++++++-- webapps/docs/changelog.xml | 4 ++++ 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/manager/Constants.java b/java/org/apache/catalina/manager/Constants.java index 1f644d963..ba7b5553b 100644 --- a/java/org/apache/catalina/manager/Constants.java +++ b/java/org/apache/catalina/manager/Constants.java @@ -170,7 +170,7 @@ public class Constants { SERVER_HEADER_SECTION = "\n" + "\n" + - " \n" + + " \n" + "\n" + "\n" + " \n" + @@ -179,6 +179,8 @@ public class Constants { " \n" + " \n" + " \n" + + " \n" + + " \n" + "\n"; SERVER_ROW_SECTION = @@ -189,6 +191,8 @@ public class Constants { " \n" + " \n" + " \n" + + " \n" + + " \n" + "\n" + "
{0}{0}
{1}{4}{5}{6}{7}{8}
{3}{4}{5}{6}{7}
\n" + "
\n" + diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java b/java/org/apache/catalina/manager/HTMLManagerServlet.java index 2d3a77917..d15dbf1a9 100644 --- a/java/org/apache/catalina/manager/HTMLManagerServlet.java +++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java @@ -22,6 +22,8 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; @@ -630,7 +632,7 @@ public final class HTMLManagerServlet extends ManagerServlet { writer.print(MessageFormat.format(DIAGNOSTICS_SECTION, args)); // Server Header Section - args = new Object[7]; + args = new Object[9]; args[0] = smClient.getString("htmlManagerServlet.serverTitle"); args[1] = smClient.getString("htmlManagerServlet.serverVersion"); args[2] = smClient.getString("htmlManagerServlet.serverJVMVersion"); @@ -638,17 +640,27 @@ public final class HTMLManagerServlet extends ManagerServlet { args[4] = smClient.getString("htmlManagerServlet.serverOSName"); args[5] = smClient.getString("htmlManagerServlet.serverOSVersion"); args[6] = smClient.getString("htmlManagerServlet.serverOSArch"); + args[7] = sm.getString("htmlManagerServlet.serverHostname"); + args[8] = sm.getString("htmlManagerServlet.serverIPAddress"); writer.print(MessageFormat.format (Constants.SERVER_HEADER_SECTION, args)); // Server Row Section - args = new Object[6]; + args = new Object[8]; args[0] = ServerInfo.getServerInfo(); args[1] = System.getProperty("java.runtime.version"); args[2] = System.getProperty("java.vm.vendor"); args[3] = System.getProperty("os.name"); args[4] = System.getProperty("os.version"); args[5] = System.getProperty("os.arch"); + try { + InetAddress address = InetAddress.getLocalHost(); + args[6] = address.getHostName(); + args[7] = address.getHostAddress(); + } catch (UnknownHostException e) { + args[6] = "-"; + args[7] = "-"; + } writer.print(MessageFormat.format(Constants.SERVER_ROW_SECTION, args)); // HTML Tail Section diff --git a/java/org/apache/catalina/manager/LocalStrings.properties b/java/org/apache/catalina/manager/LocalStrings.properties index ae0a83f35..eafb465ad 100644 --- a/java/org/apache/catalina/manager/LocalStrings.properties +++ b/java/org/apache/catalina/manager/LocalStrings.properties @@ -58,6 +58,8 @@ htmlManagerServlet.list=List Applications htmlManagerServlet.manager=Manager htmlManagerServlet.messageLabel=Message: htmlManagerServlet.noManager=- +htmlManagerServlet.serverHostname=Hostname +htmlManagerServlet.serverIPAddress=IP Address htmlManagerServlet.serverJVMVendor=JVM Vendor htmlManagerServlet.serverJVMVersion=JVM Version htmlManagerServlet.serverOSArch=OS Architecture diff --git a/java/org/apache/catalina/manager/StatusManagerServlet.java b/java/org/apache/catalina/manager/StatusManagerServlet.java index 092db0925..c0ee2dce8 100644 --- a/java/org/apache/catalina/manager/StatusManagerServlet.java +++ b/java/org/apache/catalina/manager/StatusManagerServlet.java @@ -21,6 +21,8 @@ package org.apache.catalina.manager; import java.io.IOException; import java.io.PrintWriter; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.Enumeration; import java.util.Iterator; import java.util.Set; @@ -240,7 +242,7 @@ public class StatusManagerServlet StatusTransformer.writeManager(writer,args,mode); // Server Header Section - args = new Object[7]; + args = new Object[9]; args[0] = sm.getString("htmlManagerServlet.serverTitle"); args[1] = sm.getString("htmlManagerServlet.serverVersion"); args[2] = sm.getString("htmlManagerServlet.serverJVMVersion"); @@ -248,17 +250,27 @@ public class StatusManagerServlet args[4] = sm.getString("htmlManagerServlet.serverOSName"); args[5] = sm.getString("htmlManagerServlet.serverOSVersion"); args[6] = sm.getString("htmlManagerServlet.serverOSArch"); + args[7] = sm.getString("htmlManagerServlet.serverHostname"); + args[8] = sm.getString("htmlManagerServlet.serverIPAddress"); // use StatusTransformer to output status StatusTransformer.writePageHeading(writer,args,mode); // Server Row Section - args = new Object[6]; + args = new Object[8]; args[0] = ServerInfo.getServerInfo(); args[1] = System.getProperty("java.runtime.version"); args[2] = System.getProperty("java.vm.vendor"); args[3] = System.getProperty("os.name"); args[4] = System.getProperty("os.version"); args[5] = System.getProperty("os.arch"); + try { + InetAddress address = InetAddress.getLocalHost(); + args[6] = address.getHostName(); + args[7] = address.getHostAddress(); + } catch (UnknownHostException e) { + args[6] = "-"; + args[7] = "-"; + } // use StatusTransformer to output status StatusTransformer.writeServerInfo(writer, args, mode); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 85d59e4ef..c33e8b480 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -97,6 +97,10 @@ Update Maven repository information in the documentation to reflect current usage. (markt) + + 43538: Add host name and IP address to the HTML Manager + application. Patch by Dennis Lundberg. (markt) + -- 2.11.0