From db9684e1c12386548a5ac5dab31076a618db4a46 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 3 Jan 2025 17:04:15 +0100 Subject: [PATCH] WW-5498 Adds devMode errors as action messages to avoid breaking validation logic --- .../main/java/org/apache/struts2/util/DebugUtils.java | 2 +- .../parameter/ParametersInterceptorTest.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) 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 a7cb8dcced..cc8ca5f5f4 100644 --- a/core/src/main/java/org/apache/struts2/util/DebugUtils.java +++ b/core/src/main/java/org/apache/struts2/util/DebugUtils.java @@ -38,7 +38,7 @@ public static void notifyDeveloperOfError(Logger log, Object action, String mess } log.error(message); if (action instanceof ValidationAware validationAware) { - validationAware.addActionError(message); + validationAware.addActionMessage(message); } } 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 c064e92696..11113237c6 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 @@ -117,9 +117,9 @@ public void testInsecureParameters() throws Exception { pi.applyParameters(action, vs, HttpParameters.create(params).build()); // then - assertEquals(3, action.getActionErrors().size()); + assertEquals(3, action.getActionMessages().size()); - List actionErrors = new ArrayList<>(action.getActionErrors()); + List actionErrors = new ArrayList<>(action.getActionMessages()); String msg1 = actionErrors.get(0); String msg2 = actionErrors.get(1); @@ -204,9 +204,9 @@ protected boolean isExcluded(String paramName) { pi.applyParameters(action, vs, HttpParameters.create(params).build()); // then - assertEquals(3, action.getActionErrors().size()); + assertEquals(3, action.getActionMessages().size()); - List actionErrors = new ArrayList<>(action.getActionErrors()); + List actionErrors = new ArrayList<>(action.getActionMessages()); String msg1 = actionErrors.get(0); String msg2 = actionErrors.get(1); String msg3 = actionErrors.get(2); @@ -586,7 +586,7 @@ public void testNonexistentParametersGetLoggedInDevMode() throws Exception { container.inject(config.getInterceptors().get(0).getInterceptor()); ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext.getContextMap()); proxy.execute(); - final String actionError = "" + ((SimpleAction) proxy.getAction()).getActionErrors().toArray()[0]; + final String actionError = "" + ((SimpleAction) proxy.getAction()).getActionMessages().toArray()[0]; assertTrue(actionError.contains("Error setting expression 'not_a_property' with value 'There is no action property named like this'")); }