This is an automated email from the ASF dual-hosted git repository.
thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/javax by this push:
new 3ac943a1b TAP5-2775: exception in production mode and array parameter
3ac943a1b is described below
commit 3ac943a1b374cef0fa15bb9bd638da68a340c3e8
Author: Thiago H. de Paula Figueiredo <[email protected]>
AuthorDate: Sat Apr 20 10:02:17 2024 -0300
TAP5-2775: exception in production mode and array parameter
---
.../services/pageload/PageClassLoaderContextManagerImpl.java | 8 +++++++-
.../tapestry5/integration/app1/components/SubclassWithImport.java | 6 ++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index f2a20ead5..afe8a6746 100644
---
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -126,7 +126,7 @@ public class PageClassLoaderContextManagerImpl implements
PageClassLoaderContext
{
PageClassLoaderContext context;
- final String enclosingClassName =
PlasticUtils.getEnclosingClassName(className);
+ final String enclosingClassName = getAdjustedClassName(className);
context = root.findByClassName(enclosingClassName);
if (context == null)
@@ -156,6 +156,12 @@ public class PageClassLoaderContextManagerImpl implements
PageClassLoaderContext
}
+ private String getAdjustedClassName(final String className)
+ {
+ return PlasticUtils.getEnclosingClassName(className)
+ .replaceAll("\\[\\]", "");
+ }
+
private PageClassLoaderContext getUnknownContext(final
PageClassLoaderContext root,
final Function<ClassLoader, PlasticProxyFactory>
plasticProxyFactoryProvider)
{
diff --git
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
index 9f3a743c4..9b865bef8 100644
---
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
+++
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
@@ -3,10 +3,16 @@ package org.apache.tapestry5.integration.app1.components;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.Cached;
import org.apache.tapestry5.annotations.Import;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.corelib.components.Zone;
@Import(stylesheet = "context:css/ie-only.css")
public class SubclassWithImport extends SuperclassWithImport {
+ // Just to test a bug happening when a parameter is an array type
+ @Parameter
+ private Zone[][][][][] zones;
+
@Cached
public int getInt()
{