You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2022/08/24 12:21:37 UTC
[tomcat] branch 10.0.x updated: Additional tweaks for 66235
This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.0.x by this push:
new 6b7157529f Additional tweaks for 66235
6b7157529f is described below
commit 6b7157529ff787a5ce5bc3e4bcd94e708a10fe80
Author: remm <re...@apache.org>
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 2164dada30..c38c9daf7d 100644
--- a/java/org/apache/jasper/el/JasperELResolver.java
+++ b/java/org/apache/jasper/el/JasperELResolver.java
@@ -236,25 +236,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) {
@@ -263,7 +260,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 819d9045e3..644fcf5eb8 100644
--- a/test/org/apache/jasper/el/TestJasperELResolver.java
+++ b/test/org/apache/jasper/el/TestJasperELResolver.java
@@ -81,8 +81,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"));
@@ -94,13 +95,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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org