jsalvata    2002/12/29 21:08:29

  Modified:    .        build.xml
               bin      jmeter.properties
               src/core/org/apache/jmeter/gui/action ChangeLanguage.java
               src/core/org/apache/jmeter/gui/util JMeterMenuBar.java
               src/core/org/apache/jmeter/junit JMeterTest.java
               src/core/org/apache/jmeter/resources messages.properties
                        messages_de.properties messages_ja.properties
                        messages_no.properties
               src/core/org/apache/jmeter/util JMeterUtils.java
  Added:       src/core/org/apache/jmeter/util LocaleChangeEvent.java
                        LocaleChangeListener.java
  Log:
  Improve locale choosing functionality.
  
  Revision  Changes    Path
  1.77      +4 -15     jakarta-jmeter/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/build.xml,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- build.xml 29 Dec 2002 17:01:46 -0000      1.76
  +++ build.xml 30 Dec 2002 05:08:28 -0000      1.77
  @@ -72,7 +72,9 @@
       <available classname="javax.mail.Transport" property="javamail.present">
         <classpath refid="classpath"/>
       </available>
  -    <available classname="javax.activation.DataHandler" 
property="javamail.complete"/>
  +    <available classname="javax.activation.DataHandler" 
property="javamail.complete">
  +      <classpath refid="classpath"/>
  +    </available>
       <available classname="iaik.protocol.https.Handler" property="isasilk.present">
         <classpath refid="classpath"/>
       </available>
  @@ -107,20 +109,6 @@
       </echo>
     </target>
   
  -  <!--
  -  <target name="copy-data">
  -    <copy toDir="${build.core}/org/apache/jmeter/images">
  -      <fileset dir="${src.core}/org/apache/jmeter/images"/>
  -    </copy>
  -    <copy toDir="${build.core}/org/apache/jmeter/resources">
  -      <fileset dir="${src.core}/org/apache/jmeter/resources">
  -        <exclude name="*eucJP*"/>
  -      </fileset>
  -    </copy>
  -    <copy toFile="${build.core}/org/apache/jmeter/help.txt" 
file="${src.core}/org/apache/jmeter/help.txt"/>
  -  </target>
  -  -->
  -
     <target name="compile-core" depends="compile-jorphan" description="Compile JMeter 
core classes.">
       <mkdir dir="${build.core}"/>
       <replaceregexp file="${src.core}/org/apache/jmeter/util/JMeterUtils.java"
  @@ -288,6 +276,7 @@
       <exclude name="lib/ext/"/>
       <exclude name="${build.dir}/"/>
       <exclude name="${docs.api.dest.dir}"/>
  +    <exclude name="**/CVS/**"/>
     </patternset>
   
     <patternset id="dist.binaries">
  
  
  
  1.50      +4 -1      jakarta-jmeter/bin/jmeter.properties
  
  Index: jmeter.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- jmeter.properties 17 Oct 2002 19:47:14 -0000      1.49
  +++ jmeter.properties 30 Dec 2002 05:08:28 -0000      1.50
  @@ -1,6 +1,9 @@
   ################################################################################
   # Apache JMeter Property file
   ################################################################################
  +#Preferred GUI language. Comment out to use the JVM default locale's language.
  +#language=de
  +
   #Paths to search for classes (";" must be the separator)
   search_paths=lib/ext
   
  @@ -78,4 +81,4 @@
   log_level.jorphan=ERROR
   
   #Log file for log messages.
  -log_file=jmeter.log
  \ No newline at end of file
  +log_file=jmeter.log
  
  
  
  1.5       +57 -2     
jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ChangeLanguage.java
  
  Index: ChangeLanguage.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ChangeLanguage.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ChangeLanguage.java       17 Oct 2002 19:47:16 -0000      1.4
  +++ ChangeLanguage.java       30 Dec 2002 05:08:28 -0000      1.5
  @@ -1,3 +1,58 @@
  +/*
  + * ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2002 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + * notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + * notice, this list of conditions and the following disclaimer in
  + * the documentation and/or other materials provided with the
  + * distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + * if any, must include the following acknowledgment:
  + * "This product includes software developed by the
  + * Apache Software Foundation (http://www.apache.org/)."
  + * Alternately, this acknowledgment may appear in the software itself,
  + * if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache" and "Apache Software Foundation" and
  + * "Apache JMeter" must not be used to endorse or promote products
  + * derived from this software without prior written permission. For
  + * written permission, please contact [EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + * "Apache JMeter", nor may "Apache" appear in their name, without
  + * prior written permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
  +
   package org.apache.jmeter.gui.action;
   import java.awt.Component;
   import java.awt.event.ActionEvent;
  @@ -29,9 +84,9 @@
         */
        public void doAction(ActionEvent e)
        {
  -             Locale loc = new Locale(((Component)e.getSource()).getName(),"");
  +             Locale loc =new Locale(((Component)e.getSource()).getName(),"");
                log.debug("Changing language to "+loc.getLanguage());
  -             JMeterUtils.reinitializeLocale(loc);
  +             JMeterUtils.setLocale(loc);
        }
        /**
         * @see org.apache.jmeter.gui.action.Command#getActionNames()
  
  
  
  1.8       +49 -6     
jakarta-jmeter/src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java
  
  Index: JMeterMenuBar.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JMeterMenuBar.java        27 Dec 2002 15:51:17 -0000      1.7
  +++ JMeterMenuBar.java        30 Dec 2002 05:08:28 -0000      1.8
  @@ -60,6 +60,7 @@
   import java.util.LinkedList;
   
   import javax.swing.JMenu;
  +import javax.swing.MenuElement;
   import javax.swing.JMenuBar;
   import javax.swing.JMenuItem;
   import javax.swing.JPopupMenu;
  @@ -69,6 +70,8 @@
   import org.apache.jmeter.gui.action.ActionRouter;
   import org.apache.jmeter.gui.action.ChangeLanguage;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jmeter.util.LocaleChangeEvent;
  +import org.apache.jmeter.util.LocaleChangeListener;
   import org.apache.jmeter.util.SSLManager;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  @@ -82,7 +85,7 @@
    *@created   $Date$
    *@version   1.0
    ***************************************/
  -public class JMeterMenuBar extends JMenuBar
  +public class JMeterMenuBar extends JMenuBar implements LocaleChangeListener
   {
        transient private static Logger log =
                Hierarchy.getDefaultHierarchy().getLoggerFor("jmeter.gui");
  @@ -324,25 +327,25 @@
                JMenu languageMenu = new 
JMenu(JMeterUtils.getResString("choose_language"));
                languageMenu.setMnemonic('C');
                //add english
  -             JMenuItem english = new 
JMenuItem(JMeterUtils.getResString("english"),'E');
  +             JMenuItem english = new JMenuItem(JMeterUtils.getResString("en"),'E');
                english.addActionListener(ActionRouter.getInstance());
                english.setActionCommand(ChangeLanguage.CHANGE_LANGUAGE);
                english.setName("en");
                languageMenu.add(english);
                //add Japanese
  -             JMenuItem japanese = new 
JMenuItem(JMeterUtils.getResString("japanese"),'J');
  +             JMenuItem japanese = new JMenuItem(JMeterUtils.getResString("jp"),'J');
                japanese.addActionListener(ActionRouter.getInstance());
                japanese.setActionCommand(ChangeLanguage.CHANGE_LANGUAGE);
                japanese.setName("ja");
                languageMenu.add(japanese);
                //add Norwegian
  -             JMenuItem norway = new 
JMenuItem(JMeterUtils.getResString("norwegian"),'N');
  +             JMenuItem norway = new JMenuItem(JMeterUtils.getResString("no"),'N');
                norway.addActionListener(ActionRouter.getInstance());
                norway.setActionCommand(ChangeLanguage.CHANGE_LANGUAGE);
                norway.setName("no");
                languageMenu.add(norway);
                //add German
  -             JMenuItem german = new 
JMenuItem(JMeterUtils.getResString("german"),'G');
  +             JMenuItem german = new JMenuItem(JMeterUtils.getResString("de"),'G');
                german.addActionListener(ActionRouter.getInstance());
                german.setActionCommand(ChangeLanguage.CHANGE_LANGUAGE);
                german.setName("de");
  @@ -496,4 +499,44 @@
                        }
                }
        }
  +
  +     /**
  +      * Processes a locale change notification. Changes the texts in all
  +      * menus to the new language.
  +      */
  +        public void localeChanged(LocaleChangeEvent event) {
  +            updateMenuElement(fileMenu);
  +            updateMenuElement(editMenu);
  +            updateMenuElement(runMenu);
  +            updateMenuElement(optionsMenu);
  +            updateMenuElement(helpMenu);
  +        }
  +   
  +   
  +     /**
  +      * Refreshes all texts in the menu and all submenus to a new locale.
  +      */
  +        private void updateMenuElement(MenuElement menu)
  +     {
  +            Component component = menu.getComponent();
  +   
  +            if (component.getName() != null)
  +         {
  +                if (component instanceof JMenu)
  +             {
  +                    
((JMenu)component).setText(JMeterUtils.getResString(component.getName()));
  +                }
  +             else
  +             {
  +                    
((JMenuItem)component).setText(JMeterUtils.getResString(component.getName()));
  +                }
  +            }
  +   
  +            MenuElement[] subelements = menu.getSubElements();
  +   
  +            for (int i = 0; i < subelements.length; i++)
  +         {
  +                updateMenuElement(subelements[i]);
  +            }
  +        }
   }
  
  
  
  1.5       +16 -5     jakarta-jmeter/src/core/org/apache/jmeter/junit/JMeterTest.java
  
  Index: JMeterTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/junit/JMeterTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JMeterTest.java   17 Oct 2002 19:47:17 -0000      1.4
  +++ JMeterTest.java   30 Dec 2002 05:08:28 -0000      1.5
  @@ -144,14 +144,25 @@
                List objects = new LinkedList();
                while(classes.hasNext())
                {
  -                     String className = (String)classes.next();
  +                 Class c= Class.forName((String)classes.next());
  +                 try
  +                 {
                        try
                        {
  -                             objects.add(Class.forName(className).newInstance());
  +                         objects.add(c.newInstance());
                        }
  -                     catch (IllegalAccessException e)
  +                     catch (InstantiationException e)
                        {
  +                         objects.add(c.getConstructor(
  +                               new Class[] {Object.class}).newInstance(
  +                                   new Object[] {this} ));
                        }
  +                 }
  +                 catch (IllegalAccessException e)
  +                 {
  +                   // We won't test serialization of restricted-access
  +                   // classes.
  +                 }
                }
                return objects;
        }
  
  
  
  1.20      +4 -4      
jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- messages.properties       28 Dec 2002 01:50:02 -0000      1.19
  +++ messages.properties       30 Dec 2002 05:08:28 -0000      1.20
  @@ -294,10 +294,10 @@
   disable=Disable
   ignore_subcontrollers=Ignore sub-controller blocks
   choose_language=Choose Language
  -english=English
  -japanese=Japanese
  -german=German
  -norwegian=Norwegian
  +en=English
  +ja=Japanese
  +de=German
  +no=Norwegian
   record_controller_title=Recording Controller
   counter_config_title=Counter
   var_name=Reference Name
  
  
  
  1.18      +4 -4      
jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_de.properties
  
  Index: messages_de.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_de.properties,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- messages_de.properties    11 Dec 2002 16:07:08 -0000      1.17
  +++ messages_de.properties    30 Dec 2002 05:08:28 -0000      1.18
  @@ -291,10 +291,10 @@
   disable=Deaktivieren
   ignore_subcontrollers=Ignoriere Sub-Controller Bl�cke
   choose_language=Sprache w�hlen
  -english=English
  -japanese=Japanese
  -german=Deutsch
  -norwegian=Norwegian
  +en=English
  +ja=Japanese
  +de=Deutsch
  +no=Norwegian
   record_controller_title=Recording Controller
   counter_config_title=Counter
   var_name=Reference Name
  
  
  
  1.15      +4 -4      
jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_ja.properties,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- messages_ja.properties    11 Dec 2002 16:07:08 -0000      1.14
  +++ messages_ja.properties    30 Dec 2002 05:08:28 -0000      1.15
  @@ -286,10 +286,10 @@
   disable=Disable
   ignore_subcontrollers=Ignore sub-controller blocks
   choose_language=Choose Language
  -english=English
  -japanese=Japanese
  -german=German
  -norwegian=Norwegian
  +en=English
  +ja=Japanese
  +de=German
  +no=Norwegian
   record_controller_title=Recording Controller
   counter_config_title=Counter
   var_name=Reference Name
  
  
  
  1.15      +4 -4      
jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_no.properties
  
  Index: messages_no.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages_no.properties,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- messages_no.properties    11 Dec 2002 16:07:08 -0000      1.14
  +++ messages_no.properties    30 Dec 2002 05:08:28 -0000      1.15
  @@ -278,10 +278,10 @@
   disable=Disable
   ignore_subcontrollers=Ignore sub-controller blocks
   choose_language=Choose Language
  -english=English
  -japanese=Japanese
  -german=German
  -norwegian=Norwegian
  +en=English
  +ja=Japanese
  +de=German
  +no=Norwegian
   record_controller_title=Recording Controller
   counter_config_title=Counter
   var_name=Reference Name
  
  
  
  1.13      +73 -7     jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterUtils.java
  
  Index: JMeterUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterUtils.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JMeterUtils.java  29 Dec 2002 18:05:19 -0000      1.12
  +++ JMeterUtils.java  30 Dec 2002 05:08:29 -0000      1.13
  @@ -68,6 +68,9 @@
   import java.util.ResourceBundle;
   import java.util.StringTokenizer;
   import java.util.Vector;
  +import java.util.HashSet;
  +import java.util.Collection;
  +import java.util.Iterator;
   import javax.swing.ImageIcon;
   import javax.swing.JButton;
   import javax.swing.JComboBox;
  @@ -110,8 +113,10 @@
                xmlFactory = temp;
        }
        private static Properties appProperties;
  -     public static ResourceBundle RESOURCES =
  -             ResourceBundle.getBundle("org.apache.jmeter.resources.messages");
  +     private static Collection localeChangeListeners = new HashSet();
  +     private static Locale locale;
  +     private static ResourceBundle resources;
  +
        /**
         *  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
  @@ -144,6 +149,9 @@
                appProperties = p;
                LoggingManager.initializeLogging(appProperties);
                log = LoggingManager.getLoggerFor(UTIL);
  +             String loc= appProperties.getProperty("language");
  +             if (loc!=null) setLocale(new Locale(loc, ""));
  +             else setLocale(Locale.getDefault());
                return p;
        }
        public void initializeProperties(String file)
  @@ -159,11 +167,69 @@
        {
                return new String[] { getJMeterHome() + "/lib/ext" };
        }
  -     public static void reinitializeLocale(Locale loc)
  +
  +     /**
  +      * Changes the current locale: re-reads resource strings and notifies
  +      * listeners.
  +      *
  +      * @author Oliver Rossmueller
  +      * @param locale new locale
  +      */
  +     public static void setLocale(Locale loc)
        {
  -             RESOURCES =
  -                     
ResourceBundle.getBundle("org.apache.jmeter.resources.messages", loc);
  +         locale= loc;
  +         resources = ResourceBundle.getBundle(
  +                 "org.apache.jmeter.resources.messages", locale);
  +         notifyLocaleChangeListeners();
        }
  +
  +     /**
  +      * Gets the current locale.
  +      *
  +      * @author Oliver Rossmueller
  +      * @return current locale
  +      */
  +     public static Locale getLocale()
  +     {
  +         return locale;
  +     }
  +
  +     /**
  +      * @author Oliver Rossmueller
  +      */
  +     public static void addLocaleChangeListener(
  +             LocaleChangeListener listener)
  +     {
  +         localeChangeListeners.add(listener);
  +     }
  +
  +     /**
  +      * @author Oliver Rossmueller
  +      */
  +     public static void removeLocaleChangeListener(
  +             LocaleChangeListener listener)
  +     {
  +         localeChangeListeners.remove(listener);
  +     }
  +
  +     /**
  +      * Notify all listeners interested in locale changes.
  +      *
  +      * @author Oliver Rossmueller
  +      */
  +     private static void notifyLocaleChangeListeners()
  +     {
  +         LocaleChangeEvent event =
  +             new LocaleChangeEvent(JMeterUtils.class, locale);
  +         Iterator iterator = localeChangeListeners.iterator();
  +
  +         while (iterator.hasNext()) {
  +             LocaleChangeListener listener =
  +                     (LocaleChangeListener)iterator.next();
  +             listener.localeChanged(event);
  +         }
  +     }
  +
        /**
         *  Gets the resource string for this key.
         *  @param key the key in the resource file
  @@ -180,7 +246,7 @@
                String resString = null;
                try
                {
  -                     resString = RESOURCES.getString(key);
  +                     resString = resources.getString(key);
                }
                catch (MissingResourceException mre)
                {
  
  
  
  1.1                  
jakarta-jmeter/src/core/org/apache/jmeter/util/LocaleChangeEvent.java
  
  Index: LocaleChangeEvent.java
  ===================================================================
  /*
   * ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   * notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   * notice, this list of conditions and the following disclaimer in
   * the documentation and/or other materials provided with the
   * distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   * if any, must include the following acknowledgment:
   * "This product includes software developed by the
   * Apache Software Foundation (http://www.apache.org/)."
   * Alternately, this acknowledgment may appear in the software itself,
   * if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   * "Apache JMeter" must not be used to endorse or promote products
   * derived from this software without prior written permission. For
   * written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   * "Apache JMeter", nor may "Apache" appear in their name, without
   * prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jmeter.util;
  
  
  import java.util.*;
  
  
  /**
   * @author Oliver Rossmueller <[EMAIL PROTECTED]>
   */
  public class LocaleChangeEvent extends EventObject {
  
      private Locale locale;
      
  
      public LocaleChangeEvent(Object source)
      {
          super(source);
      }
  
  
      public LocaleChangeEvent(Object source, Locale locale)
      {
          super(source);
          this.locale = locale;
      }
  
  
      public Locale getLocale()
      {
          return locale;
      }
  }
  
  
  
  1.1                  
jakarta-jmeter/src/core/org/apache/jmeter/util/LocaleChangeListener.java
  
  Index: LocaleChangeListener.java
  ===================================================================
  /*
   * ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   * notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   * notice, this list of conditions and the following disclaimer in
   * the documentation and/or other materials provided with the
   * distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   * if any, must include the following acknowledgment:
   * "This product includes software developed by the
   * Apache Software Foundation (http://www.apache.org/)."
   * Alternately, this acknowledgment may appear in the software itself,
   * if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   * "Apache JMeter" must not be used to endorse or promote products
   * derived from this software without prior written permission. For
   * written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   * "Apache JMeter", nor may "Apache" appear in their name, without
   * prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jmeter.util;
  
  
  import org.apache.jmeter.util.LocaleChangeEvent;
  
  
  /**
   * @author Oliver Rossmueller <[EMAIL PROTECTED]>
   */
  public interface LocaleChangeListener {
  
      public void localeChanged(LocaleChangeEvent event);
  
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to