Apache JMeter

## org.apache.jmeter.util
Class JMeterUtils

    java.lang.Object
      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 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, 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.
`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 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` `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<String>` `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.

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

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

### getPatternCache

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

### getPattern

    public static org.apache.oro.text.regex.Pattern getPattern(String expression)

  Get a compiled expression from the pattern cache (READ_ONLY).

  Parameters:
    `expression` -
  Returns:
    compiled pattern
  Throws:
    `org.apache.oro.text.regex.MalformedPatternException` - (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)

  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.regex.MalformedPatternException` - (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

    @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)` method is called.

  Returns:
    The JMeterProperties value

### getImage

    public static ImageIcon getImage(String name)

  This looks for the requested image in the classpath under org.apache.jmeter.images. <name>

  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. <name>, 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 subclases.
  Returns:
    Description of the Returned Value

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

### tokenize

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

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

Apache JMeter

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