From 08b564d52d3983f1fc22b9cb684beec32e9c4657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Gielen?= Date: Thu, 29 Mar 2007 08:34:01 +0000 Subject: [PATCH] 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 git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@523622 13f79535-47bb-0310-9956-ffa450edef68 --- core/pom.xml | 2 +- core/src/main/java/org/apache/struts2/components/I18n.java | 5 ++++- .../main/java/org/apache/struts2/dispatcher/Dispatcher.java | 3 --- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index c8f97fa5f..7bf21c8fc 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -252,7 +252,7 @@ opensymphony xwork - 2.0.1 + 2.0.2-SNAPSHOT diff --git a/core/src/main/java/org/apache/struts2/components/I18n.java b/core/src/main/java/org/apache/struts2/components/I18n.java index 5f2830cc1..9639e2c25 100644 --- a/core/src/main/java/org/apache/struts2/components/I18n.java +++ b/core/src/main/java/org/apache/struts2/components/I18n.java @@ -27,6 +27,7 @@ import java.util.ResourceBundle; import org.apache.struts2.views.annotations.StrutsTag; import org.apache.struts2.views.annotations.StrutsTagAttribute; import org.apache.struts2.StrutsException; +import org.apache.struts2.dispatcher.Dispatcher; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.LocaleProvider; @@ -102,7 +103,9 @@ public class I18n extends Component { 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; } diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java index a2191d67e..873502b56 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java @@ -401,9 +401,6 @@ Caused by: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyExcepti ObjectTypeDeterminer objectTypeDeterminer = container.getInstance(ObjectTypeDeterminer.class); ObjectTypeDeterminerFactory.setInstance(objectTypeDeterminer); - TextProvider textProvider = container.getInstance(TextProvider.class); - TextProviderFactory.setInstance(textProvider); - return container; }