This is an automated email from the ASF dual-hosted git repository. yasserzamani pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/struts.git
commit eca9c34645882b7d28b5b2dab42c0c3b4a0b10a3 Author: Yasser Zamani <yasserzam...@apache.org> AuthorDate: Sat Jun 1 12:52:22 2019 +0430 decouple logMissingProperties from devMode (WW-4999) (cherry picked from commit 9e01fbd) --- .../main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java | 7 +++---- .../java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java | 10 +--------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java b/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java index 3415b39..9fc7868 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java +++ b/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java @@ -181,8 +181,7 @@ public class OgnlValueStack implements Serializable, ValueStack, ClearableValueS private void trySetValue(String expr, Object value, boolean throwExceptionOnFailure, Map<String, Object> context) throws OgnlException { context.put(XWorkConverter.CONVERSION_PROPERTY_FULLNAME, expr); - context.put(REPORT_ERRORS_ON_NO_PROP, throwExceptionOnFailure || (devMode && logMissingProperties) - ? Boolean.TRUE : Boolean.FALSE); + context.put(REPORT_ERRORS_ON_NO_PROP, throwExceptionOnFailure || logMissingProperties ? Boolean.TRUE : Boolean.FALSE); ognlUtil.setValue(expr, context, root, value); } @@ -246,7 +245,7 @@ public class OgnlValueStack implements Serializable, ValueStack, ClearableValueS } protected void setupExceptionOnFailure(boolean throwExceptionOnFailure) { - if (throwExceptionOnFailure || (devMode && logMissingProperties)) { + if (throwExceptionOnFailure || logMissingProperties) { context.put(THROW_EXCEPTION_ON_FAILURE, true); } } @@ -341,7 +340,7 @@ public class OgnlValueStack implements Serializable, ValueStack, ClearableValueS protected boolean shouldLogMissingPropertyWarning(OgnlException e) { return (e instanceof NoSuchPropertyException || (e instanceof MethodFailedException && e.getReason() instanceof NoSuchMethodException)) - && devMode && logMissingProperties; + && logMissingProperties; } private Object tryFindValue(String expr, Class asType) throws OgnlException { diff --git a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java index e4b13a0..5fa8aa8 100644 --- a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java @@ -248,7 +248,6 @@ public class OgnlValueStackTest extends XWorkTestCase { public void testLogMissingProperties() { OgnlValueStack vs = createValueStack(); - vs.setDevMode("true"); vs.setLogMissingProperties("true"); Dog dog = new Dog(); @@ -279,7 +278,6 @@ public class OgnlValueStackTest extends XWorkTestCase { public void testNotLogUserExceptionsAsMissingProperties() { OgnlValueStack vs = createValueStack(); - vs.setDevMode("true"); vs.setLogMissingProperties("true"); Dog dog = new Dog(); @@ -301,13 +299,7 @@ public class OgnlValueStackTest extends XWorkTestCase { vs.findValue("getBite()", false); vs.findValue("getBite()", void.class, false); - assertEquals(8, testAppender.logEvents.size()); - for (int i = 0; i < testAppender.logEvents.size(); i += 2) { - assertTrue(testAppender.logEvents.get(i).getMessage().getFormattedMessage() - .startsWith("Caught an exception while evaluating expression '")); - assertEquals("NOTE: Previous warning message was issued due to devMode set to true.", - testAppender.logEvents.get(i + 1).getMessage().getFormattedMessage()); - } + assertEquals(0, testAppender.logEvents.size()); } finally { testAppender.stop(); logger.removeAppender(testAppender);