cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/res StringManager.java

2001-06-08 Thread costin

costin  01/06/08 16:46:50

  Removed: src/share/org/apache/tomcat/util/res StringManager.java
  Log:
  Moved the util/res in j-t-c



cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/res StringManager.java

2001-03-23 Thread melaquias

melaquias01/03/23 13:55:55

  Modified:src/share/org/apache/tomcat/util/res StringManager.java
  Log:
  Changes getString(String key) to return null if the requested resource is not found. 
 This is consistent with general java container pattern usage and enables calling code 
to detect that the requested string was not found via a null check.
  
  Revision  ChangesPath
  1.2   +33 -15
jakarta-tomcat/src/share/org/apache/tomcat/util/res/StringManager.java
  
  Index: StringManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/res/StringManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringManager.java2001/02/20 03:12:46 1.1
  +++ StringManager.java2001/03/23 21:55:55 1.2
  @@ -1,4 +1,5 @@
   /*
  + * $Id: StringManager.java,v 1.2 2001/03/23 21:55:55 melaquias Exp $
* 
*
* The Apache Software License, Version 1.1
  @@ -81,8 +82,12 @@
* pPlease see the documentation for java.util.ResourceBundle for
* more information.
*
  + * @version $Revision: 1.2 $ $Date: 2001/03/23 21:55:55 $
  + *
* @author James Duncan Davidson [[EMAIL PROTECTED]]
* @author James Todd [[EMAIL PROTECTED]]
  + * @author Mel Martinez [[EMAIL PROTECTED]]
  + * @see java.util.ResourceBundle
*/
   
   public class StringManager {
  @@ -114,32 +119,45 @@
   private StringManager(String packageName,Locale loc) {
   String bundleName = packageName + ".LocalStrings";
   try {
  - bundle = ResourceBundle.getBundle(bundleName,loc);
  - } catch( MissingResourceException ex ) {
  - bundle= ResourceBundle.getBundle( bundleName, Locale.US);
  - }
  +bundle = ResourceBundle.getBundle(bundleName,loc);
  +} catch( MissingResourceException ex ) {
  +bundle= ResourceBundle.getBundle( bundleName, Locale.US);
  +}
   }
   
   /**
  - * Get a string from the underlying resource bundle.
  - *
  - * @param key
  +Get a string from the underlying resource bundle or return
  +null if the String is not found.
  + 
  +@param key to desired resource String
  +@return resource String matching ikey/i from underlying
  +bundle or null if not found.
  +@throws IllegalArgumentException if ikey/i is null.
*/
   
   public String getString(String key) {
  -if (key == null) {
  -String msg = "key is null";
  +if(key == null){
  +String msg = "key may not have a null value";
   
  -throw new NullPointerException(msg);
  +throw new IllegalArgumentException(msg);
   }
   
   String str = null;
   
  -try {
  - str = bundle.getString(key);
  -} catch (MissingResourceException mre) {
  -str = "[cannot find message associated with key '" + key + "' due to " 
+ mre + "]";
  - // mre. print Stack Trace();
  +try{
  + str = bundle.getString(key);
  +}catch(MissingResourceException mre){
  +//bad: shouldn't mask an exception the following way:
  +//   str = "[cannot find message associated with key '" + key + "' due 
to " + mre + "]";
  + // because it hides the fact that the String was missing
  + // from the calling code.
  + //good: could just throw the exception (or wrap it in another)
  + //  but that would probably cause much havoc on existing
  + //  code.
  + //better: consistent with container pattern to
  + //  simply return null.  Calling code can then do
  + //  a null check.
  + str = null;
   }
   
   return str;
  
  
  



cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/res StringManager.java

2001-03-23 Thread melaquias

melaquias01/03/23 14:51:13

  Modified:src/share/org/apache/tomcat/util/res StringManager.java
  Log:
  Fix bug in getString() that throws nullpointerexception if args==null.
  
  Revision  ChangesPath
  1.3   +28 -23
jakarta-tomcat/src/share/org/apache/tomcat/util/res/StringManager.java
  
  Index: StringManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/res/StringManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StringManager.java2001/03/23 21:55:55 1.2
  +++ StringManager.java2001/03/23 22:51:13 1.3
  @@ -1,5 +1,5 @@
   /*
  - * $Id: StringManager.java,v 1.2 2001/03/23 21:55:55 melaquias Exp $
  + * $Id: StringManager.java,v 1.3 2001/03/23 22:51:13 melaquias Exp $
* 
*
* The Apache Software License, Version 1.1
  @@ -82,7 +82,7 @@
* pPlease see the documentation for java.util.ResourceBundle for
* more information.
*
  - * @version $Revision: 1.2 $ $Date: 2001/03/23 21:55:55 $
  + * @version $Revision: 1.3 $ $Date: 2001/03/23 22:51:13 $
*
* @author James Duncan Davidson [[EMAIL PROTECTED]]
* @author James Todd [[EMAIL PROTECTED]]
  @@ -172,33 +172,38 @@
*/
   
   public String getString(String key, Object[] args) {
  -   String iString = null;
  +String iString = null;
   String value = getString(key);
   
  - // this check for the runtime exception is some pre 1.1.6
  - // VM's don't do an automatic toString() on the passed in
  - // objects and barf out
  +// this check for the runtime exception is some pre 1.1.6
  +// VM's don't do an automatic toString() on the passed in
  +// objects and barf out
   
  - try {
  +try {
   // ensure the arguments are not null so pre 1.2 VM's don't barf
  -Object nonNullArgs[] = args;
  +if(args==null){
  +args = new Object[1];
  +}
  +
  +Object[] nonNullArgs = args;
   for (int i=0; iargs.length; i++) {
  - if (args[i] == null) {
  - if (nonNullArgs==args) nonNullArgs=(Object[])args.clone();
  - nonNullArgs[i] = "null";
  - }
  - }
  -
  +if (args[i] == null) {
  +if (nonNullArgs==args){
  +nonNullArgs=(Object[])args.clone();
  +}
  +nonNullArgs[i] = "null";
  +}
  +}
   iString = MessageFormat.format(value, nonNullArgs);
  - } catch (IllegalArgumentException iae) {
  - StringBuffer buf = new StringBuffer();
  - buf.append(value);
  - for (int i = 0; i  args.length; i++) {
  - buf.append(" arg[" + i + "]=" + args[i]);
  - }
  - iString = buf.toString();
  - }
  - return iString;
  +} catch (IllegalArgumentException iae) {
  +StringBuffer buf = new StringBuffer();
  +buf.append(value);
  +for (int i = 0; i  args.length; i++) {
  +buf.append(" arg[" + i + "]=" + args[i]);
  +}
  +iString = buf.toString();
  +}
  +return iString;
   }
   
   /**
  
  
  



cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/res StringManager.java

2001-02-19 Thread costin

costin  01/02/19 19:12:46

  Added:   src/share/org/apache/tomcat/util/res StringManager.java
  Log:
  Package move
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/src/share/org/apache/tomcat/util/res/StringManager.java
  
  Index: StringManager.java
  ===
  /*
   * 
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 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 acknowlegement:  
   *   "This product includes software developed by the
   *Apache Software Foundation (http://www.apache.org/)."
   *Alternately, this acknowlegement may appear in the software itself,
   *if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *Foundation" 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"
   *nor may "Apache" appear in their names without prior written
   *permission of the Apache Group.
   *
   * 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/.
   *
   * [Additional notices, if required by prior licensing conditions]
   *
   */ 
  
  package org.apache.tomcat.util.res;
  
  import java.text.MessageFormat;
  import java.util.*;
  
  /**
   * An internationalization / localization helper class which reduces
   * the bother of handling ResourceBundles and takes care of the
   * common cases of message formating which otherwise require the
   * creation of Object arrays and such.
   *
   * pThe StringManager operates on a package basis. One StringManager
   * per package can be created and accessed via the getManager method
   * call.
   *
   * pThe StringManager will look for a ResourceBundle named by
   * the package name given plus the suffix of "LocalStrings". In
   * practice, this means that the localized information will be contained
   * in a LocalStrings.properties file located in the package
   * directory of the classpath.
   *
   * pPlease see the documentation for java.util.ResourceBundle for
   * more information.
   *
   * @author James Duncan Davidson [[EMAIL PROTECTED]]
   * @author James Todd [[EMAIL PROTECTED]]
   */
  
  public class StringManager {
  
  /**
   * The ResourceBundle for this StringManager.
   */
  
  private ResourceBundle bundle;
  
  /**
   * Creates a new StringManager for a given package. This is a
   * private method and all access to it is arbitrated by the
   * static getManager method call so that only one StringManager
   * per package will be created.
   *
   * @param packageName Name of package to create StringManager for.
   */
  
  private StringManager(String packageName) {
  String bundleName = packageName + ".LocalStrings";
  try {
bundle = ResourceBundle.getBundle(bundleName);
} catch( MissingResourceException ex ) {
bundle= ResourceBundle.getBundle(