This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch jakarta-2
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git


The following commit(s) were added to refs/heads/jakarta-2 by this push:
     new 03ac814  Implement SlingServletResolver, fix test cases
03ac814 is described below

commit 03ac814316e6b343d99f665c729221b86215e8fe
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Fri Jan 3 10:18:20 2025 +0100

    Implement SlingServletResolver, fix test cases
---
 pom.xml                                            | 12 ++++++++---
 .../resolver/internal/SlingServletResolver.java    | 23 ++++++++++++++++------
 .../resolver/it/ServletResolverTestSupport.java    |  6 +++++-
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5c8b50a..b189f29 100644
--- a/pom.xml
+++ b/pom.xml
@@ -207,6 +207,12 @@
             <version>6.0.0</version>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.http.wrappers</artifactId>
+            <version>1.1.8</version>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>jakarta.json</groupId>
             <artifactId>jakarta.json-api</artifactId>
@@ -245,7 +251,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.engine</artifactId>
-            <version>2.15.0</version>
+            <version>2.16.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -401,13 +407,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.resourceresolver</artifactId>
-            <version>1.10.0</version>
+            <version>1.12.3-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.core</artifactId>
-            <version>2.2.0</version>
+            <version>2.4.11-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
index cb89bed..3f81809 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.felix.http.jakartawrappers.ServletWrapper;
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
@@ -54,6 +55,7 @@ import org.apache.sling.api.servlets.ErrorHandler;
 import org.apache.sling.api.servlets.OptingServlet;
 import org.apache.sling.api.servlets.ServletResolver;
 import org.apache.sling.api.servlets.ServletResolverConstants;
+import org.apache.sling.api.wrappers.JakartaToJavaxRequestWrapper;
 import org.apache.sling.serviceusermapping.ServiceUserMapped;
 import 
org.apache.sling.servlets.resolver.internal.defaults.DefaultErrorHandlerServlet;
 import org.apache.sling.servlets.resolver.internal.defaults.DefaultServlet;
@@ -851,20 +853,29 @@ public class SlingServletResolver
        }
 
     @Override
-    public jakarta.servlet.@Nullable Servlet resolve(@NotNull 
SlingJakartaHttpServletRequest request) {
-        // TODO Auto-generated method stub
+    public jakarta.servlet.@Nullable Servlet resolve(@NotNull final 
SlingJakartaHttpServletRequest request) {
+        final Servlet servlet = this.resolveServlet(new 
JakartaToJavaxRequestWrapper(request));
+        if (servlet != null) {
+            return new ServletWrapper(servlet);
+        }
         return null;
     }
 
     @Override
-    public jakarta.servlet.@Nullable Servlet resolve(@NotNull Resource 
resource, @NotNull String scriptName) {
-        // TODO Auto-generated method stub
+    public jakarta.servlet.@Nullable Servlet resolve(@NotNull final Resource 
resource, @NotNull final String scriptName) {
+        final Servlet servlet = this.resolveServlet(resource, scriptName);
+        if (servlet != null) {
+            return new ServletWrapper(servlet);
+        }
         return null;
     }
 
     @Override
-    public jakarta.servlet.@Nullable Servlet resolve(@NotNull ResourceResolver 
resolver, @NotNull String scriptName) {
-        // TODO Auto-generated method stub
+    public jakarta.servlet.@Nullable Servlet resolve(@NotNull final 
ResourceResolver resolver, @NotNull final String scriptName) {
+        final Servlet servlet = this.resolveServlet(resolver, scriptName);
+        if (servlet != null) {
+            return new ServletWrapper(servlet);
+        }
         return null;
     }
 }
diff --git 
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
 
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
index a0ae52e..1b5143f 100644
--- 
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
+++ 
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
@@ -101,7 +101,9 @@ public class ServletResolverTestSupport extends TestSupport 
{
         versionResolver.setVersionFromProject(SLING_GROUP_ID, 
"org.apache.sling.scripting.core");
         versionResolver.setVersionFromProject(SLING_GROUP_ID, 
"org.apache.sling.commons.johnzon");
         versionResolver.setVersionFromProject(SLING_GROUP_ID, 
"org.apache.sling.engine");
-        versionResolver.setVersion(SLING_GROUP_ID, 
"org.apache.sling.auth.core", "1.6.0");
+        versionResolver.setVersion(SLING_GROUP_ID, 
"org.apache.sling.auth.core", "1.7.1-SNAPSHOT");
+        // the following is needed until we update to Apache Felix Http Jetty12
+        versionResolver.setVersion("org.apache.felix", 
"org.apache.felix.http.servlet-api", "3.0.0");
         versionResolver.setVersion("commons-fileupload", "commons-fileupload", 
"1.5");
         return options(
             composite(
@@ -123,6 +125,8 @@ public class ServletResolverTestSupport extends TestSupport 
{
                 
mavenBundle().groupId("org.glassfish").artifactId("jakarta.json").versionAsInProject(),
                 //
                 
mavenBundle().groupId("commons-codec").artifactId("commons-codec").version("1.15"),
+                // the following is needed until we update to Apache Felix 
Http Jetty12
+                
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.wrappers").versionAsInProject(),
                 //
                 
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.healthcheck.api").versionAsInProject(),
                 //

Reply via email to