You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2022/02/10 13:33:53 UTC

[sling-whiteboard] branch master updated: Use official resource resolver factory api to get resource resolver

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 <cz...@apache.org>
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
+}