org.apache.felix.webconsole
Class WebConsoleUtil

java.lang.Object
  extended by org.apache.felix.webconsole.WebConsoleUtil

public final class WebConsoleUtil
extends Object

The WebConsoleUtil provides various utility methods for use by Web Console plugins.


Method Summary
static String escapeHtml(String text)
          Escapes HTML special chars like: <>&\r\n and space
static String getParameter(HttpServletRequest request, String name)
          An utility method, that is used to filter out simple parameter from file parameter when multipart transfer encoding is used.
static int getParameterInt(HttpServletRequest request, String name, int _default)
          Retrieves a request parameter and converts it to int.
static VariableResolver getVariableResolver(ServletRequest request)
          Returns the VariableResolver for the given request.
static void keyVal(org.json.JSONWriter jw, String key, Object value)
          Writes a key-value pair in a JSON writer.
static void sendRedirect(HttpServletRequest request, HttpServletResponse response, String redirectUrl)
          Utility method to handle relative redirects.
static void setNoCache(HttpServletResponse response)
          Sets response headers to force the client to not cache the response sent back.
static void setVariableResolver(ServletRequest request, VariableResolver resolver)
          Sets the VariableResolver as the WebConsoleConstants.ATTR_CONSOLE_VARIABLE_RESOLVER attribute in the given request.
static String toString(Object value)
          This method will stringify a Java object.
static String urlDecode(String value)
          Decode the given value expected to be URL encoded.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getVariableResolver

public static VariableResolver getVariableResolver(ServletRequest request)
Returns the VariableResolver for the given request.

If no resolver has yet be created for the requests, an instance of the DefaultVariableResolver is created with preset properties, placed into the request and returned. The preset properties are appRoot set to the value of the WebConsoleConstants.ATTR_APP_ROOT request attribute and pluginRoot set to the value of the WebConsoleConstants.ATTR_PLUGIN_ROOT request attribute.

Note: An object not implementing the VariableResolver interface already stored as the WebConsoleConstants.ATTR_CONSOLE_VARIABLE_RESOLVER attribute will silently be replaced by the DefaultVariableResolver instance.

Parameters:
request - The request whose attribute is returned (or set)
Returns:
The VariableResolver for the given request.

setVariableResolver

public static void setVariableResolver(ServletRequest request,
                                       VariableResolver resolver)
Sets the VariableResolver as the WebConsoleConstants.ATTR_CONSOLE_VARIABLE_RESOLVER attribute in the given request. An attribute of that name already existing is silently replaced.

Parameters:
request - The request whose attribute is set
resolver - The VariableResolver to place into the request

getParameter

public static final String getParameter(HttpServletRequest request,
                                        String name)
An utility method, that is used to filter out simple parameter from file parameter when multipart transfer encoding is used. This method processes the request and sets a request attribute AbstractWebConsolePlugin.ATTR_FILEUPLOAD. The attribute value is a Map where the key is a String specifying the field name and the value is a FileItem.

Parameters:
request - the HTTP request coming from the user
name - the name of the parameter
Returns:
if not multipart transfer encoding is used - the value is the parameter value or null if not set. If multipart is used, and the specified parameter is field - then the value of the parameter is returned.

sendRedirect

public static final void sendRedirect(HttpServletRequest request,
                                      HttpServletResponse response,
                                      String redirectUrl)
                               throws IOException
Utility method to handle relative redirects. Some application servers like Web Sphere handle relative redirects differently therefore we should make an absolute URL before invoking send redirect.

Parameters:
request - the HTTP request coming from the user
response - the HTTP response, where data is rendered
redirectUrl - the redirect URI.
Throws:
IOException - If an input or output exception occurs
IllegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL

setNoCache

public static final void setNoCache(HttpServletResponse response)
Sets response headers to force the client to not cache the response sent back. This method must be called before the response is committed otherwise it will have no effect.

This method sets the Cache-Control, Expires, and Pragma headers.

Parameters:
response - The response for which to set the cache prevention

escapeHtml

public static final String escapeHtml(String text)
Escapes HTML special chars like: <>&\r\n and space

Parameters:
text - the text to escape
Returns:
the escaped text

getParameterInt

public static final int getParameterInt(HttpServletRequest request,
                                        String name,
                                        int _default)
Retrieves a request parameter and converts it to int.

Parameters:
request - the HTTP request
name - the name of the request parameter
_default - the default value returned if the parameter is not set or is not a valid integer.
Returns:
the request parameter if set and is valid integer, or the default value

keyVal

public static final void keyVal(org.json.JSONWriter jw,
                                String key,
                                Object value)
                         throws org.json.JSONException
Writes a key-value pair in a JSON writer. Write is performed only if both key and value are not null.

Parameters:
jw - the writer, where to write the data
key - the key value, stored under 'key'
value - the value stored under 'value'
Throws:
org.json.JSONException - if the value cannot be serialized.

urlDecode

public static String urlDecode(String value)
Decode the given value expected to be URL encoded.

This method first tries to use the Java 1.4 method URLDecoder.decode(String, String) method and falls back to the now deprecated URLDecoder.decode(String, String) which uses the platform character set to decode the string. This is because the platforms before 1.4 and most notably some OSGi Execution Environments (such as Minimum EE) do not provide the newer method.

Parameters:
value -
Returns:

toString

public static final String toString(Object value)
This method will stringify a Java object. It is mostly used to print the values of unknown properties. This method will correctly handle if the passed object is array and will property display it. If the value is byte[] the elements are shown as Hex

Parameters:
value - the value to convert
Returns:
the string representation of the value


Copyright © 2011 Apache Software Foundation. All Rights Reserved.