This is an automated email from the ASF dual-hosted git repository. kusal pushed a commit to branch 7.0.x/merge-master-2024-11-01 in repository https://gitbox.apache.org/repos/asf/struts.git
commit 56004a10a291b4f3d3210e0fb8ccdddf77931a00 Merge: 91154f0ec 2757c2357 Author: Kusal Kithul-Godage <g...@kusal.io> AuthorDate: Fri Nov 1 15:32:30 2024 +1100 Merge branch 'kusal-depr-apis-5' into 7.0.x/merge-master-2024-11-01 # Conflicts: # core/src/main/java/com/opensymphony/xwork2/ActionEventListener.java # core/src/main/java/com/opensymphony/xwork2/ModelDriven.java # core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java # core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java # core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java # core/src/main/java/org/apache/struts2/interceptor/ActionFileUploadInterceptor.java # plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java # plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java .../com/opensymphony/xwork2/ActionContext.java | 13 +- .../opensymphony/xwork2/ActionEventListener.java | 58 +++-- .../com/opensymphony/xwork2/ActionInvocation.java | 27 ++- .../java/com/opensymphony/xwork2/ActionProxy.java | 151 ++++++------ .../java/com/opensymphony/xwork2/ModelDriven.java | 22 +- .../java/com/opensymphony/xwork2/Preparable.java | 17 +- .../main/java/com/opensymphony/xwork2/Result.java | 3 + .../java/com/opensymphony/xwork2/Unchainable.java | 7 +- .../java/com/opensymphony/xwork2/Validateable.java | 15 +- .../xwork2/interceptor/AliasInterceptor.java | 1 + .../xwork2/interceptor/ChainingInterceptor.java | 2 +- .../interceptor/ConversionErrorInterceptor.java | 1 + .../interceptor/DefaultWorkflowInterceptor.java | 3 + .../xwork2/interceptor/ModelDrivenInterceptor.java | 2 +- .../xwork2/interceptor/PreResultListener.java | 3 + .../xwork2/interceptor/PrepareInterceptor.java | 2 +- .../xwork2/interceptor/ScopedModelDriven.java | 21 +- .../interceptor/ScopedModelDrivenInterceptor.java | 1 + .../interceptor/StaticParametersInterceptor.java | 1 + .../xwork2/interceptor/ValidationAware.java | 179 ++++++-------- .../xwork2/interceptor/ValidationErrorAware.java | 20 +- .../interceptor/ValidationWorkflowAware.java | 10 +- .../com/opensymphony/xwork2/util/DebugUtils.java | 2 +- .../xwork2/util/StrutsLocalizedTextProvider.java | 2 +- .../com/opensymphony/xwork2/util/ValueStack.java | 257 ++++++++++----------- .../validator/DelegatingValidatorContext.java | 4 +- .../xwork2/validator/ValidationInterceptor.java | 52 ++--- .../java/org/apache/struts2/ActionContext.java | 2 +- .../apache/struts2}/ActionEventListener.java | 8 +- .../java/org/apache/struts2/ActionInvocation.java | 6 +- .../xwork2 => org/apache/struts2}/ActionProxy.java | 11 +- .../xwork2 => org/apache/struts2}/ModelDriven.java | 5 +- .../xwork2 => org/apache/struts2}/Preparable.java | 4 +- .../xwork2 => org/apache/struts2}/Unchainable.java | 2 +- .../apache/struts2}/Validateable.java | 4 +- .../interceptor/AbstractFileUploadInterceptor.java | 1 - .../interceptor/ActionFileUploadInterceptor.java | 1 - .../interceptor/MessageStorePreResultListener.java | 1 - .../struts2}/interceptor/ScopedModelDriven.java | 8 +- .../struts2/interceptor/TokenInterceptor.java | 1 - .../struts2}/interceptor/ValidationAware.java | 2 +- .../struts2}/interceptor/ValidationErrorAware.java | 2 +- .../interceptor/ValidationWorkflowAware.java | 2 +- .../apache/struts2}/util/ValueStack.java | 7 +- .../ConfigurationProviderOgnlAllowlistTest.java | 12 +- .../interceptor/BeanValidationInterceptor.java | 2 +- .../java/org/apache/struts2/json/JSONResult.java | 2 +- .../struts2/json/JSONValidationInterceptor.java | 8 +- .../apache/struts2/junit/StrutsJUnit4TestCase.java | 2 +- .../struts2/rest/ContentTypeInterceptor.java | 2 +- .../apache/struts2/rest/RestActionInvocation.java | 12 +- .../struts2/rest/RestWorkflowInterceptor.java | 2 +- .../struts2/rest/handler/XStreamHandler.java | 2 +- 53 files changed, 464 insertions(+), 523 deletions(-) diff --cc core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java index 118811a59,05749ae19..f3fd6fecd --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java @@@ -25,9 -25,10 +25,12 @@@ import org.apache.commons.lang3.StringU import org.apache.commons.lang3.reflect.MethodUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; + import org.apache.struts2.interceptor.ValidationAware; + import org.apache.struts2.interceptor.ValidationErrorAware; + import org.apache.struts2.interceptor.ValidationWorkflowAware; +import java.io.Serial; + /** * <!-- START SNIPPET: description --> * <p> diff --cc core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java index 78b3b9c95,e4d5af634..efaeb4a61 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java @@@ -19,9 -19,8 +19,9 @@@ package com.opensymphony.xwork2.interceptor; import com.opensymphony.xwork2.ActionInvocation; - import com.opensymphony.xwork2.Preparable; + import org.apache.struts2.Preparable; +import java.io.Serial; import java.lang.reflect.InvocationTargetException; /** diff --cc core/src/main/java/com/opensymphony/xwork2/util/DebugUtils.java index d0f35af05,ff7042b59..6838d0113 --- a/core/src/main/java/com/opensymphony/xwork2/util/DebugUtils.java +++ b/core/src/main/java/com/opensymphony/xwork2/util/DebugUtils.java @@@ -19,12 -19,9 +19,12 @@@ package com.opensymphony.xwork2.util; import com.opensymphony.xwork2.TextProvider; - import com.opensymphony.xwork2.interceptor.ValidationAware; import org.apache.logging.log4j.Logger; + import org.apache.struts2.interceptor.ValidationAware; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + /** * @since 6.5.0 */ diff --cc core/src/main/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProvider.java index abe407866,60ef3477a..d059b85ce --- a/core/src/main/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProvider.java +++ b/core/src/main/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProvider.java @@@ -20,12 -20,11 +20,12 @@@ package com.opensymphony.xwork2.util import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; - import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.conversion.impl.XWorkConverter; -import com.opensymphony.xwork2.util.reflection.ReflectionProviderFactory; +import com.opensymphony.xwork2.inject.Inject; +import com.opensymphony.xwork2.util.reflection.ReflectionProvider; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; + import org.apache.struts2.ModelDriven; import java.beans.PropertyDescriptor; import java.util.Locale; diff --cc core/src/main/java/org/apache/struts2/ActionInvocation.java index 1ad744b5e,5fcbc75ec..70599dd3b --- a/core/src/main/java/org/apache/struts2/ActionInvocation.java +++ b/core/src/main/java/org/apache/struts2/ActionInvocation.java @@@ -19,15 -19,13 +19,13 @@@ package org.apache.struts2; import com.opensymphony.xwork2.ActionChainResult; - import com.opensymphony.xwork2.ActionEventListener; - import com.opensymphony.xwork2.ActionProxy; - import com.opensymphony.xwork2.util.ValueStack; import org.apache.struts2.interceptor.PreResultListener; + import org.apache.struts2.util.ValueStack; /** - * An {@link ActionInvocation} represents the execution state of an {@link com.opensymphony.xwork2.Action}. It holds the Interceptors and the Action instance. + * An {@link ActionInvocation} represents the execution state of an {@link Action}. It holds the Interceptors and the Action instance. * By repeated re-entrant execution of the <code>invoke()</code> method, initially by the {@link ActionProxy}, then by the Interceptors, the - * Interceptors are all executed, and then the {@link Action} and the {@link com.opensymphony.xwork2.Result}. + * Interceptors are all executed, and then the {@link Action} and the {@link Result}. * * @author Jason Carreira * @see ActionProxy diff --cc core/src/main/java/org/apache/struts2/ModelDriven.java index fc7f9a348,0704109f1..30335a1ca --- a/core/src/main/java/org/apache/struts2/ModelDriven.java +++ b/core/src/main/java/org/apache/struts2/ModelDriven.java @@@ -16,10 -16,8 +16,10 @@@ * specific language governing permissions and limitations * under the License. */ - package com.opensymphony.xwork2; + package org.apache.struts2; +import org.apache.struts2.interceptor.parameter.StrutsParameter; + /** * ModelDriven Actions provide a model object to be pushed onto the ValueStack * in addition to the Action itself, allowing a FormBean type approach like Struts. diff --cc core/src/main/java/org/apache/struts2/interceptor/ActionFileUploadInterceptor.java index 3b6ef08aa,681a8ab92..ecff7d41e --- a/core/src/main/java/org/apache/struts2/interceptor/ActionFileUploadInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/ActionFileUploadInterceptor.java @@@ -20,9 -20,6 +20,8 @@@ package org.apache.struts2.interceptor import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.ActionProxy; - import com.opensymphony.xwork2.interceptor.ValidationAware; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequestWrapper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.action.UploadedFilesAware; diff --cc plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/BeanValidationInterceptor.java index fd14205e3,e36e3c63c..cc95dfef0 --- 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 @@@ -33,11 -32,12 +32,12 @@@ import org.apache.logging.log4j.LogMana import org.apache.logging.log4j.Logger; import org.apache.struts.beanvalidation.constraints.ValidationGroup; import org.apache.struts.beanvalidation.validation.constant.ValidatorConstants; + import org.apache.struts2.ModelDriven; import org.apache.struts2.interceptor.validation.SkipValidation; -import javax.validation.ConstraintViolation; -import javax.validation.Validator; -import javax.validation.groups.Default; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.Validator; +import jakarta.validation.groups.Default; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Set; diff --cc plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java index 912a110b5,354780b38..fa6863662 --- a/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java +++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java @@@ -20,16 -20,16 +20,16 @@@ package org.apache.struts2.json import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; - import com.opensymphony.xwork2.ModelDriven; - import com.opensymphony.xwork2.interceptor.ValidationAware; import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor; - import org.apache.logging.log4j.Logger; - import org.apache.logging.log4j.LogManager; import org.apache.commons.text.StringEscapeUtils; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; + import org.apache.struts2.ModelDriven; import org.apache.struts2.ServletActionContext; + import org.apache.struts2.interceptor.ValidationAware; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collection; import java.util.List; diff --cc plugins/junit/src/main/java/org/apache/struts2/junit/StrutsJUnit4TestCase.java index f57c985a2,93a08e399..4fa6f10ae --- a/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsJUnit4TestCase.java +++ b/plugins/junit/src/main/java/org/apache/struts2/junit/StrutsJUnit4TestCase.java @@@ -22,13 -22,8 +22,12 @@@ import com.opensymphony.xwork2.ActionCo import com.opensymphony.xwork2.ActionProxy; import com.opensymphony.xwork2.ActionProxyFactory; import com.opensymphony.xwork2.config.Configuration; - import com.opensymphony.xwork2.interceptor.ValidationAware; import com.opensymphony.xwork2.interceptor.annotations.After; import com.opensymphony.xwork2.interceptor.annotations.Before; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.ServletActionContext; import org.apache.struts2.dispatcher.Dispatcher; diff --cc plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java index 850bdfc4f,076f94d87..4c76f7b37 --- a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java +++ b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java @@@ -26,14 -29,15 +29,15 @@@ import com.opensymphony.xwork2.inject.I import org.apache.commons.lang3.BooleanUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; + import org.apache.struts2.ModelDriven; import org.apache.struts2.ServletActionContext; - import org.apache.struts2.result.HttpHeaderResult; + import org.apache.struts2.interceptor.ValidationAware; import org.apache.struts2.rest.handler.ContentTypeHandler; import org.apache.struts2.rest.handler.HtmlHandler; + import org.apache.struts2.result.HttpHeaderResult; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.Map;