mirror of
https://github.com/apache/struts.git
synced 2026-08-31 19:35:40 +00:00
Injects user defined provider and uses it if available
This commit is contained in:
@@ -29,6 +29,7 @@ public class StrutsTextProviderFactory implements TextProviderFactory {
|
||||
|
||||
protected LocaleProviderFactory localeProviderFactory;
|
||||
protected LocalizedTextProvider localizedTextProvider;
|
||||
protected TextProvider defaultTextProvider;
|
||||
|
||||
@Inject
|
||||
public void setLocaleProviderFactory(LocaleProviderFactory localeProviderFactory) {
|
||||
@@ -40,6 +41,11 @@ public class StrutsTextProviderFactory implements TextProviderFactory {
|
||||
this.localizedTextProvider = localizedTextProvider;
|
||||
}
|
||||
|
||||
@Inject(required = false)
|
||||
public void setDefaultTextProvider(TextProvider defaultTextProvider) {
|
||||
this.defaultTextProvider = defaultTextProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextProvider createInstance(Class clazz) {
|
||||
TextProvider instance = getTextProvider(clazz);
|
||||
@@ -61,10 +67,18 @@ public class StrutsTextProviderFactory implements TextProviderFactory {
|
||||
}
|
||||
|
||||
protected TextProvider getTextProvider(Class clazz) {
|
||||
if (defaultTextProvider != null) {
|
||||
return defaultTextProvider;
|
||||
}
|
||||
|
||||
return new TextProviderSupport(clazz, localeProviderFactory.createLocaleProvider(), localizedTextProvider);
|
||||
}
|
||||
|
||||
protected TextProvider getTextProvider(ResourceBundle bundle) {
|
||||
if (defaultTextProvider != null) {
|
||||
return defaultTextProvider;
|
||||
}
|
||||
|
||||
return new TextProviderSupport(bundle, localeProviderFactory.createLocaleProvider(), localizedTextProvider);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user