cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jo...@apache.org
Subject svn commit: r149060 - /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java
Date Sat, 29 Jan 2005 19:08:19 GMT
Author: joerg
Date: Sat Jan 29 11:08:18 2005
New Revision: 149060

URL: http://svn.apache.org/viewcvs?view=rev&rev=149060
Log:
made the logic for bundle selection more obvious
Modified:
   cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java
Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java?view=diff&rev=149060&p1=cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java&r1=149059&p2=cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java&r2=149060
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java
Sat Jan 29 11:08:18 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2004 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -54,7 +54,7 @@
        implements BundleFactory, Serviceable, Configurable, Disposable, ThreadSafe, LogEnabled
{
 
     protected Map cache = Collections.synchronizedMap(new HashMap());
-    
+
     /**
      * Should we load bundles to cache on startup or not?
      */
@@ -79,7 +79,7 @@
      * Service Manager
      */
     protected ServiceManager manager = null;
-    
+
     /**
      * Source resolver
      */
@@ -255,33 +255,27 @@
             synchronized (this) {
                 bundle = selectCached(fileName);
                 if (bundle == null) {
+                    boolean localeAvailable = (locale != null && !locale.getLanguage().equals(""));
+                    index++;
                     XMLResourceBundle parentBundle = null;
-                    if (locale != null && !locale.getLanguage().equals("")) {
-                        if (++index == directories.length)
-                        {
-                            parentBundle = _select(directories, 0, name, getParentLocale(locale));
-                        }
-                        else
-                        {
-                            parentBundle = _select(directories, index, name, locale);
-                        }
-                    } else if (++index < directories.length) {
+                    if (localeAvailable && index == directories.length) {
+                        // all directories have been searched with this locale,
+                        // now start again with the first directory and the parent locale
+                        parentBundle = _select(directories, 0, name, getParentLocale(locale));
+                    } else if (index < directories.length) {
+                        // there are directories left to search for with this locale
                         parentBundle = _select(directories, index, name, locale);
                     }
-
                     if (!isNotFoundBundle(fileName)) {
                         bundle = _loadBundle(name, fileName, locale, parentBundle);
-
                         updateCache(fileName, bundle);
                     }
-
                     if (bundle == null) {
                         return parentBundle;
                     }
                 }
             }
         }
-
         return bundle;
     }
 
@@ -372,7 +366,7 @@
                 throw new CascadingRuntimeException("Cannot resolve " + base, ioe);
             }
         }
-        
+
         sb.append(name);
 
         if (locale != null) {

Mime
View raw message