You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2003/04/05 06:10:34 UTC

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

costin      2003/04/04 20:10:34

  Modified:    catalina/src/share/org/apache/catalina/util
                        StringManager.java
  Log:
  Ok, classloader problems still happen - and it's better to get some meaningfull
  messages ( the URLs ), and be able to debug the rest of the app. Otherwise  - you
  just get a stack trace.
  
  I think we should also switch to the StringManager in util, it has few more tricks.
  ResourceBundle is a very tricky class wrt class loaders
  
  Revision  Changes    Path
  1.2       +19 -4     jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/StringManager.java
  
  Index: StringManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/StringManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringManager.java	18 Jul 2002 16:47:43 -0000	1.1
  +++ StringManager.java	5 Apr 2003 04:10:34 -0000	1.2
  @@ -69,6 +69,7 @@
   import java.util.Locale;
   import java.util.MissingResourceException;
   import java.util.ResourceBundle;
  +import java.net.URLClassLoader;
   
   /**
    * An internationalization / localization helper class which reduces
  @@ -112,7 +113,18 @@
   
       private StringManager(String packageName) {
           String bundleName = packageName + ".LocalStrings";
  -        bundle = ResourceBundle.getBundle(bundleName);
  +        try {
  +            bundle = ResourceBundle.getBundle(bundleName);
  +            return;
  +        } catch( MissingResourceException ex ) {
  +            ClassLoader cl=this.getClass().getClassLoader();
  +
  +            System.out.println("Can't find resource " + bundleName +
  +                    " " + cl);
  +            if( cl instanceof URLClassLoader ) {
  +                System.out.println( ((URLClassLoader)cl).getURLs());
  +            }
  +        }
       }
   
       /**
  @@ -130,6 +142,8 @@
   
           String str = null;
   
  +        if( bundle==null )
  +            return key;
           try {
               str = bundle.getString(key);
           } catch (MissingResourceException mre) {
  @@ -256,6 +270,7 @@
   
       public synchronized static StringManager getManager(String packageName) {
           StringManager mgr = (StringManager)managers.get(packageName);
  +
           if (mgr == null) {
               mgr = new StringManager(packageName);
               managers.put(packageName, mgr);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org