From c433e4468a3dd9e6280fbdcbf5b211f8274b8a44 Mon Sep 17 00:00:00 2001 From: Stefan Seifert Date: Fri, 15 Dec 2023 14:10:38 +0100 Subject: [PATCH] Eliminate usage of org.apache.sling.commons.json (#1) --- changes.xml | 6 ++++++ pom.xml | 5 +++++ .../componentinfo/impl/ParsysComponentsServlet.java | 13 +++++++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/changes.xml b/changes.xml index 3d003ad..b77b942 100644 --- a/changes.xml +++ b/changes.xml @@ -23,6 +23,12 @@ xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd"> + + + Eliminate usage of org.apache.sling.commons.json + + + Switch to Java 11 as minimum version. diff --git a/pom.xml b/pom.xml index 4226733..69d8e14 100644 --- a/pom.xml +++ b/pom.xml @@ -130,6 +130,11 @@ 1.2.0 test + + com.fasterxml.jackson.core + jackson-databind + test + com.adobe.aem diff --git a/src/main/java/io/wcm/wcm/parsys/componentinfo/impl/ParsysComponentsServlet.java b/src/main/java/io/wcm/wcm/parsys/componentinfo/impl/ParsysComponentsServlet.java index c44af26..dd2aa41 100644 --- a/src/main/java/io/wcm/wcm/parsys/componentinfo/impl/ParsysComponentsServlet.java +++ b/src/main/java/io/wcm/wcm/parsys/componentinfo/impl/ParsysComponentsServlet.java @@ -20,6 +20,8 @@ package io.wcm.wcm.parsys.componentinfo.impl; import java.io.IOException; +import java.util.Collection; +import java.util.Collections; import java.util.Set; import java.util.TreeSet; @@ -41,6 +43,7 @@ import com.day.cq.wcm.api.Page; import com.day.cq.wcm.api.PageManager; +import com.fasterxml.jackson.databind.ObjectMapper; import io.wcm.sling.commons.adapter.AdaptTo; import io.wcm.sling.commons.request.RequestParam; @@ -68,6 +71,8 @@ public final class ParsysComponentsServlet extends SlingSafeMethodsServlet { private static final Logger log = LoggerFactory.getLogger(ParsysComponentsServlet.class); + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + @Reference private AllowedComponentsProvider allowedComponentsProvider; @@ -82,7 +87,7 @@ protected void activate() { enabled = instanceTypeService.isAuthor(); } - @SuppressWarnings({ "null", "deprecation" }) + @SuppressWarnings("null") @Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { if (!enabled) { @@ -106,7 +111,7 @@ protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse r response.setContentType(ContentType.JSON); - org.apache.sling.commons.json.JSONArray allowedComponents = new org.apache.sling.commons.json.JSONArray(); + Collection allowedComponents = Collections.emptyList(); String relativePath = RequestParam.get(request, RP_PATH); String resourceType = RequestParam.get(request, RP_RESOURCE_TYPE); @@ -120,10 +125,10 @@ protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse r allowedComponentsRelative.add(ResourceType.makeAbsolute(allowedResourceType, resolver)); } - allowedComponents = new org.apache.sling.commons.json.JSONArray(allowedComponentsRelative); + allowedComponents = allowedComponentsRelative; } - response.getWriter().write(allowedComponents.toString()); + response.getWriter().write(OBJECT_MAPPER.writeValueAsString(allowedComponents)); // output profiling info in DEBUG mode if (log.isDebugEnabled()) {