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
+}