You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2021/12/03 09:14:33 UTC

[sling-org-apache-sling-models-jacksonexporter] 01/01: SLING-10964 Sling Models Exporter: Replace RankedServices with DS Field Injection

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

sseifert pushed a commit to branch feature/SLING-10964-rankedservices-replacement
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-models-jacksonexporter.git

commit 73c2ef9542e1e2990442f17a42198e68bd2a2548
Author: Stefan Seifert <st...@users.noreply.github.com>
AuthorDate: Fri Dec 3 10:14:03 2021 +0100

    SLING-10964 Sling Models Exporter: Replace RankedServices with DS Field Injection
---
 pom.xml                                                |  6 ------
 .../models/jacksonexporter/impl/JacksonExporter.java   | 18 ++++--------------
 2 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/pom.xml b/pom.xml
index e1776ae..0a06d3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,12 +99,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.4.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <scope>provided</scope>
diff --git a/src/main/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporter.java b/src/main/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporter.java
index 07a9e1c..87a9c59 100644
--- a/src/main/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporter.java
+++ b/src/main/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporter.java
@@ -20,10 +20,9 @@ package org.apache.sling.models.jacksonexporter.impl;
 
 import java.io.IOException;
 import java.io.StringWriter;
+import java.util.Collection;
 import java.util.Map;
 
-import org.apache.sling.commons.osgi.Order;
-import org.apache.sling.commons.osgi.RankedServices;
 import org.apache.sling.models.export.spi.ModelExporter;
 import org.apache.sling.models.factory.ExportException;
 import org.apache.sling.models.jacksonexporter.ModuleProvider;
@@ -56,7 +55,9 @@ public class JacksonExporter implements ModelExporter {
 
     private static final int MAPPER_FEATURE_PREFIX_LENGTH = MAPPER_FEATURE_PREFIX.length();
 
-    private final RankedServices<ModuleProvider> moduleProviders = new RankedServices<>(Order.ASCENDING);
+    @Reference(service = ModuleProvider.class,
+            cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+    private volatile Collection<ModuleProvider> moduleProviders;
 
     @Override
     public boolean isSupported(@NotNull Class<?> clazz) {
@@ -121,17 +122,6 @@ public class JacksonExporter implements ModelExporter {
         }
     }
 
-    @Reference(name = "moduleProvider", service = ModuleProvider.class,
-            cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC,
-            bind = "bindModuleProvider", unbind = "unbindModuleProvider")
-    protected void bindModuleProvider(final ModuleProvider moduleProvider, final Map<String, Object> props) {
-        moduleProviders.bind(moduleProvider, props);
-    }
-
-    protected void unbindModuleProvider(final ModuleProvider moduleProvider, final Map<String, Object> props) {
-        moduleProviders.unbind(moduleProvider, props);
-    }
-
     @Override
     public @NotNull String getName() {
         return "jackson";