This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5481-text in repository https://gitbox.apache.org/repos/asf/struts.git
commit dc62488bc01c5bcdd5bfc0503001b39b281da52c Author: Lukasz Lenart <lukaszlen...@apache.org> AuthorDate: Sat Nov 2 23:31:07 2024 +0100 WW-5481 Moves text related classes into org.apache.struts2.text --- .../java/org/apache/struts2/ActionSupport.java | 2 + .../org/apache/struts2/DefaultActionProxy.java | 1 + .../java/org/apache/struts2/LocaleProvider.java | 5 +- .../java/org/apache/struts2/components/Date.java | 2 +- .../java/org/apache/struts2/components/I18n.java | 6 +- .../config/StrutsBeanSelectionProvider.java | 6 +- .../struts2/config/impl/DefaultConfiguration.java | 12 +-- .../struts2/conversion/impl/DateConverter.java | 2 +- .../struts2/conversion/impl/XWorkConverter.java | 2 +- .../interceptor/AbstractFileUploadInterceptor.java | 6 +- .../struts2/interceptor/AliasInterceptor.java | 2 +- .../interceptor/StaticParametersInterceptor.java | 2 +- .../struts2/interceptor/TokenInterceptor.java | 6 +- .../org/apache/struts2/ognl/OgnlValueStack.java | 2 +- .../apache/struts2/ognl/OgnlValueStackFactory.java | 2 +- .../AbstractLocalizedTextProvider.java | 89 +++++++++-------- .../struts2/{ => text}/CompositeTextProvider.java | 2 +- .../struts2/{ => text}/DefaultTextProvider.java | 4 +- .../GlobalLocalizedTextProvider.java | 13 +-- .../struts2/{ => text}/LocalizedTextProvider.java | 8 +- .../{ => text}/ResourceBundleTextProvider.java | 6 +- .../StrutsLocalizedTextProvider.java | 15 +-- .../{ => text}/StrutsTextProviderFactory.java | 5 +- .../apache/struts2/{ => text}/TextProvider.java | 8 +- .../struts2/{ => text}/TextProviderFactory.java | 4 +- .../struts2/{ => text}/TextProviderSupport.java | 66 ++++++------ .../java/org/apache/struts2/util/DebugUtils.java | 2 +- .../apache/struts2/util/TextProviderHelper.java | 3 +- .../java/org/apache/struts2/util/TokenHelper.java | 2 +- .../validator/DefaultActionValidatorManager.java | 2 +- .../validator/DelegatingValidatorContext.java | 6 +- .../apache/struts2/validator/ValidatorContext.java | 2 +- .../validator/validators/ValidatorSupport.java | 2 +- .../validators/VisitorFieldValidator.java | 4 +- core/src/main/resources/struts-beans.xml | 14 +-- .../java/org/apache/struts2/ActionSupportTest.java | 1 + .../java/org/apache/struts2/LocaleAwareTest.java | 1 + .../java/org/apache/struts2/ModelDrivenAction.java | 2 +- .../java/org/apache/struts2/ObjectFactoryTest.java | 1 + .../apache/struts2/components/ComponentTest.java | 2 +- .../org/apache/struts2/config/SettingsTest.java | 2 +- .../config/StrutsBeanSelectionProviderTest.java | 3 +- .../ConfigurationProviderOgnlAllowlistTest.java | 6 +- .../struts2/conversion/impl/DateConverterTest.java | 2 +- .../conversion/impl/XWorkBasicConverterTest.java | 2 +- .../conversion/impl/XWorkConverterTest.java | 4 +- .../apache/struts2/dispatcher/DispatcherTest.java | 2 +- .../parameter/ParametersInterceptorTest.java | 2 +- .../org/apache/struts2/mock/DummyTextProvider.java | 2 +- .../org/apache/struts2/mock/InjectableAction.java | 2 +- .../java/org/apache/struts2/ognl/OgnlUtilTest.java | 2 +- .../apache/struts2/ognl/OgnlValueStackTest.java | 2 +- .../apache/struts2/test/ModelDrivenAction2.java | 1 - .../{ => text}/CompositeTextProviderTest.java | 46 +++++---- .../{ => text}/DefaultTextProviderTest.java | 32 +++--- .../StrutsLocalizedTextProviderTest.java | 111 ++++++++++----------- .../struts2/{ => text}/StubTextProvider.java | 2 +- .../{ => text}/TextProviderSupportTest.java | 33 +++--- .../AnnotationActionValidatorManagerTest.java | 2 +- .../ConversionErrorFieldValidatorTest.java | 2 +- .../validator/DoubleRangeFieldValidatorTest.java | 2 +- .../struts2/validator/DummyValidatorContext.java | 2 +- .../struts2/validator/EmailValidatorTest.java | 2 +- .../struts2/validator/ExpressionValidatorTest.java | 2 +- .../struts2/validator/RegexFieldValidatorTest.java | 3 +- ...teConversionErrorFieldValidatorSupportTest.java | 2 +- .../validator/SimpleActionValidationTest.java | 4 +- .../validator/StringLengthFieldValidatorTest.java | 2 +- .../struts2/validator/StringValidatorTest.java | 2 +- .../apache/struts2/validator/URLValidatorTest.java | 2 +- .../validators/AppendingValidatorContextTest.java | 6 +- .../validators/CreditCardValidatorTest.java | 2 +- .../validators/DateRangeFieldValidatorTest.java | 2 +- .../validators/IntRangeFieldValidatorTest.java | 2 +- .../validators/LongRangeFieldValidatorTest.java | 2 +- .../validators/RequiredFieldValidatorTest.java | 2 +- .../validators/RequiredStringValidatorTest.java | 2 +- .../validators/ShortRangeFieldValidatorTest.java | 2 +- .../DefaultTextProviderTest_en_CA.properties | 0 .../TextProviderSupportTest_en.properties | 0 .../interceptor/BeanValidationInterceptor.java | 2 +- .../org/apache/struts2/mock/DummyTextProvider.java | 2 +- .../struts2/spring/SpringObjectFactoryTest.java | 2 +- .../struts2/tiles/I18NAttributeEvaluator.java | 4 +- 84 files changed, 309 insertions(+), 326 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/ActionSupport.java b/core/src/main/java/org/apache/struts2/ActionSupport.java index f5d58b091..6da71ae39 100644 --- a/core/src/main/java/org/apache/struts2/ActionSupport.java +++ b/core/src/main/java/org/apache/struts2/ActionSupport.java @@ -25,6 +25,8 @@ import org.apache.struts2.conversion.impl.ConversionData; import org.apache.struts2.inject.Container; import org.apache.struts2.inject.Inject; import org.apache.struts2.interceptor.ValidationAware; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.util.ValueStack; import java.io.Serializable; diff --git a/core/src/main/java/org/apache/struts2/DefaultActionProxy.java b/core/src/main/java/org/apache/struts2/DefaultActionProxy.java index 82a5da14b..43fb695ec 100644 --- a/core/src/main/java/org/apache/struts2/DefaultActionProxy.java +++ b/core/src/main/java/org/apache/struts2/DefaultActionProxy.java @@ -26,6 +26,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.StringEscapeUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.struts2.text.LocalizedTextProvider; import java.io.Serial; import java.io.Serializable; diff --git a/core/src/main/java/org/apache/struts2/LocaleProvider.java b/core/src/main/java/org/apache/struts2/LocaleProvider.java index 0b502aa74..6536b62a3 100644 --- a/core/src/main/java/org/apache/struts2/LocaleProvider.java +++ b/core/src/main/java/org/apache/struts2/LocaleProvider.java @@ -23,15 +23,14 @@ import org.apache.commons.lang3.StringUtils; import java.util.Locale; - /** * Indicates that the implementing class can provide its own {@link Locale}. * * <p> * This is useful for when an action may wish override the default locale. All that is * needed is to implement this interface and return your own custom locale. - * The {@link TextProvider} interface uses this interface heavily for retrieving - * internationalized messages from resource bundles. + * The {@link org.apache.struts2.text.TextProvider} interface uses this interface + * heavily for retrieving internationalized messages from resource bundles. * </p> * * @author Jason Carreira diff --git a/core/src/main/java/org/apache/struts2/components/Date.java b/core/src/main/java/org/apache/struts2/components/Date.java index 08d84ab77..d00917858 100644 --- a/core/src/main/java/org/apache/struts2/components/Date.java +++ b/core/src/main/java/org/apache/struts2/components/Date.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.components; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ValueStack; import org.apache.logging.log4j.LogManager; 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 44ff427df..d8ef748da 100644 --- a/core/src/main/java/org/apache/struts2/components/I18n.java +++ b/core/src/main/java/org/apache/struts2/components/I18n.java @@ -22,14 +22,14 @@ import java.io.Writer; import java.util.ResourceBundle; import org.apache.struts2.LocaleProviderFactory; -import org.apache.struts2.LocalizedTextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.LocalizedTextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.views.annotations.StrutsTag; import org.apache.struts2.views.annotations.StrutsTagAttribute; import org.apache.struts2.StrutsException; import org.apache.struts2.LocaleProvider; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ValueStack; import org.apache.logging.log4j.LogManager; diff --git a/core/src/main/java/org/apache/struts2/config/StrutsBeanSelectionProvider.java b/core/src/main/java/org/apache/struts2/config/StrutsBeanSelectionProvider.java index 16e1c7ca3..a31b35896 100644 --- a/core/src/main/java/org/apache/struts2/config/StrutsBeanSelectionProvider.java +++ b/core/src/main/java/org/apache/struts2/config/StrutsBeanSelectionProvider.java @@ -23,11 +23,11 @@ import org.apache.struts2.ActionProxyFactory; import org.apache.struts2.FileManager; import org.apache.struts2.FileManagerFactory; import org.apache.struts2.LocaleProviderFactory; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.ObjectFactory; import org.apache.struts2.StrutsConstants; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.UnknownHandlerManager; import org.apache.struts2.components.UrlRenderer; import org.apache.struts2.components.date.DateFormatter; diff --git a/core/src/main/java/org/apache/struts2/config/impl/DefaultConfiguration.java b/core/src/main/java/org/apache/struts2/config/impl/DefaultConfiguration.java index 3ea854b21..0d77695ba 100644 --- a/core/src/main/java/org/apache/struts2/config/impl/DefaultConfiguration.java +++ b/core/src/main/java/org/apache/struts2/config/impl/DefaultConfiguration.java @@ -20,15 +20,15 @@ package org.apache.struts2.config.impl; import org.apache.struts2.ActionContext; import org.apache.struts2.DefaultLocaleProviderFactory; -import org.apache.struts2.DefaultTextProvider; +import org.apache.struts2.text.DefaultTextProvider; import org.apache.struts2.FileManager; import org.apache.struts2.FileManagerFactory; import org.apache.struts2.LocaleProviderFactory; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.ObjectFactory; -import org.apache.struts2.StrutsTextProviderFactory; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.StrutsTextProviderFactory; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.config.Configuration; import org.apache.struts2.config.ConfigurationException; import org.apache.struts2.config.ContainerProvider; @@ -92,7 +92,7 @@ import org.apache.struts2.ognl.accessor.RootAccessor; import org.apache.struts2.ognl.accessor.XWorkMethodAccessor; import org.apache.struts2.util.OgnlTextParser; import org.apache.struts2.util.PatternMatcher; -import org.apache.struts2.util.StrutsLocalizedTextProvider; +import org.apache.struts2.text.StrutsLocalizedTextProvider; import org.apache.struts2.util.TextParser; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; diff --git a/core/src/main/java/org/apache/struts2/conversion/impl/DateConverter.java b/core/src/main/java/org/apache/struts2/conversion/impl/DateConverter.java index 6d89be284..753e72766 100644 --- a/core/src/main/java/org/apache/struts2/conversion/impl/DateConverter.java +++ b/core/src/main/java/org/apache/struts2/conversion/impl/DateConverter.java @@ -19,7 +19,7 @@ package org.apache.struts2.conversion.impl; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.util.ValueStack; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/org/apache/struts2/conversion/impl/XWorkConverter.java b/core/src/main/java/org/apache/struts2/conversion/impl/XWorkConverter.java index 507f765d0..89d3ecceb 100644 --- a/core/src/main/java/org/apache/struts2/conversion/impl/XWorkConverter.java +++ b/core/src/main/java/org/apache/struts2/conversion/impl/XWorkConverter.java @@ -21,7 +21,7 @@ package org.apache.struts2.conversion.impl; import org.apache.struts2.ActionContext; import org.apache.struts2.FileManager; import org.apache.struts2.FileManagerFactory; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.conversion.ConversionAnnotationProcessor; import org.apache.struts2.conversion.ConversionFileProcessor; import org.apache.struts2.conversion.TypeConverter; diff --git a/core/src/main/java/org/apache/struts2/interceptor/AbstractFileUploadInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/AbstractFileUploadInterceptor.java index 87c1d32f3..9bad6896c 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/AbstractFileUploadInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/AbstractFileUploadInterceptor.java @@ -20,12 +20,10 @@ package org.apache.struts2.interceptor; import org.apache.struts2.LocaleProvider; import org.apache.struts2.LocaleProviderFactory; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.inject.Container; import org.apache.struts2.inject.Inject; -import org.apache.struts2.interceptor.AbstractInterceptor; -import org.apache.struts2.interceptor.ValidationAware; import org.apache.struts2.util.TextParseUtil; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/org/apache/struts2/interceptor/AliasInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/AliasInterceptor.java index 5a02dad96..37b5c383c 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/AliasInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/AliasInterceptor.java @@ -22,7 +22,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.StrutsConstants; import org.apache.struts2.config.entities.ActionConfig; import org.apache.struts2.dispatcher.HttpParameters; diff --git a/core/src/main/java/org/apache/struts2/interceptor/StaticParametersInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/StaticParametersInterceptor.java index 65c6d57fa..e4b1e73ae 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/StaticParametersInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/StaticParametersInterceptor.java @@ -23,7 +23,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.StrutsConstants; import org.apache.struts2.config.entities.ActionConfig; import org.apache.struts2.config.entities.Parameterizable; diff --git a/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java index 83d344474..7f12ea7f1 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java @@ -19,11 +19,9 @@ package org.apache.struts2.interceptor; import org.apache.struts2.ActionInvocation; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; -import org.apache.struts2.interceptor.ValidationAware; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.inject.Inject; -import org.apache.struts2.interceptor.MethodFilterInterceptor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ServletActionContext; diff --git a/core/src/main/java/org/apache/struts2/ognl/OgnlValueStack.java b/core/src/main/java/org/apache/struts2/ognl/OgnlValueStack.java index a155c1cbc..26a76f7f5 100644 --- a/core/src/main/java/org/apache/struts2/ognl/OgnlValueStack.java +++ b/core/src/main/java/org/apache/struts2/ognl/OgnlValueStack.java @@ -19,7 +19,7 @@ package org.apache.struts2.ognl; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.conversion.impl.XWorkConverter; import org.apache.struts2.inject.Container; import org.apache.struts2.inject.Inject; diff --git a/core/src/main/java/org/apache/struts2/ognl/OgnlValueStackFactory.java b/core/src/main/java/org/apache/struts2/ognl/OgnlValueStackFactory.java index ec32f8986..ac60de0dc 100644 --- a/core/src/main/java/org/apache/struts2/ognl/OgnlValueStackFactory.java +++ b/core/src/main/java/org/apache/struts2/ognl/OgnlValueStackFactory.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.ognl; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.conversion.NullHandler; import org.apache.struts2.conversion.impl.XWorkConverter; import org.apache.struts2.inject.Container; diff --git a/core/src/main/java/org/apache/struts2/util/AbstractLocalizedTextProvider.java b/core/src/main/java/org/apache/struts2/text/AbstractLocalizedTextProvider.java similarity index 90% rename from core/src/main/java/org/apache/struts2/util/AbstractLocalizedTextProvider.java rename to core/src/main/java/org/apache/struts2/text/AbstractLocalizedTextProvider.java index 316cbb99e..e7683cd6c 100644 --- a/core/src/main/java/org/apache/struts2/util/AbstractLocalizedTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/AbstractLocalizedTextProvider.java @@ -16,15 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2.util; +package org.apache.struts2.text; -import org.apache.struts2.ActionContext; -import org.apache.struts2.LocalizedTextProvider; -import org.apache.struts2.inject.Inject; import org.apache.commons.lang3.ObjectUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.struts2.ActionContext; import org.apache.struts2.StrutsConstants; +import org.apache.struts2.inject.Inject; +import org.apache.struts2.util.TextParseUtil; +import org.apache.struts2.util.ValueStack; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -224,11 +225,10 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { /** * Clear a specific bundle + locale combination from the <code>bundlesMap</code>. - * Intended for descendants to use clear a bundle + locale combination. + * Intended for descendants to use clear a bundle + locale combination. * * @param bundleName The bundle (combined with locale) to remove from the bundle map * @param locale Provides the locale to combine with the bundle to get the key - * * @since 6.0.0 */ protected void clearBundle(final String bundleName, Locale locale) { @@ -239,13 +239,13 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { /** * Clears the <code>missingBundles</code> contents. This allows descendants to - * clear the <b>"missing bundles cache"</b> when desired (or needed). - * + * clear the <b>"missing bundles cache"</b> when desired (or needed). + * <p> * Note: This method may be used when the <code>bundlesMap</code> state has changed - * in such a way that bundles that were previously "missing" may now be available - * (e.g. after calling {@link #addDefaultResourceBundle(java.lang.String)} when the - * {@link AbstractLocalizedTextProvider} has already been used for failed bundle - * lookups of a given key, or some transitory state made a bundle lookup fail. + * in such a way that bundles that were previously "missing" may now be available + * (e.g. after calling {@link #addDefaultResourceBundle(java.lang.String)} when the + * {@link AbstractLocalizedTextProvider} has already been used for failed bundle + * lookups of a given key, or some transitory state made a bundle lookup fail. * * @since 6.0.0 */ @@ -287,10 +287,10 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { /** * A helper method for {@link ResourceBundle} bundle reload logic. - * + * <p> * Uses standard {@link ResourceBundle} methods to clear the bundle caches for the * {@link ClassLoader} instances that this class is aware of at the time of the call. - * + * <p> * The <code>clearCache()</code> methods have been available since Java 1.6, so * it is anticipated the logic will work on any subsequent JVM versions. * @@ -301,27 +301,29 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { ResourceBundle.clearCache(); // Bundles loaded by the caller's classloader. ResourceBundle.clearCache(ccl); // Bundles loaded by the context classloader (may be the same). // Clear the bundle cache for any non-null delegated classloaders. - delegatedClassLoaderMap.forEach( (key, value) -> { if (value != null) ResourceBundle.clearCache(value) ;} ); + delegatedClassLoaderMap.forEach((key, value) -> { + if (value != null) ResourceBundle.clearCache(value); + }); } /** * "Hacky" helper method that attempts to clear the Tomcat <code>ResourceEntry</code> * {@link Map} using knowledge of the Tomcat source code. - * + * <p> * It relies on the {@link #TOMCAT_RESOURCE_ENTRIES_FIELD} field name, base class name * {@link #TOMCAT_WEBAPP_CLASSLOADER_BASE}. and descendant class names {@link #TOMCAT_WEBAPP_CLASSLOADER}, * {@link #TOMCAT_PARALLEL_WEBAPP_CLASSLOADER}, to keep the values identified in the constants. * It appears to be valid for Tomcat versions 7-10 so far, but could become invalid at any time in the future * when the resource handling logic in Tomcat changes. - * + * <p> * Note: With Java 9+, calling this method may result in "Illegal reflective access" warnings. Be aware - * its logic may fail in a future version of Java that blocks the reflection calls needed for this method. + * its logic may fail in a future version of Java that blocks the reflection calls needed for this method. */ private void clearTomcatCache() { ClassLoader loader = getCurrentThreadContextClassLoader(); // no need for compilation here. - Class cl = loader.getClass(); - Class superCl = cl.getSuperclass(); + Class<?> cl = loader.getClass(); + Class<?> superCl = cl.getSuperclass(); try { if ((TOMCAT_WEBAPP_CLASSLOADER.equals(cl.getName()) || TOMCAT_PARALLEL_WEBAPP_CLASSLOADER.equals(cl.getName())) && @@ -348,19 +350,19 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { /** * Helper method that is intended to clear a {@link Map} instance by name. - * + * <p> * This method relies on reflection to perform its operations, and may be blocked in Java 9 and later, * depending on the accessibility of the field. * - * @param cl The {@link Class} of the obj parameter. - * @param obj The {@link Object} from which the named field is to be extracted (may be <code>null</code> for a static field). + * @param cl The {@link Class} of the obj parameter. + * @param obj The {@link Object} from which the named field is to be extracted (may be <code>null</code> for a static field). * @param name The name of the field containing a {@link Map} reference. - * @throws NoSuchFieldException if a field accessed by this call does not exist. - * @throws IllegalAccessException if a field, method or or class accessed by this call cannot be accessed. - * @throws NoSuchMethodException if a method accessed by this call does not exist. + * @throws NoSuchFieldException if a field accessed by this call does not exist. + * @throws IllegalAccessException if a field, method or or class accessed by this call cannot be accessed. + * @throws NoSuchMethodException if a method accessed by this call does not exist. * @throws InvocationTargetException if a method accessed by this call fails invocation. */ - private void clearMap(Class cl, Object obj, String name) + private void clearMap(Class<?> cl, Object obj, String name) throws NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { Field field = cl.getDeclaredField(name); @@ -372,7 +374,7 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { Object cache = field.get(obj); synchronized (cache) { - Class ccl = cache.getClass(); + Class<?> ccl = cache.getClass(); Method clearMethod = ccl.getMethod("clear"); clearMethod.invoke(cache); } @@ -416,7 +418,6 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { * flow of the {@link LocalizedTextProvider} implementation the descendant provides). * * @param searchDefaultBundlesFirst provide {@link String} "true" or "false" to set the flag state accordingly. - * * @since 6.0.0 */ @Inject(value = StrutsConstants.STRUTS_I18N_SEARCH_DEFAULTBUNDLES_FIRST, required = false) @@ -503,7 +504,7 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { * @return the default message. */ protected GetDefaultMessageReturnArg getDefaultMessage(String key, Locale locale, ValueStack valueStack, Object[] args, - String defaultMessage) { + String defaultMessage) { GetDefaultMessageReturnArg result = null; boolean found = true; @@ -539,18 +540,18 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { * general key would be passed in the alternateKey parameter. * </p> * - * @param key the initial key to search for a value within the default resource bundles. - * @param alternateKey the alternate (fall-back) key to search for a value within the default resource bundles, if the initial key lookup fails. - * @param locale the {@link Locale} to be used for the default resource bundle lookup. - * @param valueStack the {@link ValueStack} associated with the operation. - * @param args the argument array for parameterized messages (may be <code>null</code>). - * @param defaultMessage the default message {@link String} to use if both key lookup operations fail. + * @param key the initial key to search for a value within the default resource bundles. + * @param alternateKey the alternate (fall-back) key to search for a value within the default resource bundles, if the initial key lookup fails. + * @param locale the {@link Locale} to be used for the default resource bundle lookup. + * @param valueStack the {@link ValueStack} associated with the operation. + * @param args the argument array for parameterized messages (may be <code>null</code>). + * @param defaultMessage the default message {@link String} to use if both key lookup operations fail. * @return the {@link GetDefaultMessageReturnArg} result containing the processed message lookup (by key first, then alternateKey if key's lookup fails). - * If both key lookup operations fail, defaultMessage is used for processing. - * If defaultMessage is <code>null</code> then the return result may be <code>null</code>. + * If both key lookup operations fail, defaultMessage is used for processing. + * If defaultMessage is <code>null</code> then the return result may be <code>null</code>. */ protected GetDefaultMessageReturnArg getDefaultMessageWithAlternateKey(String key, String alternateKey, Locale locale, ValueStack valueStack, - Object[] args, String defaultMessage) { + Object[] args, String defaultMessage) { GetDefaultMessageReturnArg result; if (alternateKey == null || alternateKey.isEmpty()) { result = getDefaultMessage(key, locale, valueStack, args, defaultMessage); @@ -593,8 +594,8 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { * * @return the message */ - protected String findMessage(Class clazz, String key, String indexedKey, Locale locale, Object[] args, Set<String> checked, - ValueStack valueStack) { + protected String findMessage(Class<?> clazz, String key, String indexedKey, Locale locale, Object[] args, Set<String> checked, + ValueStack valueStack) { if (checked == null) { checked = new TreeSet<>(); } else if (checked.contains(clazz.getName())) { @@ -617,9 +618,9 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { } // look in properties of implemented interfaces - Class[] interfaces = clazz.getInterfaces(); + Class<?>[] interfaces = clazz.getInterfaces(); - for (Class anInterface : interfaces) { + for (Class<?> anInterface : interfaces) { msg = getMessage(anInterface.getName(), locale, key, valueStack, args); if (msg != null) { @@ -639,7 +640,7 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider { if (clazz.isInterface()) { interfaces = clazz.getInterfaces(); - for (Class anInterface : interfaces) { + for (Class<?> anInterface : interfaces) { msg = findMessage(anInterface, key, indexedKey, locale, args, checked, valueStack); if (msg != null) { diff --git a/core/src/main/java/org/apache/struts2/CompositeTextProvider.java b/core/src/main/java/org/apache/struts2/text/CompositeTextProvider.java similarity index 99% rename from core/src/main/java/org/apache/struts2/CompositeTextProvider.java rename to core/src/main/java/org/apache/struts2/text/CompositeTextProvider.java index 9790b5a60..70cd06708 100644 --- a/core/src/main/java/org/apache/struts2/CompositeTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/CompositeTextProvider.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; import org.apache.struts2.util.ValueStack; import org.apache.logging.log4j.LogManager; diff --git a/core/src/main/java/org/apache/struts2/DefaultTextProvider.java b/core/src/main/java/org/apache/struts2/text/DefaultTextProvider.java similarity index 97% rename from core/src/main/java/org/apache/struts2/DefaultTextProvider.java rename to core/src/main/java/org/apache/struts2/text/DefaultTextProvider.java index 954e2ddae..4518f4de0 100644 --- a/core/src/main/java/org/apache/struts2/DefaultTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/DefaultTextProvider.java @@ -16,8 +16,10 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; +import org.apache.struts2.ActionContext; +import org.apache.struts2.Unchainable; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ValueStack; diff --git a/core/src/main/java/org/apache/struts2/util/GlobalLocalizedTextProvider.java b/core/src/main/java/org/apache/struts2/text/GlobalLocalizedTextProvider.java similarity index 95% rename from core/src/main/java/org/apache/struts2/util/GlobalLocalizedTextProvider.java rename to core/src/main/java/org/apache/struts2/text/GlobalLocalizedTextProvider.java index 620aa2912..33ab693dd 100644 --- a/core/src/main/java/org/apache/struts2/util/GlobalLocalizedTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/GlobalLocalizedTextProvider.java @@ -16,18 +16,19 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2.util; +package org.apache.struts2.text; -import org.apache.struts2.ActionContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.struts2.ActionContext; +import org.apache.struts2.util.ValueStack; import java.util.Locale; import java.util.ResourceBundle; /** * Provides support for localization in the framework, it can be used to read only default bundles. - * + * <p> * Note that unlike {@link StrutsLocalizedTextProvider}, this class {@link GlobalLocalizedTextProvider} will * <em>only</em> search the default bundles for localized text. */ @@ -51,7 +52,7 @@ public class GlobalLocalizedTextProvider extends AbstractLocalizedTextProvider { * @see #findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) */ @Override - public String findText(Class aClass, String aTextName, Locale locale) { + public String findText(Class<?> aClass, String aTextName, Locale locale) { return findText(aClass, aTextName, locale, aTextName, new Object[0]); } @@ -88,7 +89,7 @@ public class GlobalLocalizedTextProvider extends AbstractLocalizedTextProvider { * @return the localized text, or null if none can be found and no defaultMessage is provided */ @Override - public String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) { + public String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) { ValueStack valueStack = ActionContext.getContext().getValueStack(); return findText(aClass, aTextName, locale, defaultMessage, args, valueStack); @@ -132,7 +133,7 @@ public class GlobalLocalizedTextProvider extends AbstractLocalizedTextProvider { * @return the localized text, or null if none can be found and no defaultMessage is provided */ @Override - public String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, ValueStack valueStack) { + public String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, ValueStack valueStack) { String indexedTextName = null; if (aTextName == null) { LOG.warn("Trying to find text with null key!"); diff --git a/core/src/main/java/org/apache/struts2/LocalizedTextProvider.java b/core/src/main/java/org/apache/struts2/text/LocalizedTextProvider.java similarity index 82% rename from core/src/main/java/org/apache/struts2/LocalizedTextProvider.java rename to core/src/main/java/org/apache/struts2/text/LocalizedTextProvider.java index 967a6d478..fcaf39975 100644 --- a/core/src/main/java/org/apache/struts2/LocalizedTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/LocalizedTextProvider.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; import org.apache.struts2.util.ValueStack; @@ -32,11 +32,11 @@ public interface LocalizedTextProvider extends Serializable { ResourceBundle findResourceBundle(String aBundleName, Locale locale); - String findText(Class aClass, String aTextName, Locale locale); + String findText(Class<?> aClass, String aTextName, Locale locale); - String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args); + String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args); - String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, ValueStack valueStack); + String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, ValueStack valueStack); String findText(ResourceBundle bundle, String aTextName, Locale locale); diff --git a/core/src/main/java/org/apache/struts2/ResourceBundleTextProvider.java b/core/src/main/java/org/apache/struts2/text/ResourceBundleTextProvider.java similarity index 93% rename from core/src/main/java/org/apache/struts2/ResourceBundleTextProvider.java rename to core/src/main/java/org/apache/struts2/text/ResourceBundleTextProvider.java index b2ee3cad7..a0385fd6e 100644 --- a/core/src/main/java/org/apache/struts2/ResourceBundleTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/ResourceBundleTextProvider.java @@ -16,7 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; + +import org.apache.struts2.LocaleProvider; import java.util.ResourceBundle; @@ -39,7 +41,7 @@ public interface ResourceBundleTextProvider extends TextProvider { * * @param clazz the class to use for loading. */ - void setClazz(Class clazz); + void setClazz(Class<?> clazz); /** * Set the LocaleProvider to use. diff --git a/core/src/main/java/org/apache/struts2/util/StrutsLocalizedTextProvider.java b/core/src/main/java/org/apache/struts2/text/StrutsLocalizedTextProvider.java similarity index 96% rename from core/src/main/java/org/apache/struts2/util/StrutsLocalizedTextProvider.java rename to core/src/main/java/org/apache/struts2/text/StrutsLocalizedTextProvider.java index ea37726b9..3199d8a0f 100644 --- a/core/src/main/java/org/apache/struts2/util/StrutsLocalizedTextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/StrutsLocalizedTextProvider.java @@ -16,13 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2.util; +package org.apache.struts2.text; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; import org.apache.struts2.ModelDriven; import org.apache.struts2.conversion.impl.XWorkConverter; import org.apache.struts2.inject.Inject; +import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.reflection.ReflectionProvider; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -56,7 +57,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { * @see #findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) */ @Override - public String findText(Class aClass, String aTextName, Locale locale) { + public String findText(Class<?> aClass, String aTextName, Locale locale) { return findText(aClass, aTextName, locale, aTextName, new Object[0]); } @@ -109,7 +110,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { * @return the localized text, or null if none can be found and no defaultMessage is provided */ @Override - public String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) { + public String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) { ValueStack valueStack = ActionContext.getContext().getValueStack(); return findText(aClass, aTextName, locale, defaultMessage, args, valueStack); @@ -169,7 +170,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { * @return the localized text, or null if none can be found and no defaultMessage is provided */ @Override - public String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, + public String findText(Class<?> aClass, String aTextName, Locale locale, String defaultMessage, Object[] args, ValueStack valueStack) { String indexedTextName = null; if (aTextName == null) { @@ -220,7 +221,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { if (actionInvocation != null) { Object action = actionInvocation.getAction(); if (action instanceof ModelDriven) { - Object model = ((ModelDriven) action).getModel(); + Object model = ((ModelDriven<?>) action).getModel(); if (model != null) { msg = findMessage(model.getClass(), aTextName, indexedTextName, locale, args, null, valueStack); if (msg != null) { @@ -232,7 +233,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { } // nothing still? alright, search the package hierarchy now - for (Class clazz = aClass; + for (Class<?> clazz = aClass; (clazz != null) && !clazz.equals(Object.class); clazz = clazz.getSuperclass()) { @@ -283,7 +284,7 @@ public class StrutsLocalizedTextProvider extends AbstractLocalizedTextProvider { PropertyDescriptor propertyDescriptor = reflectionProvider.getPropertyDescriptor(actionObj.getClass(), prop); if (propertyDescriptor != null) { - Class clazz = propertyDescriptor.getPropertyType(); + Class<?> clazz = propertyDescriptor.getPropertyType(); if (clazz != null) { if (obj != null) { diff --git a/core/src/main/java/org/apache/struts2/StrutsTextProviderFactory.java b/core/src/main/java/org/apache/struts2/text/StrutsTextProviderFactory.java similarity index 95% rename from core/src/main/java/org/apache/struts2/StrutsTextProviderFactory.java rename to core/src/main/java/org/apache/struts2/text/StrutsTextProviderFactory.java index 06a4617a0..4f7331263 100644 --- a/core/src/main/java/org/apache/struts2/StrutsTextProviderFactory.java +++ b/core/src/main/java/org/apache/struts2/text/StrutsTextProviderFactory.java @@ -16,8 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; +import org.apache.struts2.LocaleProviderFactory; import org.apache.struts2.inject.Inject; import java.util.ResourceBundle; @@ -49,7 +50,7 @@ public class StrutsTextProviderFactory implements TextProviderFactory { } @Override - public TextProvider createInstance(Class clazz) { + public TextProvider createInstance(Class<?> clazz) { TextProvider instance = getTextProvider(clazz); if (instance instanceof ResourceBundleTextProvider) { ((ResourceBundleTextProvider) instance).setClazz(clazz); diff --git a/core/src/main/java/org/apache/struts2/TextProvider.java b/core/src/main/java/org/apache/struts2/text/TextProvider.java similarity index 96% rename from core/src/main/java/org/apache/struts2/TextProvider.java rename to core/src/main/java/org/apache/struts2/text/TextProvider.java index 16924a757..bdd2f026c 100644 --- a/core/src/main/java/org/apache/struts2/TextProvider.java +++ b/core/src/main/java/org/apache/struts2/text/TextProvider.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; import org.apache.struts2.util.ValueStack; @@ -33,9 +33,9 @@ import java.util.ResourceBundle; * global texts to be defined for an application base class. * * <p> - * You can override {@link LocaleProvider#getLocale()} to change the behaviour of how + * You can override {@link org.apache.struts2.LocaleProvider#getLocale()} to change the behaviour of how * to choose locale for the bundles that are returned. Typically you would - * use the {@link LocaleProvider} interface to get the users configured locale. + * use the {@link org.apache.struts2.LocaleProvider} interface to get the users configured locale. * </p> * * <p> @@ -56,7 +56,7 @@ import java.util.ResourceBundle; * </p> * @author Jason Carreira * @author Rainer Hermanns - * @see LocaleProvider + * @see org.apache.struts2.LocaleProvider * @see TextProviderSupport */ public interface TextProvider { diff --git a/core/src/main/java/org/apache/struts2/TextProviderFactory.java b/core/src/main/java/org/apache/struts2/text/TextProviderFactory.java similarity index 91% rename from core/src/main/java/org/apache/struts2/TextProviderFactory.java rename to core/src/main/java/org/apache/struts2/text/TextProviderFactory.java index b7c5a1f5d..5ef4070cd 100644 --- a/core/src/main/java/org/apache/struts2/TextProviderFactory.java +++ b/core/src/main/java/org/apache/struts2/text/TextProviderFactory.java @@ -16,13 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; import java.util.ResourceBundle; public interface TextProviderFactory { - TextProvider createInstance(Class clazz); + TextProvider createInstance(Class<?> clazz); TextProvider createInstance(ResourceBundle bundle); diff --git a/core/src/main/java/org/apache/struts2/TextProviderSupport.java b/core/src/main/java/org/apache/struts2/text/TextProviderSupport.java similarity index 90% rename from core/src/main/java/org/apache/struts2/TextProviderSupport.java rename to core/src/main/java/org/apache/struts2/text/TextProviderSupport.java index cee8b8601..bf2fa685a 100644 --- a/core/src/main/java/org/apache/struts2/TextProviderSupport.java +++ b/core/src/main/java/org/apache/struts2/text/TextProviderSupport.java @@ -16,12 +16,19 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; +import org.apache.struts2.LocaleProvider; +import org.apache.struts2.LocaleProviderFactory; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ValueStack; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.ResourceBundle; /** * Default TextProvider implementation. @@ -31,7 +38,7 @@ import java.util.*; */ public class TextProviderSupport implements ResourceBundleTextProvider { - protected Class clazz; + protected Class<?> clazz; protected LocaleProvider localeProvider; protected ResourceBundle bundle; protected LocalizedTextProvider localizedTextProvider; @@ -42,7 +49,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * @param clazz a clazz to use for reading the resource bundle. * @param provider a locale provider. */ - public TextProviderSupport(Class clazz, LocaleProvider provider, LocalizedTextProvider localizedTextProvider) { + public TextProviderSupport(Class<?> clazz, LocaleProvider provider, LocalizedTextProvider localizedTextProvider) { this.clazz = clazz; this.localeProvider = provider; this.localizedTextProvider = localizedTextProvider; @@ -72,7 +79,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * @param clazz a clazz to use for reading the resource bundle. */ @Override - public void setClazz(Class clazz) { + public void setClazz(Class<?> clazz) { this.clazz = clazz; } @@ -103,13 +110,13 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * class. */ public boolean hasKey(String key) { - String message; - if (clazz != null) { - message = localizedTextProvider.findText(clazz, key, getLocale(), null, new Object[0] ); + String message; + if (clazz != null) { + message = localizedTextProvider.findText(clazz, key, getLocale(), null, new Object[0]); } else { message = localizedTextProvider.findText(bundle, key, getLocale(), null, new Object[0]); } - return message != null; + return message != null; } /** @@ -135,7 +142,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * a cascading style that allow global texts to be defined for an application base * class. If no text is found for this text name, the default value is returned. * - * @param key name of text to be found + * @param key name of text to be found * @param defaultValue the default value which will be returned if no text is found * @return value of named text or the provided defaultValue if no value is found */ @@ -151,7 +158,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * a cascading style that allow global texts to be defined for an application base * class. If no text is found for this text name, the default value is returned. * - * @param key name of text to be found + * @param key name of text to be found * @param defaultValue the default value which will be returned if no text is found * @return value of named text or the provided defaultValue if no value is found */ @@ -169,8 +176,8 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * a cascading style that allow global texts to be defined for an application base * class. If no text is found for this text name, the default value is returned. * - * @param key name of text to be found - * @param args a List of args to be used in a MessageFormat message + * @param key name of text to be found + * @param args a List of args to be used in a MessageFormat message * @return value of named text or the provided key if no value is found */ public String getText(String key, List<?> args) { @@ -185,8 +192,8 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * a cascading style that allow global texts to be defined for an application base * class. If no text is found for this text name, the default value is returned. * - * @param key name of text to be found - * @param args an array of args to be used in a MessageFormat message + * @param key name of text to be found + * @param args an array of args to be used in a MessageFormat message * @return value of named text or the provided key if no value is found */ public String getText(String key, String[] args) { @@ -201,7 +208,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * a cascading style that allow global texts to be defined for an application base * class. If no text is found for this text name, the default value is returned. * - * @param key name of text to be found + * @param key name of text to be found * @param defaultValue the default value which will be returned if no text is found * @param args a List of args to be used in a MessageFormat message * @return value of named text or the provided defaultValue if no value is found @@ -242,7 +249,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * default value is returned. Instead of using the value stack in the ActionContext * this version of the getText() method uses the provided value stack. * - * @param key the resource bundle key that is to be searched for + * @param key the resource bundle key that is to be searched for * @param defaultValue the default value which will be returned if no message is found * @param args a list args to be used in a {@link java.text.MessageFormat} message * @param stack the value stack to use for finding the text @@ -251,10 +258,10 @@ public class TextProviderSupport implements ResourceBundleTextProvider { public String getText(String key, String defaultValue, List<?> args, ValueStack stack) { Object[] argsArray = ((args != null) ? args.toArray() : null); Locale locale; - if (stack == null){ - locale = getLocale(); - }else{ - locale = stack.getActionContext().getLocale(); + if (stack == null) { + locale = getLocale(); + } else { + locale = stack.getActionContext().getLocale(); } if (locale == null) { locale = getLocale(); @@ -266,7 +273,6 @@ public class TextProviderSupport implements ResourceBundleTextProvider { } } - /** * Gets a message based on a key using the supplied args, as defined in * {@link java.text.MessageFormat}, or, if the message is not found, a supplied @@ -280,21 +286,7 @@ public class TextProviderSupport implements ResourceBundleTextProvider { * @return the message as found in the resource bundle, or defaultValue if none is found */ public String getText(String key, String defaultValue, String[] args, ValueStack stack) { - Locale locale; - if (stack == null){ - locale = getLocale(); - }else{ - locale = stack.getActionContext().getLocale(); - } - if (locale == null) { - locale = getLocale(); - } - if (clazz != null) { - return localizedTextProvider.findText(clazz, key, locale, defaultValue, args, stack); - } else { - return localizedTextProvider.findText(bundle, key, locale, defaultValue, args, stack); - } - + return getText(key, defaultValue, args != null ? Arrays.stream(args).toList() : List.of(), stack); } /** diff --git a/core/src/main/java/org/apache/struts2/util/DebugUtils.java b/core/src/main/java/org/apache/struts2/util/DebugUtils.java index 099f70171..a7cb8dcce 100644 --- a/core/src/main/java/org/apache/struts2/util/DebugUtils.java +++ b/core/src/main/java/org/apache/struts2/util/DebugUtils.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.util; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.interceptor.ValidationAware; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java b/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java index 7cda5d490..dc5120ef0 100644 --- a/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java +++ b/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java @@ -18,8 +18,7 @@ */ package org.apache.struts2.util; -import org.apache.struts2.TextProvider; -import org.apache.struts2.util.ValueStack; +import org.apache.struts2.text.TextProvider; import org.apache.commons.text.StringEscapeUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/org/apache/struts2/util/TokenHelper.java b/core/src/main/java/org/apache/struts2/util/TokenHelper.java index 985ad6580..4b4b939fa 100644 --- a/core/src/main/java/org/apache/struts2/util/TokenHelper.java +++ b/core/src/main/java/org/apache/struts2/util/TokenHelper.java @@ -19,7 +19,7 @@ package org.apache.struts2.util; import org.apache.struts2.ActionContext; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.dispatcher.Parameter; diff --git a/core/src/main/java/org/apache/struts2/validator/DefaultActionValidatorManager.java b/core/src/main/java/org/apache/struts2/validator/DefaultActionValidatorManager.java index 275aaf169..2f2b758b7 100644 --- a/core/src/main/java/org/apache/struts2/validator/DefaultActionValidatorManager.java +++ b/core/src/main/java/org/apache/struts2/validator/DefaultActionValidatorManager.java @@ -21,7 +21,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.FileManager; import org.apache.struts2.FileManagerFactory; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ClassLoaderUtil; import org.apache.struts2.util.ValueStack; diff --git a/core/src/main/java/org/apache/struts2/validator/DelegatingValidatorContext.java b/core/src/main/java/org/apache/struts2/validator/DelegatingValidatorContext.java index 56500f71f..255369745 100644 --- a/core/src/main/java/org/apache/struts2/validator/DelegatingValidatorContext.java +++ b/core/src/main/java/org/apache/struts2/validator/DelegatingValidatorContext.java @@ -21,11 +21,11 @@ package org.apache.struts2.validator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ActionContext; -import org.apache.struts2.CompositeTextProvider; +import org.apache.struts2.text.CompositeTextProvider; import org.apache.struts2.LocaleProvider; import org.apache.struts2.LocaleProviderFactory; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.interceptor.ValidationAware; import org.apache.struts2.util.ValueStack; diff --git a/core/src/main/java/org/apache/struts2/validator/ValidatorContext.java b/core/src/main/java/org/apache/struts2/validator/ValidatorContext.java index f5401b7ce..8460ae031 100644 --- a/core/src/main/java/org/apache/struts2/validator/ValidatorContext.java +++ b/core/src/main/java/org/apache/struts2/validator/ValidatorContext.java @@ -19,7 +19,7 @@ package org.apache.struts2.validator; import org.apache.struts2.LocaleProvider; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.interceptor.ValidationAware; /** diff --git a/core/src/main/java/org/apache/struts2/validator/validators/ValidatorSupport.java b/core/src/main/java/org/apache/struts2/validator/validators/ValidatorSupport.java index 4362884e3..3b896d4dc 100644 --- a/core/src/main/java/org/apache/struts2/validator/validators/ValidatorSupport.java +++ b/core/src/main/java/org/apache/struts2/validator/validators/ValidatorSupport.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator.validators; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.TextParseUtil; import org.apache.struts2.util.ValueStack; diff --git a/core/src/main/java/org/apache/struts2/validator/validators/VisitorFieldValidator.java b/core/src/main/java/org/apache/struts2/validator/validators/VisitorFieldValidator.java index 3b4d87805..70a8e4c03 100644 --- a/core/src/main/java/org/apache/struts2/validator/validators/VisitorFieldValidator.java +++ b/core/src/main/java/org/apache/struts2/validator/validators/VisitorFieldValidator.java @@ -19,8 +19,8 @@ package org.apache.struts2.validator.validators; import org.apache.struts2.ActionContext; -import org.apache.struts2.CompositeTextProvider; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.CompositeTextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.inject.Inject; import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.ActionValidatorManager; diff --git a/core/src/main/resources/struts-beans.xml b/core/src/main/resources/struts-beans.xml index d3f8c879a..6b266f0f8 100644 --- a/core/src/main/resources/struts-beans.xml +++ b/core/src/main/resources/struts-beans.xml @@ -128,15 +128,15 @@ <bean type="org.apache.struts2.conversion.impl.StringConverter" name="struts" class="org.apache.struts2.conversion.impl.StringConverter" scope="singleton"/> - <bean type="org.apache.struts2.LocalizedTextProvider" name="global-only" - class="org.apache.struts2.util.GlobalLocalizedTextProvider" scope="singleton"/> - <bean type="org.apache.struts2.LocalizedTextProvider" name="struts" - class="org.apache.struts2.util.StrutsLocalizedTextProvider" scope="singleton"/> + <bean type="org.apache.struts2.text.LocalizedTextProvider" name="global-only" + class="org.apache.struts2.text.GlobalLocalizedTextProvider" scope="singleton"/> + <bean type="org.apache.struts2.text.LocalizedTextProvider" name="struts" + class="org.apache.struts2.text.StrutsLocalizedTextProvider" scope="singleton"/> - <bean type="org.apache.struts2.TextProvider" name="system" class="org.apache.struts2.DefaultTextProvider" + <bean type="org.apache.struts2.text.TextProvider" name="system" class="org.apache.struts2.text.DefaultTextProvider" scope="singleton"/> - <bean type="org.apache.struts2.TextProviderFactory" name="struts" - class="org.apache.struts2.StrutsTextProviderFactory" scope="singleton"/> + <bean type="org.apache.struts2.text.TextProviderFactory" name="struts" + class="org.apache.struts2.text.StrutsTextProviderFactory" scope="singleton"/> <bean type="org.apache.struts2.LocaleProviderFactory" name="struts" class="org.apache.struts2.DefaultLocaleProviderFactory" scope="singleton"/> diff --git a/core/src/test/java/org/apache/struts2/ActionSupportTest.java b/core/src/test/java/org/apache/struts2/ActionSupportTest.java index e42271dea..6ab4e9ae9 100644 --- a/core/src/test/java/org/apache/struts2/ActionSupportTest.java +++ b/core/src/test/java/org/apache/struts2/ActionSupportTest.java @@ -20,6 +20,7 @@ package org.apache.struts2; import org.apache.struts2.action.Action; import org.apache.struts2.conversion.impl.ConversionData; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.util.ValueStack; import org.apache.struts2.interceptor.parameter.StrutsParameter; diff --git a/core/src/test/java/org/apache/struts2/LocaleAwareTest.java b/core/src/test/java/org/apache/struts2/LocaleAwareTest.java index 3cceecfe6..e4810f85d 100644 --- a/core/src/test/java/org/apache/struts2/LocaleAwareTest.java +++ b/core/src/test/java/org/apache/struts2/LocaleAwareTest.java @@ -20,6 +20,7 @@ package org.apache.struts2; import org.apache.struts2.config.providers.MockConfigurationProvider; import org.apache.struts2.config.providers.XmlConfigurationProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; import org.apache.struts2.config.StrutsXmlConfigurationProvider; diff --git a/core/src/test/java/org/apache/struts2/ModelDrivenAction.java b/core/src/test/java/org/apache/struts2/ModelDrivenAction.java index 3ba4dfcb7..0d889d71d 100644 --- a/core/src/test/java/org/apache/struts2/ModelDrivenAction.java +++ b/core/src/test/java/org/apache/struts2/ModelDrivenAction.java @@ -27,7 +27,7 @@ import org.apache.struts2.interceptor.parameter.StrutsParameter; * @author Jason Carreira * Created Apr 8, 2003 6:27:29 PM */ -public class ModelDrivenAction extends ActionSupport implements ModelDriven { +public class ModelDrivenAction extends ActionSupport implements ModelDriven<TestBean> { private String foo; private final TestBean model = new TestBean(); diff --git a/core/src/test/java/org/apache/struts2/ObjectFactoryTest.java b/core/src/test/java/org/apache/struts2/ObjectFactoryTest.java index 25db28e25..995d5736d 100644 --- a/core/src/test/java/org/apache/struts2/ObjectFactoryTest.java +++ b/core/src/test/java/org/apache/struts2/ObjectFactoryTest.java @@ -20,6 +20,7 @@ package org.apache.struts2; import org.apache.struts2.mock.DummyTextProvider; import org.apache.struts2.mock.InjectableAction; +import org.apache.struts2.text.TextProvider; import java.util.HashMap; diff --git a/core/src/test/java/org/apache/struts2/components/ComponentTest.java b/core/src/test/java/org/apache/struts2/components/ComponentTest.java index 8ed97da07..a0726e0f0 100644 --- a/core/src/test/java/org/apache/struts2/components/ComponentTest.java +++ b/core/src/test/java/org/apache/struts2/components/ComponentTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.components; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.StrutsException; import org.apache.struts2.TestConfigurationProvider; import org.apache.struts2.views.jsp.AbstractTagTest; diff --git a/core/src/test/java/org/apache/struts2/config/SettingsTest.java b/core/src/test/java/org/apache/struts2/config/SettingsTest.java index cb283cb28..052763666 100644 --- a/core/src/test/java/org/apache/struts2/config/SettingsTest.java +++ b/core/src/test/java/org/apache/struts2/config/SettingsTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.config; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.StrutsConstants; import org.apache.struts2.StrutsInternalTestCase; diff --git a/core/src/test/java/org/apache/struts2/config/StrutsBeanSelectionProviderTest.java b/core/src/test/java/org/apache/struts2/config/StrutsBeanSelectionProviderTest.java index aaff8ef9d..b5aef2a59 100644 --- a/core/src/test/java/org/apache/struts2/config/StrutsBeanSelectionProviderTest.java +++ b/core/src/test/java/org/apache/struts2/config/StrutsBeanSelectionProviderTest.java @@ -21,8 +21,7 @@ package org.apache.struts2.config; import java.util.Locale; import org.apache.struts2.XWorkTestCase; -import org.apache.struts2.LocalizedTextProvider; -import org.apache.struts2.config.ConfigurationException; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.test.StubConfigurationProvider; import org.apache.struts2.StrutsConstants; diff --git a/core/src/test/java/org/apache/struts2/config/providers/ConfigurationProviderOgnlAllowlistTest.java b/core/src/test/java/org/apache/struts2/config/providers/ConfigurationProviderOgnlAllowlistTest.java index f0eabcc3a..cd01de13f 100644 --- a/core/src/test/java/org/apache/struts2/config/providers/ConfigurationProviderOgnlAllowlistTest.java +++ b/core/src/test/java/org/apache/struts2/config/providers/ConfigurationProviderOgnlAllowlistTest.java @@ -52,7 +52,7 @@ public class ConfigurationProviderOgnlAllowlistTest extends XWorkJUnit4TestCase Class.forName("org.apache.struts2.interceptor.ConditionalInterceptor"), Class.forName("org.apache.struts2.ActionSupport"), Class.forName("org.apache.struts2.result.ActionChainResult"), - Class.forName("org.apache.struts2.TextProvider"), + Class.forName("org.apache.struts2.text.TextProvider"), Class.forName("org.apache.struts2.interceptor.NoOpInterceptor"), Class.forName("org.apache.struts2.interceptor.Interceptor"), Class.forName("java.lang.Object"), @@ -77,7 +77,7 @@ public class ConfigurationProviderOgnlAllowlistTest extends XWorkJUnit4TestCase Class.forName("org.apache.struts2.mock.MockResult"), Class.forName("org.apache.struts2.interceptor.ConditionalInterceptor"), Class.forName("org.apache.struts2.ActionSupport"), - Class.forName("org.apache.struts2.TextProvider"), + Class.forName("org.apache.struts2.text.TextProvider"), Class.forName("org.apache.struts2.interceptor.Interceptor"), Class.forName("java.lang.Object"), Class.forName("org.apache.struts2.Validateable"), @@ -101,7 +101,7 @@ public class ConfigurationProviderOgnlAllowlistTest extends XWorkJUnit4TestCase Class.forName("org.apache.struts2.interceptor.ConditionalInterceptor"), Class.forName("org.apache.struts2.ActionSupport"), Class.forName("org.apache.struts2.result.ActionChainResult"), - Class.forName("org.apache.struts2.TextProvider"), + Class.forName("org.apache.struts2.text.TextProvider"), Class.forName("org.apache.struts2.interceptor.NoOpInterceptor"), Class.forName("org.apache.struts2.interceptor.Interceptor"), Class.forName("java.lang.Object"), diff --git a/core/src/test/java/org/apache/struts2/conversion/impl/DateConverterTest.java b/core/src/test/java/org/apache/struts2/conversion/impl/DateConverterTest.java index f08bba740..5130b9f95 100644 --- a/core/src/test/java/org/apache/struts2/conversion/impl/DateConverterTest.java +++ b/core/src/test/java/org/apache/struts2/conversion/impl/DateConverterTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.conversion.impl; import org.apache.struts2.ActionContext; -import org.apache.struts2.StubTextProvider; +import org.apache.struts2.text.StubTextProvider; import org.apache.struts2.StubValueStack; import org.apache.struts2.util.ValueStack; import org.apache.struts2.StrutsInternalTestCase; diff --git a/core/src/test/java/org/apache/struts2/conversion/impl/XWorkBasicConverterTest.java b/core/src/test/java/org/apache/struts2/conversion/impl/XWorkBasicConverterTest.java index 1744d3a3f..d10da1b88 100644 --- a/core/src/test/java/org/apache/struts2/conversion/impl/XWorkBasicConverterTest.java +++ b/core/src/test/java/org/apache/struts2/conversion/impl/XWorkBasicConverterTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.conversion.impl; import org.apache.struts2.ActionContext; -import org.apache.struts2.StubTextProvider; +import org.apache.struts2.text.StubTextProvider; import org.apache.struts2.StubValueStack; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; diff --git a/core/src/test/java/org/apache/struts2/conversion/impl/XWorkConverterTest.java b/core/src/test/java/org/apache/struts2/conversion/impl/XWorkConverterTest.java index 7838d46a1..bdf2a2365 100644 --- a/core/src/test/java/org/apache/struts2/conversion/impl/XWorkConverterTest.java +++ b/core/src/test/java/org/apache/struts2/conversion/impl/XWorkConverterTest.java @@ -21,10 +21,10 @@ package org.apache.struts2.conversion.impl; import org.apache.struts2.ActionContext; import org.apache.struts2.ModelDrivenAction; import org.apache.struts2.SimpleAction; -import org.apache.struts2.StubTextProvider; +import org.apache.struts2.text.StubTextProvider; import org.apache.struts2.StubValueStack; import org.apache.struts2.TestBean; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.ognl.OgnlValueStack; import org.apache.struts2.test.ModelDrivenAction2; diff --git a/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java b/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java index 4545520eb..d2fa808b9 100644 --- a/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java +++ b/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.dispatcher; import org.apache.struts2.ActionContext; -import org.apache.struts2.LocalizedTextProvider; +import org.apache.struts2.text.LocalizedTextProvider; import org.apache.struts2.ObjectFactory; import org.apache.struts2.StubValueStack; import org.apache.struts2.config.ConfigurationException; diff --git a/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java index de849cd10..c064e9269 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java @@ -25,7 +25,7 @@ import org.apache.struts2.ActionSupport; import org.apache.struts2.ModelDrivenAction; import org.apache.struts2.SimpleAction; import org.apache.struts2.TestBean; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.entities.ActionConfig; import org.apache.struts2.config.providers.MockConfigurationProvider; diff --git a/core/src/test/java/org/apache/struts2/mock/DummyTextProvider.java b/core/src/test/java/org/apache/struts2/mock/DummyTextProvider.java index 9694a0c5f..a76993680 100644 --- a/core/src/test/java/org/apache/struts2/mock/DummyTextProvider.java +++ b/core/src/test/java/org/apache/struts2/mock/DummyTextProvider.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.mock; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.util.ValueStack; import java.util.List; diff --git a/core/src/test/java/org/apache/struts2/mock/InjectableAction.java b/core/src/test/java/org/apache/struts2/mock/InjectableAction.java index 1c03ff9f7..c72baf288 100644 --- a/core/src/test/java/org/apache/struts2/mock/InjectableAction.java +++ b/core/src/test/java/org/apache/struts2/mock/InjectableAction.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.mock; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.inject.Inject; public class InjectableAction { diff --git a/core/src/test/java/org/apache/struts2/ognl/OgnlUtilTest.java b/core/src/test/java/org/apache/struts2/ognl/OgnlUtilTest.java index 0a7b869cd..9c526ffce 100644 --- a/core/src/test/java/org/apache/struts2/ognl/OgnlUtilTest.java +++ b/core/src/test/java/org/apache/struts2/ognl/OgnlUtilTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.ognl; import org.apache.struts2.ActionContext; -import org.apache.struts2.StubTextProvider; +import org.apache.struts2.text.StubTextProvider; import org.apache.struts2.StubValueStack; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.ConfigurationException; diff --git a/core/src/test/java/org/apache/struts2/ognl/OgnlValueStackTest.java b/core/src/test/java/org/apache/struts2/ognl/OgnlValueStackTest.java index 700be243b..d19ca812b 100644 --- a/core/src/test/java/org/apache/struts2/ognl/OgnlValueStackTest.java +++ b/core/src/test/java/org/apache/struts2/ognl/OgnlValueStackTest.java @@ -20,7 +20,7 @@ package org.apache.struts2.ognl; import org.apache.struts2.SimpleAction; import org.apache.struts2.TestBean; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.ConfigurationException; import org.apache.struts2.conversion.impl.ConversionData; diff --git a/core/src/test/java/org/apache/struts2/test/ModelDrivenAction2.java b/core/src/test/java/org/apache/struts2/test/ModelDrivenAction2.java index aca87ffb2..4b22750dc 100644 --- a/core/src/test/java/org/apache/struts2/test/ModelDrivenAction2.java +++ b/core/src/test/java/org/apache/struts2/test/ModelDrivenAction2.java @@ -30,7 +30,6 @@ public class ModelDrivenAction2 extends ModelDrivenAction { private final TestBean2 model = new TestBean2(); - /** * @return the model to be pushed onto the ValueStack after the Action itself */ diff --git a/core/src/test/java/org/apache/struts2/CompositeTextProviderTest.java b/core/src/test/java/org/apache/struts2/text/CompositeTextProviderTest.java similarity index 83% rename from core/src/test/java/org/apache/struts2/CompositeTextProviderTest.java rename to core/src/test/java/org/apache/struts2/text/CompositeTextProviderTest.java index 822cf2066..4ab7a1ff3 100644 --- a/core/src/test/java/org/apache/struts2/CompositeTextProviderTest.java +++ b/core/src/test/java/org/apache/struts2/text/CompositeTextProviderTest.java @@ -16,25 +16,20 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; + +import org.apache.struts2.ActionContext; +import org.apache.struts2.XWorkTestCase; import java.util.ArrayList; import java.util.Locale; import java.util.ResourceBundle; -/** - * <code>CompositeTextProviderTest</code> - * - * @author <a href="mailto:herma...@aixcept.de">Rainer Hermanns</a> - * @version $Id$ - */ public class CompositeTextProviderTest extends XWorkTestCase { - private CompositeTextProvider textProvider = null; - - public void testGetText() throws Exception { + public void testGetText() { // we should get the text from the 1st text provider assertEquals(textProvider.getText("name"), "1 name"); assertEquals(textProvider.getText("age"), "1 age"); @@ -45,8 +40,7 @@ public class CompositeTextProviderTest extends XWorkTestCase { assertEquals(textProvider.getText("someNonExistingKey"), "someNonExistingKey"); } - - public void testGetTextWithDefaultValues() throws Exception { + public void testGetTextWithDefaultValues() { assertEquals(textProvider.getText("name", "some default name"), "1 name"); assertEquals(textProvider.getText("age", "some default age"), "1 age"); assertEquals(textProvider.getText("no_such_key", "default value"), "default value"); @@ -56,16 +50,24 @@ public class CompositeTextProviderTest extends XWorkTestCase { assertEquals(textProvider.getText("bike", "some default bike"), "This is a bike"); } - - public void testGetTextWithDefaultValuesAndArgs() throws Exception { + public void testGetTextWithDefaultValuesAndArgs() { assertEquals(textProvider.getText("goodnight", "say good night", "Adam"), "1 good night Adam"); - assertEquals(textProvider.getText("goodnight", "say good night", new String[] { "Adam" }), "1 good night Adam"); - assertEquals(textProvider.getText("goodnight", "say good night", new ArrayList<Object>() { {add("Adam");} }), "1 good night Adam"); - assertEquals(textProvider.getText("goodmorning", "say good morning", new String[] { "Jack", "Jim" }), "1 good morning Jack and Jim"); - assertEquals(textProvider.getText("goodmorning", "say good morning", new ArrayList<Object>() { { add("Jack"); add("Jim"); }}), "1 good morning Jack and Jim"); + assertEquals(textProvider.getText("goodnight", "say good night", new String[]{"Adam"}), "1 good night Adam"); + assertEquals(textProvider.getText("goodnight", "say good night", new ArrayList<>() { + { + add("Adam"); + } + }), "1 good night Adam"); + assertEquals(textProvider.getText("goodmorning", "say good morning", new String[]{"Jack", "Jim"}), "1 good morning Jack and Jim"); + assertEquals(textProvider.getText("goodmorning", "say good morning", new ArrayList<>() { + { + add("Jack"); + add("Jim"); + } + }), "1 good morning Jack and Jim"); } - public void testHasKey() throws Exception { + public void testHasKey() { assertTrue(textProvider.hasKey("name")); assertTrue(textProvider.hasKey("age")); assertTrue(textProvider.hasKey("cat")); @@ -77,15 +79,15 @@ public class CompositeTextProviderTest extends XWorkTestCase { assertFalse(textProvider.hasKey("nosuchkey")); } - public void testGetResourceBundleByName() throws Exception { + public void testGetResourceBundleByName() { assertNotNull(textProvider.getTexts("org.apache.struts2.validator.CompositeTextProviderTestResourceBundle1")); assertNotNull(textProvider.getTexts("org.apache.struts2.validator.CompositeTextProviderTestResourceBundle2")); assertNull(textProvider.getTexts("org.apache.struts2.validator.CompositeTextProviderTestResourceBundle3")); } - public void testGetResourceBundle() throws Exception { + public void testGetResourceBundle() { assertNotNull(textProvider.getTexts()); - // we should get the first resource bundle where 'car' and 'bike' has a i18n msg + // we should get the first resource bundle where 'car' and 'bike' has an i18n msg assertNotNull(textProvider.getTexts().getString("car")); assertNotNull(textProvider.getTexts().getString("bike")); } diff --git a/core/src/test/java/org/apache/struts2/DefaultTextProviderTest.java b/core/src/test/java/org/apache/struts2/text/DefaultTextProviderTest.java similarity index 89% rename from core/src/test/java/org/apache/struts2/DefaultTextProviderTest.java rename to core/src/test/java/org/apache/struts2/text/DefaultTextProviderTest.java index 0fa2c9442..a9ba860ee 100644 --- a/core/src/test/java/org/apache/struts2/DefaultTextProviderTest.java +++ b/core/src/test/java/org/apache/struts2/text/DefaultTextProviderTest.java @@ -16,22 +16,20 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; + +import org.apache.struts2.ActionContext; +import org.apache.struts2.XWorkTestCase; import java.util.*; -/** - * Unit test for {@link DefaultTextProvider}. - * - * @author Claus Ibsen - */ public class DefaultTextProviderTest extends XWorkTestCase { private DefaultTextProvider tp; - public void testSimpleGetTexts() throws Exception { + public void testSimpleGetTexts() { assertEquals("Hello World", tp.getText("hello")); - assertEquals(null, tp.getText("not.in.bundle")); + assertNull(tp.getText("not.in.bundle")); assertEquals("Hello World", tp.getText("hello", "this is default")); assertEquals("this is default", tp.getText("not.in.bundle", "this is default")); @@ -43,16 +41,16 @@ public class DefaultTextProviderTest extends XWorkTestCase { assertEquals("Hello World", tp.getText("hello", nullStrings)); } - public void testGetTextsWithArgs() throws Exception { + public void testGetTextsWithArgs() { assertEquals("Hello World", tp.getText("hello", "this is default", "from me")); // no args in bundle assertEquals("Hello World from me", tp.getText("hello.0", "this is default", "from me")); assertEquals("this is default", tp.getText("not.in.bundle", "this is default", "from me")); assertEquals("this is default from me", tp.getText("not.in.bundle", "this is default {0}", "from me")); - assertEquals(null, tp.getText("not.in.bundle")); + assertNull(tp.getText("not.in.bundle")); } - public void testGetTextsWithListArgs() throws Exception { + public void testGetTextsWithListArgs() { List<Object> args = new ArrayList<>(); args.add("Santa"); args.add("loud"); @@ -68,13 +66,13 @@ public class DefaultTextProviderTest extends XWorkTestCase { assertEquals("Hello World Santa", tp.getText("hello.0", args)); // only 1 arg in bundle assertEquals("Hello World. This is Santa speaking loud", tp.getText("hello.1", args)); - assertEquals(null, tp.getText("not.in.bundle", args)); + assertNull(tp.getText("not.in.bundle", args)); assertEquals("Hello World", tp.getText("hello", "this is default", (List) null)); assertEquals("this is default", tp.getText("not.in.bundle", "this is default", (List) null)); } - public void testGetTextsWithArrayArgs() throws Exception { + public void testGetTextsWithArrayArgs() { String[] args = { "Santa", "loud" }; assertEquals("Hello World", tp.getText("hello", "this is default", args)); // no args in bundle assertEquals("Hello World Santa", tp.getText("hello.0", "this is default", args)); // only 1 arg in bundle @@ -88,13 +86,13 @@ public class DefaultTextProviderTest extends XWorkTestCase { assertEquals("Hello World Santa", tp.getText("hello.0", args)); // only 1 arg in bundle assertEquals("Hello World. This is Santa speaking loud", tp.getText("hello.1", args)); - assertEquals(null, tp.getText("not.in.bundle", args)); + assertNull(tp.getText("not.in.bundle", args)); assertEquals("Hello World", tp.getText("hello", "this is default", (String[]) null)); assertEquals("this is default", tp.getText("not.in.bundle", "this is default", (String[]) null)); } - public void testGetTextsWithListAndStack() throws Exception { + public void testGetTextsWithListAndStack() { List<Object> args = new ArrayList<>(); args.add("Santa"); args.add("loud"); @@ -107,7 +105,7 @@ public class DefaultTextProviderTest extends XWorkTestCase { assertEquals("this is default Santa speaking loud", tp.getText("not.in.bundle", "this is default {0} speaking {1}", args, null)); } - public void testGetTextsWithArrayAndStack() throws Exception { + public void testGetTextsWithArrayAndStack() { String[] args = { "Santa", "loud" }; assertEquals("Hello World", tp.getText("hello", "this is default", args, null)); // no args in bundle assertEquals("Hello World Santa", tp.getText("hello.0", "this is default", args, null)); // only 1 arg in bundle @@ -118,7 +116,7 @@ public class DefaultTextProviderTest extends XWorkTestCase { assertEquals("this is default Santa speaking loud", tp.getText("not.in.bundle", "this is default {0} speaking {1}", args, null)); } - public void testGetBundle() throws Exception { + public void testGetBundle() { assertNull(tp.getTexts()); // always returns null ResourceBundle rb = ResourceBundle.getBundle(TextProviderSupportTest.class.getName(), Locale.CANADA); diff --git a/core/src/test/java/org/apache/struts2/util/StrutsLocalizedTextProviderTest.java b/core/src/test/java/org/apache/struts2/text/StrutsLocalizedTextProviderTest.java similarity index 92% rename from core/src/test/java/org/apache/struts2/util/StrutsLocalizedTextProviderTest.java rename to core/src/test/java/org/apache/struts2/text/StrutsLocalizedTextProviderTest.java index 44c68acd7..06c84f4e7 100644 --- a/core/src/test/java/org/apache/struts2/util/StrutsLocalizedTextProviderTest.java +++ b/core/src/test/java/org/apache/struts2/text/StrutsLocalizedTextProviderTest.java @@ -16,23 +16,24 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2.util; +package org.apache.struts2.text; import com.mockobjects.dynamic.Mock; -import org.apache.struts2.action.Action; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; import org.apache.struts2.ActionProxy; import org.apache.struts2.ActionSupport; -import org.apache.struts2.LocalizedTextProvider; import org.apache.struts2.ModelDriven; import org.apache.struts2.SimpleAction; import org.apache.struts2.XWorkTestCase; +import org.apache.struts2.action.Action; +import org.apache.struts2.config.StrutsXmlConfigurationProvider; import org.apache.struts2.config.providers.XmlConfigurationProvider; +import org.apache.struts2.interceptor.parameter.StrutsParameter; import org.apache.struts2.test.ModelDrivenAction2; import org.apache.struts2.test.TestBean2; -import org.apache.struts2.config.StrutsXmlConfigurationProvider; -import org.apache.struts2.interceptor.parameter.StrutsParameter; +import org.apache.struts2.util.Bar; +import org.apache.struts2.util.ValueStack; import java.text.DateFormat; import java.text.ParseException; @@ -41,19 +42,11 @@ import java.util.HashMap; import java.util.Locale; import java.util.ResourceBundle; - -/** - * Unit test for {@link StrutsLocalizedTextProvider}. - * - * @author jcarreira - * @author tm_jee - * @version $Date$ $Id$ - */ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { private LocalizedTextProvider localizedTextProvider; - public void testNpeWhenClassIsPrimitive() throws Exception { + public void testNpeWhenClassIsPrimitive() { ValueStack stack = ActionContext.getContext().getValueStack(); stack.push(new MyObject()); String result = localizedTextProvider.findText(MyObject.class, "someObj.someI18nKey", Locale.ENGLISH, "default message", null, stack); @@ -66,15 +59,15 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { } } - public void testActionGetTextWithNullObject() throws Exception { + public void testActionGetTextWithNullObject() { MyAction action = new MyAction(); container.inject(action); Mock mockActionInvocation = new Mock(ActionInvocation.class); mockActionInvocation.expectAndReturn("getAction", action); ActionContext.getContext() - .withActionInvocation((ActionInvocation) mockActionInvocation.proxy()) - .getValueStack().push(action); + .withActionInvocation((ActionInvocation) mockActionInvocation.proxy()) + .getValueStack().push(action); String message = action.getText("barObj.title"); assertEquals("Title:", message); @@ -94,11 +87,11 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { } } - public void testActionGetText() throws Exception { + public void testActionGetText() { ModelDrivenAction2 action = new ModelDrivenAction2(); container.inject(action); - TestBean2 bean = (TestBean2) action.getModel(); + TestBean2 bean = action.getModel(); Bar bar = new Bar(); bean.setBarObj(bar); @@ -116,7 +109,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { localizedTextProvider.findText(this.getClass(), null, Locale.getDefault()); } - public void testActionGetTextXXX() throws Exception { + public void testActionGetTextXXX() { localizedTextProvider.addDefaultResourceBundle("org/apache/struts2/util/FindMe"); SimpleAction action = new SimpleAction(); @@ -125,8 +118,8 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { Mock mockActionInvocation = new Mock(ActionInvocation.class); mockActionInvocation.expectAndReturn("getAction", action); ActionContext.getContext() - .withActionInvocation((ActionInvocation) mockActionInvocation.proxy()) - .getValueStack().push(action); + .withActionInvocation((ActionInvocation) mockActionInvocation.proxy()) + .getValueStack().push(action); String message = action.getText("bean.name"); String foundBean2 = action.getText("bean2.name"); @@ -148,16 +141,16 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { public void testAddDefaultResourceBundle2() throws Exception { localizedTextProvider.addDefaultResourceBundle("org/apache/struts2/SimpleAction"); - ActionProxy proxy = actionProxyFactory.createActionProxy("/", "packagelessAction", null, new HashMap<String, Object>(), false, true); + ActionProxy proxy = actionProxyFactory.createActionProxy("/", "packagelessAction", null, new HashMap<>(), false, true); proxy.execute(); } - public void testDefaultMessage() throws Exception { + public void testDefaultMessage() { String message = localizedTextProvider.findDefaultText("xwork.error.action.execution", Locale.getDefault()); assertEquals("Error during Action invocation", message); } - public void testDefaultMessageOverride() throws Exception { + public void testDefaultMessageOverride() { String message = localizedTextProvider.findDefaultText("xwork.error.action.execution", Locale.getDefault()); assertEquals("Error during Action invocation", message); @@ -167,8 +160,8 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { assertEquals("Testing resource bundle override", message); } - public void testFindTextInChildProperty() throws Exception { - ModelDriven action = new ModelDrivenAction2(); + public void testFindTextInChildProperty() { + ModelDriven<?> action = new ModelDrivenAction2(); TestBean2 bean = (TestBean2) action.getModel(); Bar bar = new Bar(); bean.setBarObj(bar); @@ -184,7 +177,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { assertEquals("Title is invalid!", message); } - public void testFindTextInInterface() throws Exception { + public void testFindTextInInterface() { Action action = new ModelDrivenAction2(); Mock mockActionInvocation = new Mock(ActionInvocation.class); mockActionInvocation.expectAndReturn("getAction", action); @@ -194,8 +187,8 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { assertEquals("Foo!", message); } - public void testFindTextInPackage() throws Exception { - ModelDriven action = new ModelDrivenAction2(); + public void testFindTextInPackage() { + ModelDriven<?> action = new ModelDrivenAction2(); Mock mockActionInvocation = new Mock(ActionInvocation.class); mockActionInvocation.expectAndReturn("getAction", action); @@ -205,12 +198,12 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { assertEquals("It works!", message); } - public void testParameterizedDefaultMessage() throws Exception { + public void testParameterizedDefaultMessage() { String message = localizedTextProvider.findDefaultText("xwork.exception.missing-action", Locale.getDefault(), new String[]{"AddUser"}); assertEquals("There is no Action mapped for action name AddUser.", message); } - public void testParameterizedDefaultMessageWithPackage() throws Exception { + public void testParameterizedDefaultMessageWithPackage() { String message = localizedTextProvider.findDefaultText("xwork.exception.missing-package-action", Locale.getDefault(), new String[]{"blah", "AddUser"}); assertEquals("There is no Action mapped for namespace blah and action name AddUser.", message); } @@ -270,20 +263,18 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { */ public void testLocalizedTextProviderClearingMethods() { TestStrutsLocalizedTextProvider testStrutsLocalizedTextProvider = new TestStrutsLocalizedTextProvider(); - assertTrue("testStrutsLocalizedTextProvider not instance of AbstractLocalizedTextProvider ?", - testStrutsLocalizedTextProvider instanceof AbstractLocalizedTextProvider); assertEquals("testStrutsLocalizedTextProvider starting default bundle map size not 0 before any retrievals ?", - 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Access the two default bundles to populate their cache entries and test bundle map size. ResourceBundle tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("XWORK_MESSAGES_BUNDLE retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("STRUTS_MESSAGES_BUNDLE retrieval null ?", tempBundle); assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after retrievals ?", - 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Add and then access four test bundles to populate their cache entries and test bundle map size. testStrutsLocalizedTextProvider.addDefaultResourceBundle("org/apache/struts2/util/LocalizedTextUtilTest"); @@ -291,34 +282,34 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { testStrutsLocalizedTextProvider.addDefaultResourceBundle("org/apache/struts2/SimpleAction"); testStrutsLocalizedTextProvider.addDefaultResourceBundle("org/apache/struts2/test"); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - "org/apache/struts2/util/LocalizedTextUtilTest", Locale.ENGLISH); + "org/apache/struts2/util/LocalizedTextUtilTest", Locale.ENGLISH); assertNotNull("org/apache/struts2/util/LocalizedTextUtilTest retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - "org/apache/struts2/util/FindMe", Locale.ENGLISH); + "org/apache/struts2/util/FindMe", Locale.ENGLISH); assertNotNull("org/apache/struts2/util/FindMe retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - "org/apache/struts2/SimpleAction", Locale.ENGLISH); + "org/apache/struts2/SimpleAction", Locale.ENGLISH); assertNotNull("org/apache/struts2/SimpleAction retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - "org/apache/struts2/test", Locale.ENGLISH); + "org/apache/struts2/test", Locale.ENGLISH); assertNotNull("org/apache/struts2/test retrieval null ?", tempBundle); assertEquals("testStrutsLocalizedTextProvider bundle map size not 6 after retrievals ?", - 6, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 6, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Expect the call to function with bundle name + locale. Remove all four of the non-default // bundles and confirm the bundle map size changes. testStrutsLocalizedTextProvider.callClearBundleWithLocale("org/apache/struts2/test", Locale.ENGLISH); assertEquals("testStrutsLocalizedTextProvider bundle map size not 5 after locale clear call ?", - 5, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 5, testStrutsLocalizedTextProvider.currentBundlesMapSize()); testStrutsLocalizedTextProvider.callClearBundleWithLocale("org/apache/struts2/SimpleAction", Locale.ENGLISH); assertEquals("testStrutsLocalizedTextProvider bundle map size not 4 after locale clear call ?", - 4, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 4, testStrutsLocalizedTextProvider.currentBundlesMapSize()); testStrutsLocalizedTextProvider.callClearBundleWithLocale("org/apache/struts2/util/FindMe", Locale.ENGLISH); assertEquals("testStrutsLocalizedTextProvider bundle map size not 3 after locale clear call ?", - 3, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 3, testStrutsLocalizedTextProvider.currentBundlesMapSize()); testStrutsLocalizedTextProvider.callClearBundleWithLocale("org/apache/struts2/util/LocalizedTextUtilTest", Locale.ENGLISH); assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after locale clear call ?", - 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Confirm the missing bundles cache clearing method does not produce any Exceptions or failures. testStrutsLocalizedTextProvider.callClearMissingBundlesCache(); @@ -332,20 +323,18 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { */ public void testLocalizedTextProviderReloadMethods() { TestStrutsLocalizedTextProvider testStrutsLocalizedTextProvider = new TestStrutsLocalizedTextProvider(); - assertTrue("testStrutsLocalizedTextProvider not instance of AbstractLocalizedTextProvider ?", - testStrutsLocalizedTextProvider instanceof AbstractLocalizedTextProvider); assertEquals("testStrutsLocalizedTextProvider starting default bundle map size not 0 before any retrievals ?", - 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Access the two default bundles to populate their cache entries and test bundle map size. ResourceBundle tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("XWORK_MESSAGES_BUNDLE retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("STRUTS_MESSAGES_BUNDLE retrieval null ?", tempBundle); assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after retrievals ?", - 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Force a bundle reload call for code coverage and to confirm it causes the bundle map to be emptied. assertNotNull("ActionContext is somehow null ?", ActionContext.getContext()); @@ -355,17 +344,17 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { boolean bundlesReloadedAfterCall = testStrutsLocalizedTextProvider.getBundlesReloadedIndicatorValue(); assertTrue("Bundles reload value false after forced reload ?", bundlesReloadedAfterCall); assertEquals("testStrutsLocalizedTextProvider bundle map size not 0 after reload (which should clear it) ?", - 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 0, testStrutsLocalizedTextProvider.currentBundlesMapSize()); // Access the two default bundles again (after reload) to populate their cache entries and test bundle map size. tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.XWORK_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("XWORK_MESSAGES_BUNDLE retrieval null ?", tempBundle); tempBundle = testStrutsLocalizedTextProvider.findResourceBundle( - TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); + TestStrutsLocalizedTextProvider.STRUTS_MESSAGES_BUNDLE, Locale.ENGLISH); assertNotNull("STRUTS_MESSAGES_BUNDLE retrieval null ?", tempBundle); assertEquals("testStrutsLocalizedTextProvider bundle map size not 2 after retrievals ?", - 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); + 2, testStrutsLocalizedTextProvider.currentBundlesMapSize()); } /** @@ -391,7 +380,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { final String DEFAULT_MESSAGE_WITH_PARAMS = DEFAULT_MESSAGE + " We provide a couple of parameter placeholders: -{0}- and -{1}- for fun."; final String param1 = "param1_String"; final String param2 = "param2_String"; - final String[] paramArray = { param1, param2 }; + final String[] paramArray = {param1, param2}; TestStrutsLocalizedTextProvider testStrutsLocalizedTextProvider = new TestStrutsLocalizedTextProvider(); // Load some specific default bundles already provided and used by other tests within this module. @@ -457,7 +446,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { /** * Test the {@link StrutsLocalizedTextProvider#findText(java.lang.Class, java.lang.String, java.util.Locale, java.lang.String, java.lang.Object[], org.apache.struts2.util.ValueStack) } * method for basic correctness. - * + * <p> * It is the version of the method that will search the class hierarchy resource bundles first, unless {@link StrutsLocalizedTextProvider#searchDefaultBundlesFirst} * is true (in which case it will search the default resource bundles first). No matter the flag setting, it should search until it finds a match, or fails to find * a match and returns the default message parameter that was passed. @@ -469,7 +458,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { final String DEFAULT_MESSAGE_WITH_PARAMS = DEFAULT_MESSAGE + " We provide a couple of parameter placeholders: -{0}- and -{1}- for fun."; final String param1 = "param1_String"; final String param2 = "param2_String"; - final String[] paramArray = { param1, param2 }; + final String[] paramArray = {param1, param2}; TestStrutsLocalizedTextProvider testStrutsLocalizedTextProvider = new TestStrutsLocalizedTextProvider(); // Load some specific default bundles already provided and used by other tests within this module. @@ -585,7 +574,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase { /** * Some test correctness depends on this {@link #RELOADED} value matching that of the private ancestor - * field {@link AbstractLocalizedTextProvider#RELOADED}. If the ancestor field value changes, ensure this + * field {@link AbstractLocalizedTextProvider#RELOADED}. If the ancestor field value changes, ensure this * field's value is updated to match it exactly. */ private static final String RELOADED = "org.apache.struts2.util.LocalizedTextProvider.reloaded"; diff --git a/core/src/test/java/org/apache/struts2/StubTextProvider.java b/core/src/test/java/org/apache/struts2/text/StubTextProvider.java similarity index 98% rename from core/src/test/java/org/apache/struts2/StubTextProvider.java rename to core/src/test/java/org/apache/struts2/text/StubTextProvider.java index 0ef1899b0..a55ec4bf9 100644 --- a/core/src/test/java/org/apache/struts2/StubTextProvider.java +++ b/core/src/test/java/org/apache/struts2/text/StubTextProvider.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; import org.apache.struts2.util.ValueStack; diff --git a/core/src/test/java/org/apache/struts2/TextProviderSupportTest.java b/core/src/test/java/org/apache/struts2/text/TextProviderSupportTest.java similarity index 88% rename from core/src/test/java/org/apache/struts2/TextProviderSupportTest.java rename to core/src/test/java/org/apache/struts2/text/TextProviderSupportTest.java index dd0bddb7b..612c5165f 100644 --- a/core/src/test/java/org/apache/struts2/TextProviderSupportTest.java +++ b/core/src/test/java/org/apache/struts2/text/TextProviderSupportTest.java @@ -16,29 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.struts2; +package org.apache.struts2.text; + +import org.apache.struts2.LocaleProvider; +import org.apache.struts2.XWorkTestCase; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.ResourceBundle; -/** - * Unit test for {@link TextProviderSupport}. - * - * @author Claus Ibsen - */ public class TextProviderSupportTest extends XWorkTestCase { private TextProviderSupport tp; private java.util.ResourceBundle rb; - public void testHasKey() throws Exception { - assertTrue(tp.hasKey("hello")); - assertFalse(tp.hasKey("not.in.bundle")); + public void testHasKey() { + assertTrue(tp.hasKey("hello")); + assertFalse(tp.hasKey("not.in.bundle")); } - public void testSimpleGetTexts() throws Exception { + public void testSimpleGetTexts() { assertEquals("Hello World", tp.getText("hello")); assertEquals("not.in.bundle", tp.getText("not.in.bundle")); @@ -46,7 +44,7 @@ public class TextProviderSupportTest extends XWorkTestCase { assertEquals("this is default", tp.getText("not.in.bundle", "this is default")); } - public void testGetTextsWithArgs() throws Exception { + public void testGetTextsWithArgs() { assertEquals("Hello World", tp.getText("hello", "this is default", "from me")); // no args in bundle assertEquals("Hello World from me", tp.getText("hello.0", "this is default", "from me")); assertEquals("this is default", tp.getText("not.in.bundle", "this is default", "from me")); @@ -55,7 +53,7 @@ public class TextProviderSupportTest extends XWorkTestCase { assertEquals("not.in.bundle", tp.getText("not.in.bundle")); } - public void testGetTextsWithListArgs() throws Exception { + public void testGetTextsWithListArgs() { List<Object> args = new ArrayList<>(); args.add("Santa"); args.add("loud"); @@ -74,8 +72,8 @@ public class TextProviderSupportTest extends XWorkTestCase { assertEquals("not.in.bundle", tp.getText("not.in.bundle", args)); } - public void testGetTextsWithArrayArgs() throws Exception { - String[] args = { "Santa", "loud" }; + public void testGetTextsWithArrayArgs() { + String[] args = {"Santa", "loud"}; assertEquals("Hello World", tp.getText("hello", "this is default", args)); // no args in bundle assertEquals("Hello World Santa", tp.getText("hello.0", "this is default", args)); // only 1 arg in bundle assertEquals("Hello World. This is Santa speaking loud", tp.getText("hello.1", "this is default", args)); @@ -91,18 +89,18 @@ public class TextProviderSupportTest extends XWorkTestCase { assertEquals("not.in.bundle", tp.getText("not.in.bundle", args)); } - public void testGetBundle() throws Exception { + public void testGetBundle() { assertEquals(rb, tp.getTexts()); assertEquals(rb, tp.getTexts(TextProviderSupportTest.class.getName())); } public void testDifficultSymbols1() { - String val= tp.getText("symbols1"); + String val = tp.getText("symbols1"); assertEquals("\"=!@#$%^&*(){qwe}<>?:|}{[]\\';/.,<>`~'", val); } public void testDifficultSymbols2() { - String val= tp.getText("symbols2"); + String val = tp.getText("symbols2"); assertEquals("\"=!@#$%^&*()<>?:|[]\\';/.,<>`~'", val); } @@ -132,6 +130,7 @@ public class TextProviderSupportTest extends XWorkTestCase { @Override protected void tearDown() throws Exception { + super.tearDown(); rb = null; tp = null; } diff --git a/core/src/test/java/org/apache/struts2/validator/AnnotationActionValidatorManagerTest.java b/core/src/test/java/org/apache/struts2/validator/AnnotationActionValidatorManagerTest.java index 39065c933..029606409 100644 --- a/core/src/test/java/org/apache/struts2/validator/AnnotationActionValidatorManagerTest.java +++ b/core/src/test/java/org/apache/struts2/validator/AnnotationActionValidatorManagerTest.java @@ -27,7 +27,7 @@ import org.apache.struts2.FileManager; import org.apache.struts2.FileManagerFactory; import org.apache.struts2.SimpleAction; import org.apache.struts2.SimpleAnnotationAction; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.entities.ActionConfig; import org.apache.struts2.test.AnnotationDataAware2; diff --git a/core/src/test/java/org/apache/struts2/validator/ConversionErrorFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/ConversionErrorFieldValidatorTest.java index 0d814469b..39a944081 100644 --- a/core/src/test/java/org/apache/struts2/validator/ConversionErrorFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/ConversionErrorFieldValidatorTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.interceptor.ValidationAware; import org.apache.struts2.ValidationAwareSupport; import org.apache.struts2.XWorkTestCase; diff --git a/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java index 660b003ce..522a58bec 100644 --- a/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/DoubleRangeFieldValidatorTest.java @@ -21,7 +21,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionProxy; import org.apache.struts2.ActionSupport; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.ValidationAwareSupport; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.providers.MockConfigurationProvider; diff --git a/core/src/test/java/org/apache/struts2/validator/DummyValidatorContext.java b/core/src/test/java/org/apache/struts2/validator/DummyValidatorContext.java index f386a03cd..e80d1c183 100644 --- a/core/src/test/java/org/apache/struts2/validator/DummyValidatorContext.java +++ b/core/src/test/java/org/apache/struts2/validator/DummyValidatorContext.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import java.util.*; diff --git a/core/src/test/java/org/apache/struts2/validator/EmailValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/EmailValidatorTest.java index 663b96c19..6ad78e01a 100644 --- a/core/src/test/java/org/apache/struts2/validator/EmailValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/EmailValidatorTest.java @@ -20,7 +20,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionSupport; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.validators.EmailValidator; diff --git a/core/src/test/java/org/apache/struts2/validator/ExpressionValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/ExpressionValidatorTest.java index bb4bd4f85..49c0543fa 100644 --- a/core/src/test/java/org/apache/struts2/validator/ExpressionValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/ExpressionValidatorTest.java @@ -25,7 +25,7 @@ import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; import org.apache.struts2.ActionProxy; import org.apache.struts2.TestBean; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.ValidationAwareSupport; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.entities.ActionConfig; diff --git a/core/src/test/java/org/apache/struts2/validator/RegexFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/RegexFieldValidatorTest.java index a7b99ea10..c2988efa0 100644 --- a/core/src/test/java/org/apache/struts2/validator/RegexFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/RegexFieldValidatorTest.java @@ -19,9 +19,8 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; -import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.validators.RegexFieldValidator; import java.util.Arrays; diff --git a/core/src/test/java/org/apache/struts2/validator/RepopulateConversionErrorFieldValidatorSupportTest.java b/core/src/test/java/org/apache/struts2/validator/RepopulateConversionErrorFieldValidatorSupportTest.java index e9d96e71d..4a1d7bf82 100644 --- a/core/src/test/java/org/apache/struts2/validator/RepopulateConversionErrorFieldValidatorSupportTest.java +++ b/core/src/test/java/org/apache/struts2/validator/RepopulateConversionErrorFieldValidatorSupportTest.java @@ -20,7 +20,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionSupport; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.conversion.impl.ConversionData; import org.apache.struts2.mock.MockActionInvocation; diff --git a/core/src/test/java/org/apache/struts2/validator/SimpleActionValidationTest.java b/core/src/test/java/org/apache/struts2/validator/SimpleActionValidationTest.java index 077c0b51f..a3a4fde3f 100644 --- a/core/src/test/java/org/apache/struts2/validator/SimpleActionValidationTest.java +++ b/core/src/test/java/org/apache/struts2/validator/SimpleActionValidationTest.java @@ -21,9 +21,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionProxy; import org.apache.struts2.SimpleAction; -import org.apache.struts2.StubTextProvider; -import org.apache.struts2.StubValueStack; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.providers.MockConfigurationProvider; import org.apache.struts2.config.providers.XmlConfigurationProvider; diff --git a/core/src/test/java/org/apache/struts2/validator/StringLengthFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/StringLengthFieldValidatorTest.java index 9183a773e..1d38b2dbe 100644 --- a/core/src/test/java/org/apache/struts2/validator/StringLengthFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/StringLengthFieldValidatorTest.java @@ -20,7 +20,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionSupport; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.validators.StringLengthFieldValidator; diff --git a/core/src/test/java/org/apache/struts2/validator/StringValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/StringValidatorTest.java index d052b4aea..5583c500b 100644 --- a/core/src/test/java/org/apache/struts2/validator/StringValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/StringValidatorTest.java @@ -22,7 +22,7 @@ import org.apache.struts2.action.Action; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionInvocation; import org.apache.struts2.ActionProxy; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.ValidationAwareSupport; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.entities.ActionConfig; diff --git a/core/src/test/java/org/apache/struts2/validator/URLValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/URLValidatorTest.java index cdad9db37..1d3a60d13 100644 --- a/core/src/test/java/org/apache/struts2/validator/URLValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/URLValidatorTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.validator; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.validators.URLValidator; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/AppendingValidatorContextTest.java b/core/src/test/java/org/apache/struts2/validator/validators/AppendingValidatorContextTest.java index d1875bb19..a1a68064d 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/AppendingValidatorContextTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/AppendingValidatorContextTest.java @@ -22,9 +22,9 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.apache.struts2.CompositeTextProvider; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.CompositeTextProvider; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.validator.DelegatingValidatorContext; import org.apache.struts2.validator.ValidatorContext; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/CreditCardValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/CreditCardValidatorTest.java index 0b16d5d4d..bd5fc672b 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/CreditCardValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/CreditCardValidatorTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator.validators; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; import org.apache.struts2.validator.DummyValidatorContext; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/DateRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/DateRangeFieldValidatorTest.java index a5e49566e..0168a0ac3 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/DateRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/DateRangeFieldValidatorTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.validator.validators; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/IntRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/IntRangeFieldValidatorTest.java index a211cb6e6..116b23e98 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/IntRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/IntRangeFieldValidatorTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator.validators; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/LongRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/LongRangeFieldValidatorTest.java index 2d9953a9d..028661f61 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/LongRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/LongRangeFieldValidatorTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator.validators; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/RequiredFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/RequiredFieldValidatorTest.java index 6755ca591..26c6fef99 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/RequiredFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/RequiredFieldValidatorTest.java @@ -19,7 +19,7 @@ package org.apache.struts2.validator.validators; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.validator.DummyValidatorContext; import org.apache.struts2.StrutsInternalTestCase; import org.junit.Test; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/RequiredStringValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/RequiredStringValidatorTest.java index 22ba2d331..94fb64d76 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/RequiredStringValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/RequiredStringValidatorTest.java @@ -20,7 +20,7 @@ package org.apache.struts2.validator.validators; import org.apache.struts2.ActionContext; import org.apache.struts2.ActionSupport; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.validator.DummyValidatorContext; diff --git a/core/src/test/java/org/apache/struts2/validator/validators/ShortRangeFieldValidatorTest.java b/core/src/test/java/org/apache/struts2/validator/validators/ShortRangeFieldValidatorTest.java index 71871e0f0..1cef8c585 100644 --- a/core/src/test/java/org/apache/struts2/validator/validators/ShortRangeFieldValidatorTest.java +++ b/core/src/test/java/org/apache/struts2/validator/validators/ShortRangeFieldValidatorTest.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.validator.validators; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.util.ValueStack; import org.apache.struts2.util.ValueStackFactory; diff --git a/core/src/test/resources/org/apache/struts2/DefaultTextProviderTest_en_CA.properties b/core/src/test/resources/org/apache/struts2/text/DefaultTextProviderTest_en_CA.properties similarity index 100% rename from core/src/test/resources/org/apache/struts2/DefaultTextProviderTest_en_CA.properties rename to core/src/test/resources/org/apache/struts2/text/DefaultTextProviderTest_en_CA.properties diff --git a/core/src/test/resources/org/apache/struts2/TextProviderSupportTest_en.properties b/core/src/test/resources/org/apache/struts2/text/TextProviderSupportTest_en.properties similarity index 100% rename from core/src/test/resources/org/apache/struts2/TextProviderSupportTest_en.properties rename to core/src/test/resources/org/apache/struts2/text/TextProviderSupportTest_en.properties diff --git a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/BeanValidationInterceptor.java b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/BeanValidationInterceptor.java index 95d95108a..546c69525 100644 --- a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/BeanValidationInterceptor.java +++ b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/BeanValidationInterceptor.java @@ -21,7 +21,7 @@ package org.apache.struts.beanvalidation.validation.interceptor; import org.apache.struts2.ActionInvocation; import org.apache.struts2.ActionProxy; import org.apache.struts2.ModelDriven; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.inject.Inject; import org.apache.struts2.interceptor.MethodFilterInterceptor; import org.apache.struts2.validator.DelegatingValidatorContext; diff --git a/plugins/spring/src/test/java/org/apache/struts2/mock/DummyTextProvider.java b/plugins/spring/src/test/java/org/apache/struts2/mock/DummyTextProvider.java index 9694a0c5f..a76993680 100644 --- a/plugins/spring/src/test/java/org/apache/struts2/mock/DummyTextProvider.java +++ b/plugins/spring/src/test/java/org/apache/struts2/mock/DummyTextProvider.java @@ -18,7 +18,7 @@ */ package org.apache.struts2.mock; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.util.ValueStack; import java.util.List; diff --git a/plugins/spring/src/test/java/org/apache/struts2/spring/SpringObjectFactoryTest.java b/plugins/spring/src/test/java/org/apache/struts2/spring/SpringObjectFactoryTest.java index 01990e59a..0e3e68308 100644 --- a/plugins/spring/src/test/java/org/apache/struts2/spring/SpringObjectFactoryTest.java +++ b/plugins/spring/src/test/java/org/apache/struts2/spring/SpringObjectFactoryTest.java @@ -25,7 +25,7 @@ import org.apache.struts2.ModelDrivenAction; import org.apache.struts2.ObjectFactory; import org.apache.struts2.SimpleAction; import org.apache.struts2.TestBean; -import org.apache.struts2.TextProvider; +import org.apache.struts2.text.TextProvider; import org.apache.struts2.XWorkTestCase; import org.apache.struts2.config.ConfigurationException; import org.apache.struts2.config.entities.ActionConfig; diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/I18NAttributeEvaluator.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/I18NAttributeEvaluator.java index 9844596e6..2c37e0da2 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/I18NAttributeEvaluator.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/I18NAttributeEvaluator.java @@ -19,8 +19,8 @@ package org.apache.struts2.tiles; import org.apache.struts2.ActionContext; -import org.apache.struts2.TextProvider; -import org.apache.struts2.TextProviderFactory; +import org.apache.struts2.text.TextProvider; +import org.apache.struts2.text.TextProviderFactory; import org.apache.struts2.config.ConfigurationException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;