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. and a bunch of JMX properties used by Monitor-JMXsummary.jsp.


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 JMXApplicationInstIdProperty
          JMX property for the application instance id.
static java.lang.String JMXApplicationNameProperty
          JMX property for the application name.
static java.lang.String JMXArchiveReplicaNameProperty
          JMX property for the replica name.
static java.lang.String JMXHarvestPriorityProperty
          JMX property for the harvest priority
static java.lang.String JMXHttpportProperty
          JMX property for the HTTP port.
static java.lang.String JMXIndexProperty
          JMX property for the index.
static java.lang.String JMXMachineNameProperty
          JMX property for the machine name.
static java.lang.String JMXPhysLocationProperty
          JMX property for the physical location.
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.lang.String generateShowColumn(JMXSummaryUtils.StarredRequest starredRequest, java.util.Locale l)
          Creates the show links for showing columns again.
static java.lang.String generateShowLink(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" and a "off" links 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.
static boolean showColumn(JMXSummaryUtils.StarredRequest starredRequest, java.lang.String parameter)
          Tests if a parameter in the request is "-" (thus off).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JMXPhysLocationProperty

public static final java.lang.String JMXPhysLocationProperty
JMX property for the physical location.

See Also:
Constant Field Values

JMXMachineNameProperty

public static final java.lang.String JMXMachineNameProperty
JMX property for the machine name.

See Also:
Constant Field Values

JMXApplicationNameProperty

public static final java.lang.String JMXApplicationNameProperty
JMX property for the application name.

See Also:
Constant Field Values

JMXApplicationInstIdProperty

public static final java.lang.String JMXApplicationInstIdProperty
JMX property for the application instance id.

See Also:
Constant Field Values

JMXHttpportProperty

public static final java.lang.String JMXHttpportProperty
JMX property for the HTTP port.

See Also:
Constant Field Values

JMXHarvestPriorityProperty

public static final java.lang.String JMXHarvestPriorityProperty
JMX property for the harvest priority

See Also:
Constant Field Values

JMXArchiveReplicaNameProperty

public static final java.lang.String JMXArchiveReplicaNameProperty
JMX property for the replica name.

See Also:
Constant Field Values

JMXIndexProperty

public static final java.lang.String JMXIndexProperty
JMX property for the index.

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.

generateShowColumn

public static java.lang.String generateShowColumn(JMXSummaryUtils.StarredRequest starredRequest,
                                                  java.util.Locale l)
Creates the show links for showing columns again. Goes through all parameters to check if their column is active. If a column is not active, the link to showing a specific column again is generated.

Parameters:
starredRequest - A request to take parameters from.
l - For retrieving the correct words form the current language.
Returns:
The link to show the parameter again.

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. This function is only used by JMXIndexProperty field, the other properties uses generateShowLing instead.

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.

generateShowLink

public static java.lang.String generateShowLink(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" and a "off" links 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".
l - the current locale
Returns:
HTML to insert at the top of the JMX monitor table.

showColumn

public static boolean showColumn(JMXSummaryUtils.StarredRequest starredRequest,
                                 java.lang.String parameter)
Tests if a parameter in the request is "-" (thus off).

Parameters:
starredRequest - A request to take parameters from.
parameter - The parameter that should be tested.
Returns:
Whether the parameter is set to "-".

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.