This is an automated email from the ASF dual-hosted git repository.
fhanik pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 814f52b Minor EL bugs when running under Graal/SubstrateVM
814f52b is described below
commit 814f52b4e36b54bec957ccd12354b8b70bc28e69
Author: Filip Hanik <[email protected]>
AuthorDate: Thu Jul 23 12:17:33 2020 -0700
Minor EL bugs when running under Graal/SubstrateVM
---
java/org/apache/jasper/el/JasperELResolver.java | 4 ++++
test/org/apache/jasper/el/TestJasperELResolver.java | 8 +++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/java/org/apache/jasper/el/JasperELResolver.java
b/java/org/apache/jasper/el/JasperELResolver.java
index 99189807..1d72630 100644
--- a/java/org/apache/jasper/el/JasperELResolver.java
+++ b/java/org/apache/jasper/el/JasperELResolver.java
@@ -199,6 +199,7 @@ public class JasperELResolver extends CompositeELResolver {
if (method != null) {
context.setPropertyResolved(base, property);
try {
+ method.setAccessible(true);
value = method.invoke(base, (Object[]) null);
} catch (Exception ex) {
Throwable thr =
ExceptionUtils.unwrapInvocationTargetException(ex);
@@ -211,6 +212,9 @@ public class JasperELResolver extends CompositeELResolver {
@Override
public void setValue(ELContext context, Object base, Object property,
Object value) {
+ if (base == null) {
+ return;
+ }
Method method = getWriteMethod(base.getClass(),
property.toString());
if (method != null) {
context.setPropertyResolved(base, property);
diff --git a/test/org/apache/jasper/el/TestJasperELResolver.java
b/test/org/apache/jasper/el/TestJasperELResolver.java
index 948465c..f2eef62 100644
--- a/test/org/apache/jasper/el/TestJasperELResolver.java
+++ b/test/org/apache/jasper/el/TestJasperELResolver.java
@@ -28,6 +28,7 @@ import org.junit.Assert;
import org.junit.Test;
import org.apache.el.stream.StreamELResolverImpl;
+import org.apache.jasper.runtime.JspRuntimeLibrary;
public class TestJasperELResolver {
@@ -53,15 +54,16 @@ public class TestJasperELResolver {
list.add(new ImplicitObjectELResolver());
}
+ int adjustedForGraalCount = JspRuntimeLibrary.GRAAL ? count + 1 :
count;
+
JasperELResolver resolver =
new JasperELResolver(list, new StreamELResolverImpl());
-
Assert.assertEquals(Integer.valueOf(count),
getField("appResolversSize", resolver));
- Assert.assertEquals(9 + count,
+ Assert.assertEquals(9 + adjustedForGraalCount,
((ELResolver[])getField("resolvers", resolver)).length);
- Assert.assertEquals(Integer.valueOf(9 + count),
+ Assert.assertEquals(Integer.valueOf(9 + adjustedForGraalCount),
Integer.valueOf(((AtomicInteger) getField("resolversSize",
resolver)).get()));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]