org.apache.jmeter.util

Class JMeterUtils

Implemented Interfaces:
UnitTestManager

public class JMeterUtils
extends Object
implements UnitTestManager

This class contains the static utility methods used by JMeter.

Field Summary

static String
RES_KEY_PFX

Method Summary

static void
addLocaleChangeListener(LocaleChangeListener listener)
static JButton
createButton(String name, ActionListener listener)
Create a button with the netscape style
static JButton
createSimpleButton(String name, ActionListener listener)
Create a button with the netscape style
static File
findFile(String fileName)
Find a file in the current directory or in the JMeter bin directory.
static int
findInArray(String[] array, String value)
Finds a string in an array of strings and returns the
static Hashtable
getAlias(Properties properties)
Creates the vector of alias strings.
static Vector
getControllers(Properties properties)
Creates a vector of SampleController plugins.
static Hashtable
getHashtable(Properties properties, String name)
Creates a table of strings for all the properties that start with a common prefix.
static ImageIcon
getImage(String name)
This looks for the requested image in the classpath under org.apache.jmeter.images.
static ImageIcon
getImage(String name, String description)
This looks for the requested image in the classpath under org.apache.jmeter.images.
static String
getJMeterBinDir()
Get the JMeter bin directory - does not include the trailing separator.
static String
getJMeterCopyright()
Gets the JMeter copyright.
static String
getJMeterHome()
Get the JMeter home directory - does not include the trailing separator.
static Properties
getJMeterProperties()
This gets the currently defined appProperties.
static String
getJMeterVersion()
Gets the JMeter Version.
static String
getLocalHostFullName()
Returns the cached result from calling InetAddress.getLocalHost().getCanonicalHostName()
static String
getLocalHostIP()
Returns the cached result from calling InetAddress.getLocalHost().getHostAddress()
static String
getLocalHostName()
Returns the cached result from calling InetAddress.getLocalHost().getHostName()
static Locale
getLocale()
Gets the current locale.
static String
getLocaleString(String locale)
Get the locale name as a resource.
static Perl5Matcher
getMatcher()
Gets Perl5Matcher for this thread.
static Pattern
getPattern(String expression)
Get a compiled expression from the pattern cache (READ_ONLY).
static Pattern
getPattern(String expression, int options)
Get a compiled expression from the pattern cache.
static PatternCacheLRU
getPatternCache()
static String
getPropDefault(String propName, String defaultVal)
Get a String value with default if not present.
static boolean
getPropDefault(String propName, boolean defaultVal)
Get a boolean value with default if not present.
static int
getPropDefault(String propName, int defaultVal)
Get a int value with default if not present.
static long
getPropDefault(String propName, long defaultVal)
Get a long value with default if not present.
static Properties
getProperties(String file)
This method is used by the init method to load the property file that may even reside in the user space, or in the classpath under org.apache.jmeter.jmeter.properties.
static String
getProperty(String propName)
Get the value of a JMeter property.
static int
getRandomInt(int r)
Provide random numbers
static String
getResString(String key)
Gets the resource string for this key.
static String
getResString(String key, String defaultValue)
Deprecated. Only intended for use in development; use getResString(String) normally
static String
getResourceFileAsText(String name)
static String[]
getSearchPaths()
static String[]
getTestSamples(Properties properties, String name)
Create a string of class names for a particular SamplerController
static Vector
getTimers(Properties properties)
Creates the vector of Timers plugins.
static Vector
getVector(Properties properties, String name)
Creates a vector of strings for all the properties that start with a common prefix.
static Vector
getVisualizers(Properties properties)
Creates the vector of visualizer plugins.
static XMLReader
getXMLParser()
Create an instance of an org.xml.sax.Parser based on the default props.
static void
initLocale()
Initialise the JMeter Locale
static void
initLogging()
Initialise JMeter logging
void
initializeProperties(String file)
static Object
instantiate(String className, String impls)
Instatiate an object and guarantee its class.
static Vector
instantiate(Vector v, String className)
Instantiate a vector of classes
static boolean
isExpertMode()
Determine whether we are in 'expert' mode.
static void
loadJMeterProperties(String file)
Load the JMeter properties file; if not found, then default to "org/apache/jmeter/jmeter.properties" from the classpath c.f. loadProperties
static Properties
loadProperties(String file)
This method loads a property file that may reside in the user space, or in the classpath
static void
removeLocaleChangeListener(LocaleChangeListener listener)
static void
reportErrorToUser(String errorMsg)
Report an error through a dialog box.
static void
reportErrorToUser(String errorMsg, String titleMsg)
Report an error through a dialog box.
static void
selJComboBoxItem(Properties properties, JComboBox combo, Vector namVec, String name)
Sets the selection of the JComboBox to the Object 'name' from the list in namVec.
static void
setJMeterHome(String home)
static void
setLocale(Locale loc)
Changes the current locale: re-reads resource strings and notifies listeners.
static Object
setProperty(String propName, String propValue)
Set a String value
static Vector
tokenize(String string, String separator)
Tokenize a string into a vector of tokens
static String
unsplit(Object[] splittee, Object splitChar)
Takes an array of strings and a tokenizer character, and returns a string of all the strings concatenated with the tokenizer string in between each one.
static String
unsplit(Object[] splittee, Object splitChar, String def)
Takes an array of strings and a tokenizer character, and returns a string of all the strings concatenated with the tokenizer string in between each one.

Field Details

RES_KEY_PFX

public static final String RES_KEY_PFX

Method Details

addLocaleChangeListener

public static void addLocaleChangeListener(LocaleChangeListener listener)

createButton

public static JButton createButton(String name,
                                   ActionListener listener)
Create a button with the netscape style
Parameters:
name - Description of Parameter
listener - Description of Parameter
Returns:
Description of the Returned Value

createSimpleButton

public static JButton createSimpleButton(String name,
                                         ActionListener listener)
Create a button with the netscape style
Parameters:
name - Description of Parameter
listener - Description of Parameter
Returns:
Description of the Returned Value

findFile

public static File findFile(String fileName)
Find a file in the current directory or in the JMeter bin directory.
Parameters:
fileName -
Returns:
File object

findInArray

public static int findInArray(String[] array,
                              String value)
Finds a string in an array of strings and returns the
Parameters:
array - Array of strings.
value - String to compare to array values.
Returns:
Index of value in array, or -1 if not in array.

getAlias

public static Hashtable getAlias(Properties properties)
Creates the vector of alias strings.
Parameters:
properties - Description of Parameter
Returns:
The Alias value

getControllers

public static Vector getControllers(Properties properties)
Creates a vector of SampleController plugins.
Parameters:
properties - The properties with information about the samplers
Returns:
The Controllers value

getHashtable

public static Hashtable getHashtable(Properties properties,
                                     String name)
Creates a table of strings for all the properties that start with a common prefix.
Parameters:
properties - Description of Parameter
name - Description of Parameter
Returns:
The Hashtable value

getImage

public static ImageIcon getImage(String name)
This looks for the requested image in the classpath under org.apache.jmeter.images.
Parameters:
name - Description of Parameter
Returns:
The Image value

getImage

public static ImageIcon getImage(String name,
                                 String description)
This looks for the requested image in the classpath under org.apache.jmeter.images. , and also sets the description of the image, which is useful if the icon is going to be placed on the clipboard.
Parameters:
name - the name of the image
description - the description of the image
Returns:
The Image value

getJMeterBinDir

public static String getJMeterBinDir()
Get the JMeter bin directory - does not include the trailing separator.
Returns:
the bin directory

getJMeterCopyright

public static String getJMeterCopyright()
Gets the JMeter copyright.
Returns:
the JMeter copyright string

getJMeterHome

public static String getJMeterHome()
Get the JMeter home directory - does not include the trailing separator.
Returns:
the home directory

getJMeterProperties

public static Properties getJMeterProperties()
Returns:
The JMeterProperties value

getJMeterVersion

public static String getJMeterVersion()
Gets the JMeter Version.
Returns:
the JMeter version string

getLocalHostFullName

public static String getLocalHostFullName()
Returns the cached result from calling InetAddress.getLocalHost().getCanonicalHostName()
Returns:
local host name in canonical form

getLocalHostIP

public static String getLocalHostIP()
Returns the cached result from calling InetAddress.getLocalHost().getHostAddress()
Returns:
String representation of local IP address

getLocalHostName

public static String getLocalHostName()
Returns the cached result from calling InetAddress.getLocalHost().getHostName()
Returns:
local host name

getLocale

public static Locale getLocale()
Gets the current locale.
Returns:
current locale

getLocaleString

public static String getLocaleString(String locale)
Get the locale name as a resource. Does not log an error if the resource does not exist. This is needed to support additional locales, as they won't be in existing messages files.
Parameters:
locale - name
Returns:
the locale display name as defined in the current Locale or the original string if not present

getMatcher

public static Perl5Matcher getMatcher()
Gets Perl5Matcher for this thread.

getPattern

public static Pattern getPattern(String expression)
Get a compiled expression from the pattern cache (READ_ONLY).
Parameters:
expression -
Returns:
compiled pattern

getPattern

public static Pattern getPattern(String expression,
                                 int options)
Get a compiled expression from the pattern cache.
Parameters:
expression - RE
options - e.g. READ_ONLY_MASK
Returns:
compiled pattern

getPatternCache

public static PatternCacheLRU getPatternCache()

getPropDefault

public static String getPropDefault(String propName,
                                    String defaultVal)
Get a String value with default if not present.
Parameters:
propName - the name of the property.
defaultVal - the default value.
Returns:
The PropDefault value

getPropDefault

public static boolean getPropDefault(String propName,
                                     boolean defaultVal)
Get a boolean value with default if not present.
Parameters:
propName - the name of the property.
defaultVal - the default value.
Returns:
The PropDefault value

getPropDefault

public static int getPropDefault(String propName,
                                 int defaultVal)
Get a int value with default if not present.
Parameters:
propName - the name of the property.
defaultVal - the default value.
Returns:
The PropDefault value

getPropDefault

public static long getPropDefault(String propName,
                                  long defaultVal)
Get a long value with default if not present.
Parameters:
propName - the name of the property.
defaultVal - the default value.
Returns:
The PropDefault value

getProperties

public static Properties getProperties(String file)
This method is used by the init method to load the property file that may even reside in the user space, or in the classpath under org.apache.jmeter.jmeter.properties. The method also initialises logging and sets up the default Locale TODO - perhaps remove? [still used
Parameters:
file - the file to load
Returns:
the Properties from the file

getProperty

public static String getProperty(String propName)
Get the value of a JMeter property.
Parameters:
propName - the name of the property.
Returns:
the value of the JMeter property, or null if not defined

getRandomInt

public static int getRandomInt(int r)
Provide random numbers
Parameters:
r - - the upper bound (exclusive)

getResString

public static String getResString(String key)
Gets the resource string for this key. If the resource is not found, a warning is logged
Parameters:
key - the key in the resource file
Returns:
the resource string if the key is found; otherwise, return "[res_key="+key+"]"

getResString

public static String getResString(String key,
                                  String defaultValue)

Deprecated. Only intended for use in development; use getResString(String) normally

Gets the resource string for this key. If the resource is not found, a warning is logged
Parameters:
key - the key in the resource file
defaultValue - - the default value
Returns:
the resource string if the key is found; otherwise, return the default

getResourceFileAsText

public static String getResourceFileAsText(String name)

getSearchPaths

public static String[] getSearchPaths()

getTestSamples

public static String[] getTestSamples(Properties properties,
                                      String name)
Create a string of class names for a particular SamplerController
Parameters:
properties - The properties with info about the samples.
name - The name of the sampler controller.
Returns:
The TestSamples value

getTimers

public static Vector getTimers(Properties properties)
Creates the vector of Timers plugins.
Parameters:
properties - Description of Parameter
Returns:
The Timers value

getVector

public static Vector getVector(Properties properties,
                               String name)
Creates a vector of strings for all the properties that start with a common prefix.
Parameters:
properties - Description of Parameter
name - Description of Parameter
Returns:
The Vector value

getVisualizers

public static Vector getVisualizers(Properties properties)
Creates the vector of visualizer plugins.
Parameters:
properties - Description of Parameter
Returns:
The Visualizers value

getXMLParser

public static XMLReader getXMLParser()
Create an instance of an org.xml.sax.Parser based on the default props.
Returns:
The XMLParser value

initLocale

public static void initLocale()
Initialise the JMeter Locale

initLogging

public static void initLogging()
Initialise JMeter logging

initializeProperties

public void initializeProperties(String file)
Specified by:
initializeProperties in interface UnitTestManager

instantiate

public static Object instantiate(String className,
                                 String impls)
Instatiate an object and guarantee its class.
Parameters:
className - The name of the class to instantiate.
impls - The name of the class it subclases.
Returns:
Description of the Returned Value

instantiate

public static Vector instantiate(Vector v,
                                 String className)
Instantiate a vector of classes
Parameters:
v - Description of Parameter
className - Description of Parameter
Returns:
Description of the Returned Value

isExpertMode

public static boolean isExpertMode()
Determine whether we are in 'expert' mode. Certain features may be hidden from user's view unless in expert mode.
Returns:
true iif we're in expert mode

loadJMeterProperties

public static void loadJMeterProperties(String file)
Load the JMeter properties file; if not found, then default to "org/apache/jmeter/jmeter.properties" from the classpath c.f. loadProperties

loadProperties

public static Properties loadProperties(String file)
This method loads a property file that may reside in the user space, or in the classpath
Parameters:
file - the file to load
Returns:
the Properties from the file

removeLocaleChangeListener

public static void removeLocaleChangeListener(LocaleChangeListener listener)

reportErrorToUser

public static void reportErrorToUser(String errorMsg)
Report an error through a dialog box. Title defaults to "error_title" resource string
Parameters:
errorMsg - - the error message.

reportErrorToUser

public static void reportErrorToUser(String errorMsg,
                                     String titleMsg)
Report an error through a dialog box.
Parameters:
errorMsg - - the error message.
titleMsg - - title string

selJComboBoxItem

public static void selJComboBoxItem(Properties properties,
                                    JComboBox combo,
                                    Vector namVec,
                                    String name)
Sets the selection of the JComboBox to the Object 'name' from the list in namVec.

setJMeterHome

public static void setJMeterHome(String home)

setLocale

public static void setLocale(Locale loc)
Changes the current locale: re-reads resource strings and notifies listeners.
Parameters:
loc - - new locale

setProperty

public static Object setProperty(String propName,
                                 String propValue)
Set a String value
Parameters:
propName - the name of the property.
propValue - the value of the property
Returns:
the previous value of the property

tokenize

public static Vector tokenize(String string,
                              String separator)
Tokenize a string into a vector of tokens
Parameters:
string - Description of Parameter
separator - Description of Parameter
Returns:
Description of the Returned Value

unsplit

public static String unsplit(Object[] splittee,
                             Object splitChar)
Takes an array of strings and a tokenizer character, and returns a string of all the strings concatenated with the tokenizer string in between each one.
Parameters:
splittee - Array of Objects to be concatenated.
splitChar - Object to unsplit the strings with.
Returns:
Array of all the tokens.

unsplit

public static String unsplit(Object[] splittee,
                             Object splitChar,
                             String def)
Takes an array of strings and a tokenizer character, and returns a string of all the strings concatenated with the tokenizer string in between each one.
Parameters:
splittee - Array of Objects to be concatenated.
splitChar - Object to unsplit the strings with.
def - Default value to replace null values in array.
Returns:
Array of all the tokens.

Copyright © 1998-2010 Apache Software Foundation. All Rights Reserved.