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

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 11034d0  Use official resource resolver factory api to get resource 
resolver
11034d0 is described below

commit 11034d0c61a42d3723ed53495bed39ecfdcabb76
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Feb 10 14:32:58 2022 +0100

    Use official resource resolver factory api to get resource resolver
---
 .../java/org/apache/sling/jaxrs/TestService.java   | 25 +++++++++++-----------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git 
a/aries-jax-rs-whiteboard/src/main/java/org/apache/sling/jaxrs/TestService.java 
b/aries-jax-rs-whiteboard/src/main/java/org/apache/sling/jaxrs/TestService.java
index 9f5ed6f..59d08ea 100644
--- 
a/aries-jax-rs-whiteboard/src/main/java/org/apache/sling/jaxrs/TestService.java
+++ 
b/aries-jax-rs-whiteboard/src/main/java/org/apache/sling/jaxrs/TestService.java
@@ -18,7 +18,6 @@
  */
 package org.apache.sling.jaxrs;
 
-import javax.jcr.Session;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
@@ -31,7 +30,9 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 import org.osgi.service.jaxrs.whiteboard.propertytypes.JaxrsResource;
 
 @Path("/test")
@@ -42,13 +43,15 @@ public class TestService {
 
        static int counter;
         
-       static ResourceResolver getResourceResolver(HttpServletRequest request) 
{
-               final Object obj = 
request.getAttribute("org.apache.sling.auth.core.ResourceResolver");
-               if(obj instanceof ResourceResolver) {
-                       return (ResourceResolver)obj;
-               }
-               throw new IllegalStateException("Request does not provide a 
ResourceResolver");
+       @Reference
+       private ResourceResolverFactory factory;
 
+       ResourceResolver getResourceResolver(HttpServletRequest request) {
+               ResourceResolver rr = factory.getThreadResourceResolver();
+               if ( rr != null ) {
+                       return rr;
+               }
+                throw new IllegalStateException("Request does not provide a 
ResourceResolver");
        }
 
        @GET
@@ -67,11 +70,7 @@ public class TestService {
        @Path("/userinfo")
        public String getUserInfo(@Context HttpServletRequest request) throws 
Exception {
                try (ResourceResolver rr = getResourceResolver(request)) {
-                       final Session s = rr.adaptTo(Session.class);
-                       if(s == null) {
-                               throw new Exception("ResourceResolver does not 
adapt to Session");
-                       }
-                       return String.format("userID='%s'%n", s.getUserID());
+                       return String.format("userID='%s'%n", rr.getUserID());
                }
        }
 
@@ -99,4 +98,4 @@ public class TestService {
                        "The counter has been incremented by %d and is now 
%d%n",
                        howMuch, counter);
        }
-}
\ No newline at end of file
+}

Reply via email to