svn commit: r1733441 - in /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n: XMLResourceBundle.java XMLResourceBundleFactory.java

[email protected]
Newsgroups gmane.text.xml.cocoon.cvs
Message-ID <[email protected]>
Author: cdamioli
Date: Thu Mar  3 10:56:24 2016
New Revision: 1733441

URL: http://svn.apache.org/viewvc?rev=1733441&view=rev
Log:
COCOON-2349 XMLResourceBundles are not available outside a Request

Modified:
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundle.java
    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/XMLResourceBundle.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundle.java?rev=1733441&r1=1733440&r2=1733441&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundle.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundle.java Thu Mar  3 10:56:24 2016
@@ -17,6 +17,7 @@
 package org.apache.cocoon.i18n;
 
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceNotFoundException;
 import org.apache.excalibur.source.SourceResolver;
@@ -254,6 +255,16 @@ public class XMLResourceBundle extends A
      * @return true if reloaded successfully
      */
     protected boolean reload(SourceResolver resolver, long interval) {
+        return reload(null, resolver, interval);
+    }
+        
+        
+    /**
+     * (Re)Loads the XML bundle if necessary, based on the source URI.
+     * @return true if reloaded successfully
+     */
+    protected boolean reload(ServiceManager manager, SourceResolver resolver, long interval) {
+
         Source newSource = null;
         Map newValues;
 
@@ -266,7 +277,11 @@ public class XMLResourceBundle extends A
 
                 if (valid == SourceValidity.INVALID || this.validity.isValid(newValidity) != SourceValidity.VALID) {
                     newValues = new HashMap();
-                    SourceUtil.toSAX(newSource, new SAXContentHandler(newValues));
+                    if (manager != null) {
+                        SourceUtil.toSAX(manager, newSource, null, new SAXContentHandler(newValues));
+                    } else {
+                        SourceUtil.toSAX(newSource, null, new SAXContentHandler(newValues));
+                    }
                     synchronized (this) {
                         // Update source validity and values
                         if (interval > 0 && newValidity != null) {

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/i18n/XMLResourceBundleFactory.java?rev=1733441&r1=1733440&r2=1733441&view=diff
==============================================================================
--- 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 Thu Mar  3 10:56:24 2016
@@ -286,7 +286,7 @@ public class XMLResourceBundleFactory ex
 
         XMLResourceBundle bundle = new XMLResourceBundle(sourceURI, locale, parent);
         bundle.enableLogging(getLogger());
-        bundle.reload(this.resolver, this.interval);
+        bundle.reload(this.manager, this.resolver, this.interval);
         return bundle;
     }
 
@@ -411,7 +411,7 @@ public class XMLResourceBundleFactory ex
         if (bundle != null && this.interval != -1) {
             // Reload this bundle and all parent bundles, as necessary
             for (XMLResourceBundle b = bundle; b != null; b = (XMLResourceBundle) b.parent) {
-                b.reload(this.resolver, this.interval);
+                b.reload(this.manager, this.resolver, this.interval);
             }
         }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.