This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git
The following commit(s) were added to refs/heads/master by this push:
new d20e207 SLING-13091 Expose information about wrapped servlets
d20e207 is described below
commit d20e2074a297ae4409a553819609775ee086eb9a
Author: Konrad Windszus <[email protected]>
AuthorDate: Tue Feb 3 14:05:43 2026 +0100
SLING-13091 Expose information about wrapped servlets
---
.../resolver/internal/console/WebConsolePlugin.java | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/internal/console/WebConsolePlugin.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/console/WebConsolePlugin.java
index a1d86e0..527fbab 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/internal/console/WebConsolePlugin.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/console/WebConsolePlugin.java
@@ -48,6 +48,7 @@ import org.apache.sling.api.servlets.JakartaOptingServlet;
import org.apache.sling.api.uri.SlingUriBuilder;
import org.apache.sling.serviceusermapping.ServiceUserMapped;
import org.apache.sling.servlets.resolver.internal.ResolverConfig;
+import org.apache.sling.servlets.resolver.internal.ServletWrapperUtil;
import org.apache.sling.servlets.resolver.internal.SlingServletResolver;
import org.apache.sling.servlets.resolver.internal.bundle.BundledScriptServlet;
import org.apache.sling.servlets.resolver.internal.helper.ResourceCollector;
@@ -450,13 +451,28 @@ public class WebConsolePlugin extends HttpServlet {
details.append(" (Bundled Script)");
} else {
final boolean isOptingServlet = servlet instanceof
JakartaOptingServlet;
- details.append(Encode.forHtml(servlet.getClass().getName()));
+ final Class<?> servletClass;
+ javax.servlet.Servlet javaxServlet = null;
+ // unwrap Jakarta wrappers
+ if (servlet instanceof
ServletWrapperUtil.JakartaScriptServletWrapper wrapper) {
+ javaxServlet = wrapper.servlet;
+
+ } else if (servlet instanceof
ServletWrapperUtil.JakartaScriptOptingServletWrapper wrapper) {
+ javaxServlet = wrapper.servlet;
+ }
+ if (javaxServlet != null) {
+ servletClass = javaxServlet.getClass();
+ details.append("Jakarta wrapper for ");
+ } else {
+ servletClass = servlet.getClass();
+ }
+ details.append(Encode.forHtml(servletClass.getName()));
if (isOptingServlet) {
details.append(" (OptingServlet)");
} else {
details.append(" (Servlet)");
}
- bundle = FrameworkUtil.getBundle(servlet.getClass());
+ bundle = FrameworkUtil.getBundle(servletClass);
}
if (bundle != null) {
details.append(" in bundle '")