Apache JMeter

org.apache.jmeter.util
Class JMeterUtils

java.lang.Object
  extended by org.apache.jmeter.util.JMeterUtils
All 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
           
 
Constructor Summary
JMeterUtils()
           
 
Method Summary
static void addLocaleChangeListener(LocaleChangeListener listener)
           
static void clearMatcherMemory(org.apache.oro.text.regex.Perl5Matcher matcher, org.apache.oro.text.regex.Pattern pattern)
          Hack to make matcher clean the two internal buffers it keeps in memory which size is equivalent to the unzipped page size
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 List<String> findClassesThatExtend(Class<?> superClass)
          Convenience method for ClassFinder.findClassesThatExtend(String[], Class[], boolean) with the option to include inner classes in the search set to false and the path list is derived from JMeterUtils.getSearchPaths().
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<String,String> getAlias(Properties properties)
          Creates the vector of alias strings.
static Vector<Object> getControllers(Properties properties)
          Creates a vector of SampleController plugins.
static Hashtable<String,String> getHashtable(Properties properties, String prefix)
          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 Locale getLocale()
          Gets the current locale.
static String getLocaleString(String locale)
          Get the locale name as a resource.
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 org.apache.oro.text.regex.Perl5Matcher getMatcher()
          Gets Perl5Matcher for this thread.
static String getParsedLabel(String key)
          To get I18N label from properties file
static org.apache.oro.text.regex.Pattern getPattern(String expression)
          Get a compiled expression from the pattern cache (READ_ONLY).
static org.apache.oro.text.regex.Pattern getPattern(String expression, int options)
          Get a compiled expression from the pattern cache.
static org.apache.oro.text.PatternCacheLRU getPatternCache()
           
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 String getPropDefault(String propName, String defaultVal)
          Get a String 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 getResourceFileAsText(String name)
           
static String getResString(String key)
          Gets the resource string for this key.
static String getResString(String key, Locale forcedLocale)
          Gets the resource string for this key in Locale.
static String getResString(String key, String defaultValue)
          Deprecated. Only intended for use in development; use getResString(String) normally
static String[] getSearchPaths()
          Generate a list of paths to search.
static String[] getTestSamples(Properties properties, String name)
          Create a string of class names for a particular SamplerController
static Vector<Object> getTimers(Properties properties)
          Creates the vector of Timers plugins.
static Vector<String> getVector(Properties properties, String name)
          Creates a vector of strings for all the properties that start with a common prefix.
static Vector<Object> 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 helpGC()
          Help GC by triggering GC and finalization
 void initializeProperties(String file)
          Your implementation will be handed the filename that was provided to AllTests as a configuration file.
static void initLocale()
          Initialise the JMeter Locale
static void initLogging()
          Initialise JMeter logging
static Object instantiate(String className, String impls)
          Instatiate an object and guarantee its class.
static Vector<Object> instantiate(Vector<String> 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 Properties loadProperties(String file, Properties defaultProps)
          This method loads a property file that may reside in the user space, or in the classpath
static LinkedHashMap<String,String> parseHeaders(String headers)
          Split line into name/value pairs and remove colon ':'
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 runSafe(Runnable runnable)
          Run the runnable in AWT Thread if current thread is not AWT thread otherwise runs call SwingUtilities.invokeAndWait(Runnable)
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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RES_KEY_PFX

public static final String RES_KEY_PFX
See Also:
Constant Field Values
Constructor Detail

JMeterUtils

public JMeterUtils()
Method Detail

getMatcher

public static org.apache.oro.text.regex.Perl5Matcher getMatcher()
Gets Perl5Matcher for this thread.


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
See Also:
getJMeterProperties(), loadJMeterProperties(String), initLogging(), initLocale()

initLogging

public static void initLogging()
Initialise JMeter logging


initLocale

public static void initLocale()
Initialise the JMeter Locale


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, may be null (e.g. file not found)

loadProperties

public static Properties loadProperties(String file,
                                        Properties defaultProps)
This method loads a property file that may reside in the user space, or in the classpath

Parameters:
file - the file to load
defaultProps - a set of default properties
Returns:
the Properties from the file; if it could not be processed, the defaultProps are returned.

getPatternCache

public static org.apache.oro.text.PatternCacheLRU getPatternCache()

getPattern

public static org.apache.oro.text.regex.Pattern getPattern(String expression)
                                                    throws org.apache.oro.text.MalformedCachePatternException
Get a compiled expression from the pattern cache (READ_ONLY).

Parameters:
expression -
Returns:
compiled pattern
Throws:
org.apache.oro.text.MalformedCachePatternException - (Runtime) This should be caught for expressions that may vary (e.g. user input)

getPattern

public static org.apache.oro.text.regex.Pattern getPattern(String expression,
                                                           int options)
                                                    throws org.apache.oro.text.MalformedCachePatternException
Get a compiled expression from the pattern cache.

Parameters:
expression - RE
options - e.g. READ_ONLY_MASK
Returns:
compiled pattern
Throws:
org.apache.oro.text.MalformedCachePatternException - (Runtime) This should be caught for expressions that may vary (e.g. user input)

initializeProperties

public void initializeProperties(String file)
Description copied from interface: UnitTestManager
Your implementation will be handed the filename that was provided to AllTests as a configuration file. It can hold whatever properties you need to configure your system prior to the unit tests running.

Specified by:
initializeProperties in interface UnitTestManager

findClassesThatExtend

public static List<String> findClassesThatExtend(Class<?> superClass)
                                          throws IOException
Convenience method for ClassFinder.findClassesThatExtend(String[], Class[], boolean) with the option to include inner classes in the search set to false and the path list is derived from JMeterUtils.getSearchPaths().

Parameters:
superClass - - single class to search for
Returns:
List of Strings containing discovered class names.
Throws:
IOException

getSearchPaths

public static String[] getSearchPaths()
Generate a list of paths to search. The output array always starts with JMETER_HOME/lib/ext and is followed by any paths obtained from the "search_paths" JMeter property.

Returns:
array of path strings

getRandomInt

public static int getRandomInt(int r)
Provide random numbers

Parameters:
r - - the upper bound (exclusive)

setLocale

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

Parameters:
loc - - new locale

getLocale

public static Locale getLocale()
Gets the current locale.

Returns:
current locale

addLocaleChangeListener

public static void addLocaleChangeListener(LocaleChangeListener listener)

removeLocaleChangeListener

public static void removeLocaleChangeListener(LocaleChangeListener listener)

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,
                                  Locale forcedLocale)
Gets the resource string for this key in Locale. If the resource is not found, a warning is logged

Parameters:
key - the key in the resource file
forcedLocale - Force a particular locale
Returns:
the resource string if the key is found; otherwise, return "[res_key="+key+"]"
Since:
2.7

getResString

@Deprecated
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

getParsedLabel

public static String getParsedLabel(String key)
To get I18N label from properties file

Parameters:
key - in messages.properties
Returns:
I18N label without (if exists) last colon ':' and spaces

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

getJMeterProperties

public static Properties getJMeterProperties()
This gets the currently defined appProperties. It can only be called after the getProperties(String) or loadJMeterProperties(String) method has been called.

Returns:
The JMeterProperties value, may be null if loadJMeterProperties(String) has not been called
See Also:
getProperties(String), loadJMeterProperties(String)

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

getResourceFileAsText

public static String getResourceFileAsText(String name)

getTimers

public static Vector<Object> getTimers(Properties properties)
Creates the vector of Timers plugins.

Parameters:
properties - Description of Parameter
Returns:
The Timers value

getVisualizers

public static Vector<Object> getVisualizers(Properties properties)
Creates the vector of visualizer plugins.

Parameters:
properties - Description of Parameter
Returns:
The Visualizers value

getControllers

public static Vector<Object> getControllers(Properties properties)
Creates a vector of SampleController plugins.

Parameters:
properties - The properties with information about the samplers
Returns:
The Controllers value

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

getXMLParser

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

Returns:
The XMLParser value

getAlias

public static Hashtable<String,String> getAlias(Properties properties)
Creates the vector of alias strings.

Parameters:
properties -
Returns:
The Alias value

getVector

public static Vector<String> 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

getHashtable

public static Hashtable<String,String> getHashtable(Properties properties,
                                                    String prefix)
Creates a table of strings for all the properties that start with a common prefix.

Parameters:
properties - input to search
prefix - to match against properties
Returns:
a Hashtable where the keys are the original keys with the prefix removed

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 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 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

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

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

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

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. NOTUSED?


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 must be an instance of
Returns:
an instance of the class, or null if instantiation failed or the class did not implement/extend as required

instantiate

public static Vector<Object> instantiate(Vector<String> v,
                                         String className)
Instantiate a vector of classes

Parameters:
v - Description of Parameter
className - Description of Parameter
Returns:
Description of the Returned Value

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

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

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.

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.

getJMeterHome

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

Returns:
the home directory

getJMeterBinDir

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

Returns:
the bin directory

setJMeterHome

public static void setJMeterHome(String home)

getJMeterVersion

public static String getJMeterVersion()
Gets the JMeter Version.

Returns:
the JMeter version string

getJMeterCopyright

public static String getJMeterCopyright()
Gets the JMeter copyright.

Returns:
the JMeter copyright string

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

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

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

getLocalHostFullName

public static String getLocalHostFullName()
Returns the cached result from calling InetAddress.getLocalHost().getCanonicalHostName()

Returns:
local host name in canonical form

parseHeaders

public static LinkedHashMap<String,String> parseHeaders(String headers)
Split line into name/value pairs and remove colon ':'

Parameters:
headers - multi-line string headers
Returns:
a map name/value for each header

runSafe

public static final void runSafe(Runnable runnable)
Run the runnable in AWT Thread if current thread is not AWT thread otherwise runs call SwingUtilities.invokeAndWait(Runnable)

Parameters:
runnable - Runnable

helpGC

public static final void helpGC()
Help GC by triggering GC and finalization


clearMatcherMemory

public static final void clearMatcherMemory(org.apache.oro.text.regex.Perl5Matcher matcher,
                                            org.apache.oro.text.regex.Pattern pattern)
Hack to make matcher clean the two internal buffers it keeps in memory which size is equivalent to the unzipped page size

Parameters:
matcher - Perl5Matcher
pattern - Pattern

Apache JMeter

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