dk.netarkivet.monitor.webinterface
Class JMXSummaryUtils

java.lang.Object
  extended by dk.netarkivet.monitor.webinterface.JMXSummaryUtils

public class JMXSummaryUtils
extends java.lang.Object

Various utility methods and classes for the JMX Monitor page.


Nested Class Summary
static class JMXSummaryUtils.StarredRequest
          This class encapsulates a HttpServletRequest, making non-existing parameters appear as "*" for wildcard (or "0" for the index parameter).
 
Field Summary
static java.lang.String JMXApplicationnameProperty
           
static java.lang.String JMXHostnameProperty
           
static java.lang.String JMXHttpportProperty
           
static java.lang.String JMXIndexProperty
           
static java.lang.String JMXLocationProperty
          JMX properties used by Monitor-JMXsummary.jsp
static java.lang.String[] STARRABLE_PARAMETERS
          JMX properties, which can set to star.
 
Constructor Summary
JMXSummaryUtils()
           
 
Method Summary
static java.lang.String generateLink(JMXSummaryUtils.StarredRequest request, java.lang.String setPart, java.lang.String setValue, java.lang.String linkText)
          Generate an HTML link to the JMX summary page with one part of the URL parameters set to a specific value.
static java.lang.String generateMessage(java.lang.String logMessage, java.util.Locale l)
          Make an HTML fragment that shows a log message preformatted.
static java.lang.String generateShowAllLink(JMXSummaryUtils.StarredRequest starredRequest, java.lang.String parameter, java.util.Locale l)
          Generate HTML to show at the top of the table, containing a "show all" link if the parameter is currently restricted.
static java.util.List<StatusEntry> queryJMXFromRequest(java.lang.String[] parameters, JMXSummaryUtils.StarredRequest request, javax.servlet.jsp.PageContext context)
          Get status entries from JMX based on a request and some parameters.
static java.lang.String reduceApplicationName(java.lang.String applicationName)
          Reduce the class name of an application to the essentials.
static java.lang.String reduceHostname(java.lang.String hostname)
          Reduce a hostname to a more readable form.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JMXLocationProperty

public static final java.lang.String JMXLocationProperty
JMX properties used by Monitor-JMXsummary.jsp

See Also:
Constant Field Values

JMXHostnameProperty

public static final java.lang.String JMXHostnameProperty
See Also:
Constant Field Values

JMXHttpportProperty

public static final java.lang.String JMXHttpportProperty
See Also:
Constant Field Values

JMXApplicationnameProperty

public static final java.lang.String JMXApplicationnameProperty
See Also:
Constant Field Values

JMXIndexProperty

public static final java.lang.String JMXIndexProperty
See Also:
Constant Field Values

STARRABLE_PARAMETERS

public static final java.lang.String[] STARRABLE_PARAMETERS
JMX properties, which can set to star.

Constructor Detail

JMXSummaryUtils

public JMXSummaryUtils()
Method Detail

reduceApplicationName

public static java.lang.String reduceApplicationName(java.lang.String applicationName)
Reduce the class name of an application to the essentials.

Parameters:
applicationName - The class name of the application
Returns:
A reduced name suitable for user output.

reduceHostname

public static java.lang.String reduceHostname(java.lang.String hostname)
Reduce a hostname to a more readable form.

Parameters:
hostname - A host name.
Returns:
The same host name with all domain parts stripped off.

generateShowAllLink

public static java.lang.String generateShowAllLink(JMXSummaryUtils.StarredRequest starredRequest,
                                                   java.lang.String parameter,
                                                   java.util.Locale l)
Generate HTML to show at the top of the table, containing a "show all" link if the parameter is currently restricted.

Parameters:
starredRequest - A request to take parameters from.
parameter - The parameter that, if not already unrestricted, should be unrestricted in the "show all" link.
l - the current locale
Returns:
HTML to insert at the top of the JMX monitor table.

generateLink

public static java.lang.String generateLink(JMXSummaryUtils.StarredRequest request,
                                            java.lang.String setPart,
                                            java.lang.String setValue,
                                            java.lang.String linkText)
Generate an HTML link to the JMX summary page with one part of the URL parameters set to a specific value.

Parameters:
request - A request to draw other parameter values from
setPart - Which of the parameters to set.
setValue - The value to set that parameter to.
linkText - The HTML text that should go inside the link. Remember to escape HTML values if inserting a normal string.
Returns:
A link to insert in the page, or an unlinked text, if setPart or setValue is null, or an empty string if linkText is null.
Throws:
ArgumentNotValid - if request is null

queryJMXFromRequest

public static java.util.List<StatusEntry> queryJMXFromRequest(java.lang.String[] parameters,
                                                              JMXSummaryUtils.StarredRequest request,
                                                              javax.servlet.jsp.PageContext context)
Get status entries from JMX based on a request and some parameters.

Parameters:
parameters - The parameters to query JMX for.
request - A request possibly containing values for some of the parameters.
context - the current JSP context
Returns:
Status entries for the MBeans that match the parameters.
Throws:
ArgumentNotValid - if the query is invalid (typically caused by invalid parameters).
ForwardedToErrorPage - if unable to create JMX-query

generateMessage

public static java.lang.String generateMessage(java.lang.String logMessage,
                                               java.util.Locale l)
Make an HTML fragment that shows a log message preformatted. If the log message is longer than three lines, the rest are hidden and replaced with an internationalized link "More..." that will show the rest.

Parameters:
logMessage - The log message to present
l - the current Locale
Returns:
An HTML fragment as defined above.