This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5697-indexed-access-fast-path in repository https://gitbox.apache.org/repos/asf/struts.git
commit 0360f733daad1694ed630c03ee2d3a9df585d680 Author: Lukasz Lenart <[email protected]> AuthorDate: Thu Aug 27 07:23:16 2026 +0200 WW-5697 chore(ognl): deprecate DENY_INDEXED_ACCESS_EXECUTION Nothing in the framework has ever written this key, so the check it guarded in XWorkMethodAccessor never fired. Now that indexed property access is identified from the target type rather than from a method name prefix, the flag has nothing left to guard. It is public API, so it is deprecated here rather than deleted, and removal is tracked for 8.0.0 in WW-5699. Co-Authored-By: Claude Opus 5 <[email protected]> --- .../org/apache/struts2/util/reflection/ReflectionContextState.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/main/java/org/apache/struts2/util/reflection/ReflectionContextState.java b/core/src/main/java/org/apache/struts2/util/reflection/ReflectionContextState.java index cc2f457c3..aa387c62d 100644 --- a/core/src/main/java/org/apache/struts2/util/reflection/ReflectionContextState.java +++ b/core/src/main/java/org/apache/struts2/util/reflection/ReflectionContextState.java @@ -38,6 +38,13 @@ public class ReflectionContextState { public static final String FULL_PROPERTY_PATH = "current.property.path"; // TODO: Probably a bug public static final String CREATE_NULL_OBJECTS = "xwork.NullHandler.createNullObjects"; public static final String DENY_METHOD_EXECUTION = "xwork.MethodAccessor.denyMethodExecution"; + /** + * @deprecated since 7.4.0, no replacement. Nothing in the framework has ever set this key, so it has + * never had any effect. Indexed property access is now identified by inspecting the target type rather + * than by trusting a method name prefix, which leaves this flag with nothing to guard. Scheduled for + * removal in 8.0.0 by WW-5699. + */ + @Deprecated public static final String DENY_INDEXED_ACCESS_EXECUTION = "xwork.IndexedPropertyAccessor.denyMethodExecution"; public static boolean isCreatingNullObjects(Map<String, Object> context) {
