This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 14c0dbbc79 Additional tweaks for 66235
14c0dbbc79 is described below
commit 14c0dbbc797ab6f04dda68f4372095b789284558
Author: remm <[email protected]>
AuthorDate: Wed Aug 24 14:20:05 2022 +0200
Additional tweaks for 66235
---
java/org/apache/jasper/el/JasperELResolver.java | 23 ++++++++++------------
.../org/apache/jasper/el/TestJasperELResolver.java | 10 ++++++++--
2 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/java/org/apache/jasper/el/JasperELResolver.java
b/java/org/apache/jasper/el/JasperELResolver.java
index 36e4edc4d5..7b7a95c30c 100644
--- a/java/org/apache/jasper/el/JasperELResolver.java
+++ b/java/org/apache/jasper/el/JasperELResolver.java
@@ -241,25 +241,22 @@ public class JasperELResolver extends CompositeELResolver
{
}
private static Method getReadMethod(Class<?> beanClass, String prop) {
- Method result = null;
- String getter = "get" + capitalize(prop);
Method methods[] = beanClass.getMethods();
+ String isGetter = "is" + capitalize(prop);
+ String getter = "get" + capitalize(prop);
for (Method method : methods) {
- if (method.getParameterCount() == 0 &&
getter.equals(method.getName())) {
- return method;
- }
- }
- getter = "is" + capitalize(prop);
- for (Method method : methods) {
- if (method.getParameterCount() == 0 &&
getter.equals(method.getName())) {
- return method;
+ if (method.getParameterCount() == 0) {
+ if (isGetter.equals(method.getName()) &&
method.getReturnType().equals(boolean.class)) {
+ return method;
+ } else if (getter.equals(method.getName())) {
+ return method;
+ }
}
}
- return result;
+ return null;
}
private static Method getWriteMethod(Class<?> beanClass, String prop,
Class<?> valueClass) {
- Method result = null;
String setter = "set" + capitalize(prop);
Method methods[] = beanClass.getMethods();
for (Method method : methods) {
@@ -268,7 +265,7 @@ public class JasperELResolver extends CompositeELResolver {
return method;
}
}
- return result;
+ return null;
}
private static String capitalize(String name) {
diff --git a/test/org/apache/jasper/el/TestJasperELResolver.java
b/test/org/apache/jasper/el/TestJasperELResolver.java
index 8605e62e22..e00a81a9e4 100644
--- a/test/org/apache/jasper/el/TestJasperELResolver.java
+++ b/test/org/apache/jasper/el/TestJasperELResolver.java
@@ -83,8 +83,9 @@ public class TestJasperELResolver {
ELResolver resolver = new JasperELResolver.GraalBeanELResolver();
ELContext context = new ELContextImpl(resolver);
Assert.assertEquals("foo", resolver.getValue(context, new TestBean(),
"foo"));
+ Assert.assertEquals(Boolean.TRUE, resolver.getValue(context, new
TestBean(), "foo2"));
Assert.assertEquals("bla", resolver.getValue(context, new TestBean(),
"bla"));
- Assert.assertEquals("foobar", resolver.getValue(context, new
TestBean(), "foobar"));
+ Assert.assertNull(resolver.getValue(context, new TestBean(),
"foobar"));
Assert.assertNull(resolver.getValue(context, new TestBean(), "bar"));
Assert.assertFalse(resolver.isReadOnly(context, new TestBean(),
"foo"));
Assert.assertTrue(resolver.isReadOnly(context, new TestBean(), "bla"));
@@ -96,13 +97,18 @@ public class TestJasperELResolver {
}
public void setFoo(@SuppressWarnings("unused") String foo) {
}
+ public boolean isFoo2() {
+ return true;
+ }
+ public void setFoo2(@SuppressWarnings("unused") boolean foo) {
+ }
public String getBar(@SuppressWarnings("unused") boolean i) {
return "bar";
}
public String isFoobar() {
return "foobar";
}
- public String isBla() {
+ public String getBla() {
return "bla";
}
public void setBla(@SuppressWarnings("unused") Object bla) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]