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 <fha...@pivotal.io> 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org