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 2018/04/24 17:47:23 UTC

[sling-org-apache-sling-servlets-get] branch master updated: SLING-7593 : ResourceTraversor doesn't support ResourceDecorator pattern. Apply patch from Joanna Jasnowska and remove other deprecated methods usage

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-org-apache-sling-servlets-get.git


The following commit(s) were added to refs/heads/master by this push:
     new da32ee9  SLING-7593 : ResourceTraversor doesn't support ResourceDecorator pattern. Apply patch from Joanna Jasnowska and remove other deprecated methods usage
da32ee9 is described below

commit da32ee94f18a3efe1bc048dd9f44dd600459dcd9
Author: Carsten Ziegeler <cz...@adobe.com>
AuthorDate: Tue Apr 24 19:47:17 2018 +0200

    SLING-7593 : ResourceTraversor doesn't support ResourceDecorator pattern. Apply patch from Joanna Jasnowska and remove other deprecated methods usage
---
 .../get/impl/helpers/PlainTextRendererServlet.java |  6 +++---
 .../get/impl/impl/info/SlingInfoServlet.java       |  1 -
 .../servlets/get/impl/util/JsonObjectCreator.java  |  9 ++++-----
 .../servlets/get/impl/util/ResourceTraversor.java  | 22 ++++++++++------------
 4 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/apache/sling/servlets/get/impl/helpers/PlainTextRendererServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/helpers/PlainTextRendererServlet.java
index 714f60b..6a919a1 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/helpers/PlainTextRendererServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/helpers/PlainTextRendererServlet.java
@@ -64,9 +64,9 @@ public class PlainTextRendererServlet extends SlingSafeMethodsServlet {
         if ( map != null ) {
             dump(pw, r, map);
         } else if ( r.adaptTo(String.class) != null ) {
-            printPropertyValue(pw, ResourceUtil.getName(r), r.adaptTo(String.class), false);
+            printPropertyValue(pw, r.getName(), r.adaptTo(String.class), false);
         } else if ( r.adaptTo(String[].class) != null ) {
-            printPropertyValue(pw, ResourceUtil.getName(r), r.adaptTo(String[].class), false);
+            printPropertyValue(pw, r.getName(), r.adaptTo(String[].class), false);
         } else {
             resp.sendError(HttpServletResponse.SC_NO_CONTENT);
         }
@@ -93,7 +93,7 @@ public class PlainTextRendererServlet extends SlingSafeMethodsServlet {
         pw.println("Resource metadata: " + r.getResourceMetadata());
         pw.println("Resource type: " + r.getResourceType());
 
-        String resourceSuperType = ResourceUtil.findResourceSuperType(r);
+        String resourceSuperType = r.getResourceResolver().getParentResourceType(r);
         if (resourceSuperType == null) {
             resourceSuperType = "-";
         }
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/impl/info/SlingInfoServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/impl/info/SlingInfoServlet.java
index 42e8bbc..8e902c4 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/impl/info/SlingInfoServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/impl/info/SlingInfoServlet.java
@@ -26,7 +26,6 @@ import java.util.Map;
 
 import javax.json.Json;
 import javax.json.JsonException;
-import javax.json.JsonWriter;
 import javax.json.stream.JsonGenerator;
 import javax.servlet.Servlet;
 import javax.servlet.http.HttpServletResponse;
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/util/JsonObjectCreator.java b/src/main/java/org/apache/sling/servlets/get/impl/util/JsonObjectCreator.java
index f37ef16..1c9971b 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/util/JsonObjectCreator.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/util/JsonObjectCreator.java
@@ -34,7 +34,6 @@ import javax.json.JsonObjectBuilder;
 import javax.json.JsonValue;
 
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.resource.ValueMap;
 
 public abstract class JsonObjectCreator {
@@ -66,7 +65,7 @@ public abstract class JsonObjectCreator {
             if (value != null) {
 
                 // single value property or just plain String resource or...
-                obj.add(ResourceUtil.getName(resource), value.toString());
+                obj.add(resource.getName(), value.toString());
 
             } else {
 
@@ -78,7 +77,7 @@ public abstract class JsonObjectCreator {
                     {
                         builder.add(v);
                     }
-                    obj.add(ResourceUtil.getName(resource), builder);
+                    obj.add(resource.getName(), builder);
                 }
 
             }
@@ -101,7 +100,7 @@ public abstract class JsonObjectCreator {
 
         // the child nodes
         if (recursionLevelActive(currentRecursionLevel, maxRecursionLevels)) {
-            final Iterator<Resource> children = ResourceUtil.listChildren(resource);
+            final Iterator<Resource> children = resource.listChildren();
             while (children.hasNext()) {
                 final Resource n = children.next();
                 createSingleResource(n, obj, currentRecursionLevel,
@@ -153,7 +152,7 @@ public abstract class JsonObjectCreator {
     private static void createSingleResource(final Resource n, final JsonObjectBuilder parent,
             final int currentRecursionLevel, final int maxRecursionLevels) {
         if (recursionLevelActive(currentRecursionLevel, maxRecursionLevels)) {
-            parent.add(ResourceUtil.getName(n), create(n, currentRecursionLevel + 1, maxRecursionLevels));
+            parent.add(n.getName(), create(n, currentRecursionLevel + 1, maxRecursionLevels));
         }
     }
 
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/util/ResourceTraversor.java b/src/main/java/org/apache/sling/servlets/get/impl/util/ResourceTraversor.java
index 5f6fecf..16998fa 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/util/ResourceTraversor.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/util/ResourceTraversor.java
@@ -30,7 +30,6 @@ import javax.json.JsonObjectBuilder;
 
 import org.apache.sling.api.request.RecursionTooDeepException;
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceUtil;
 
 public class ResourceTraversor
 {
@@ -43,7 +42,7 @@ public class ResourceTraversor
             this.json = o;
         }
     }
-    
+
     Map<JsonObjectBuilder, List<Entry>> tree = new HashMap<>();
 
     private long count;
@@ -71,8 +70,8 @@ public class ResourceTraversor
         this.maxResources = maxResources;
         this.maxRecursionLevels = levels;
         this.startResource = resource;
-        currentQueue = new LinkedList<Entry>();
-        nextQueue = new LinkedList<Entry>();
+        currentQueue = new LinkedList<>();
+        nextQueue = new LinkedList<>();
         this.startObject = this.adapt(resource);
     }
 
@@ -100,7 +99,7 @@ public class ResourceTraversor
             int currentLevel) {
 
         if (maxRecursionLevels == -1 || currentLevel < maxRecursionLevels) {
-            final Iterator<Resource> children = ResourceUtil.listChildren(resource);
+            final Iterator<Resource> children = resource.listChildren();
             while (children.hasNext()) {
                 count++;
                 final Resource res = children.next();
@@ -126,12 +125,11 @@ public class ResourceTraversor
             return -1;
         }
 
-        List<Entry> entries = new ArrayList<>();
         while (!currentQueue.isEmpty() || !nextQueue.isEmpty()) {
             if (currentQueue.isEmpty()) {
                 currentLevel++;
                 currentQueue = nextQueue;
-                nextQueue = new LinkedList<Entry>();
+                nextQueue = new LinkedList<>();
             }
             final Entry nextResource = currentQueue.removeFirst();
             final int maxLevel = collectChildren(nextResource.resource, nextResource.json, currentLevel);
@@ -161,22 +159,22 @@ public class ResourceTraversor
     }
 
     public JsonObject getJSONObject() {
-        
+
         return addChildren(startObject).build();
     }
-    
+
     private JsonObjectBuilder addChildren(JsonObjectBuilder builder) {
         List<Entry> children = tree.get(builder);
-        
+
         if (children != null)
         {
             for (Entry child : children) {
                 addChildren(child.json);
 
-                builder.add(ResourceUtil.getName(child.resource), child.json);
+                builder.add(child.resource.getName(), child.json);
             }
         }
-        
+
         return builder;
     }
 }

-- 
To stop receiving notification emails like this one, please contact
cziegeler@apache.org.