Author: rgielen
Date: Thu Mar 29 01:31:43 2007
New Revision: 523619

URL: http://svn.apache.org/viewvc?view=rev&rev=523619
Log:
WW-1856:
Use changed TextProviderFactory (for upcoming XW 2.0.2) to fix issue with 
broken i18n tag / missing thread safety for TPF
See also:
http://jira.opensymphony.com/browse/XW-487
http://jira.opensymphony.com/browse/XW-476

Modified:
    struts/struts2/branches/STRUTS_2_0_X/core/pom.xml
    
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/components/I18n.java
    
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java

Modified: struts/struts2/branches/STRUTS_2_0_X/core/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/pom.xml?view=diff&rev=523619&r1=523618&r2=523619
==============================================================================
--- struts/struts2/branches/STRUTS_2_0_X/core/pom.xml (original)
+++ struts/struts2/branches/STRUTS_2_0_X/core/pom.xml Thu Mar 29 01:31:43 2007
@@ -252,7 +252,7 @@
         <dependency>
             <groupId>opensymphony</groupId>
             <artifactId>xwork</artifactId>
-            <version>2.0.1</version>
+            <version>2.0.2-SNAPSHOT</version>
         </dependency>
 
         <dependency>

Modified: 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/components/I18n.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/components/I18n.java?view=diff&rev=523619&r1=523618&r2=523619
==============================================================================
--- 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/components/I18n.java
 (original)
+++ 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/components/I18n.java
 Thu Mar 29 01:31:43 2007
@@ -20,20 +20,19 @@
  */
 package org.apache.struts2.components;
 
-import java.io.Writer;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-import org.apache.struts2.views.annotations.StrutsTag;
-import org.apache.struts2.views.annotations.StrutsTagAttribute;
-import org.apache.struts2.StrutsException;
-
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.LocaleProvider;
-import com.opensymphony.xwork2.TextProviderSupport;
 import com.opensymphony.xwork2.TextProviderFactory;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import com.opensymphony.xwork2.util.ValueStack;
+import org.apache.struts2.StrutsException;
+import org.apache.struts2.dispatcher.Dispatcher;
+import org.apache.struts2.views.annotations.StrutsTag;
+import org.apache.struts2.views.annotations.StrutsTagAttribute;
+
+import java.io.Writer;
+import java.util.Locale;
+import java.util.ResourceBundle;
 
 /**
  * <!-- START SNIPPET: javadoc -->
@@ -103,7 +102,9 @@
 
             if (bundle != null) {
                 final Locale locale = (Locale) 
getStack().getContext().get(ActionContext.LOCALE);
-                getStack().push(TextProviderFactory.getInstance(bundle, new 
LocaleProvider() {
+                TextProviderFactory tpf = new TextProviderFactory();
+                Dispatcher.getInstance().getContainer().inject(tpf);
+                getStack().push(tpf.createInstance(bundle, new 
LocaleProvider() {
                      public Locale getLocale() {
                          return locale;
                      }

Modified: 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?view=diff&rev=523619&r1=523618&r2=523619
==============================================================================
--- 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 (original)
+++ 
struts/struts2/branches/STRUTS_2_0_X/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 Thu Mar 29 01:31:43 2007
@@ -401,9 +401,6 @@
         ObjectTypeDeterminer objectTypeDeterminer = 
container.getInstance(ObjectTypeDeterminer.class);
         ObjectTypeDeterminerFactory.setInstance(objectTypeDeterminer);
 
-        TextProvider textProvider = container.getInstance(TextProvider.class);
-        TextProviderFactory.setInstance(textProvider);
-        
         return container;
     }
 


Reply via email to