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 2024/01/15 09:39:03 UTC

(sling-org-apache-sling-rewriter) branch master updated: SLING-12230 : Replace usage of Sling Commons OSGi with OSGi converter

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-rewriter.git


The following commit(s) were added to refs/heads/master by this push:
     new 2960e0b  SLING-12230 : Replace usage of Sling Commons OSGi with OSGi converter
2960e0b is described below

commit 2960e0b480f53308a7184dc63dc45b958b46e6e6
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jan 15 10:38:57 2024 +0100

    SLING-12230 : Replace usage of Sling Commons OSGi with OSGi converter
---
 pom.xml                                                    |  6 +++---
 .../java/org/apache/sling/rewriter/impl/FactoryCache.java  | 14 ++++++++------
 .../sling/rewriter/impl/ProcessorConfigurationImpl.java    | 10 +++++-----
 .../sling/rewriter/it/tests/RewriterTestSupport.java       |  1 +
 4 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/pom.xml b/pom.xml
index e14231a..03e0ac8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -106,9 +106,9 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.0.6</version>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.converter</artifactId>
+            <version>1.0.9</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/src/main/java/org/apache/sling/rewriter/impl/FactoryCache.java b/src/main/java/org/apache/sling/rewriter/impl/FactoryCache.java
index 8f4bc17..a8f2b46 100644
--- a/src/main/java/org/apache/sling/rewriter/impl/FactoryCache.java
+++ b/src/main/java/org/apache/sling/rewriter/impl/FactoryCache.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sling.rewriter.impl;
 
-import org.apache.sling.commons.osgi.OsgiUtil;
 import org.apache.sling.rewriter.Generator;
 import org.apache.sling.rewriter.GeneratorFactory;
 import org.apache.sling.rewriter.ProcessingContext;
@@ -30,6 +29,8 @@ import org.apache.sling.rewriter.TransformerFactory;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
+import org.osgi.util.converter.Converter;
+import org.osgi.util.converter.Converters;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -229,11 +230,12 @@ public class FactoryCache {
 
         public TransformerFactoryEntry(final TransformerFactory factory, final ServiceReference<TransformerFactory> ref) {
             this.factory = factory;
-            final String[] paths = OsgiUtil.toStringArray(ref.getProperty(PROPERTY_PATHS), null);
-            final String[] extensions = OsgiUtil.toStringArray(ref.getProperty(PROPERTY_EXTENSIONS), null);
-            final String[] contentTypes = OsgiUtil.toStringArray(ref.getProperty(PROPERTY_CONTENT_TYPES), null);
-            final String[] resourceTypes = OsgiUtil.toStringArray(ref.getProperty(PROPERTY_RESOURCE_TYPES), null);
-            final String[] selectors = OsgiUtil.toStringArray(ref.getProperty(PROPERTY_SELECTORS), null);
+            final Converter c = Converters.standardConverter();
+            final String[] paths = c.convert(ref.getProperty(PROPERTY_PATHS)).to(String[].class);
+            final String[] extensions = c.convert(ref.getProperty(PROPERTY_EXTENSIONS)).to(String[].class);
+            final String[] contentTypes = c.convert(ref.getProperty(PROPERTY_CONTENT_TYPES)).to(String[].class);
+            final String[] resourceTypes = c.convert(ref.getProperty(PROPERTY_RESOURCE_TYPES)).to(String[].class);
+            final String[] selectors = c.convert(ref.getProperty(PROPERTY_SELECTORS)).to(String[].class);
             final boolean noCheckRequired = (paths == null || paths.length == 0) &&
                                    (extensions == null || extensions.length == 0) &&
                                    (contentTypes == null || contentTypes.length == 0) &&
diff --git a/src/main/java/org/apache/sling/rewriter/impl/ProcessorConfigurationImpl.java b/src/main/java/org/apache/sling/rewriter/impl/ProcessorConfigurationImpl.java
index 0cd3575..f60622d 100644
--- a/src/main/java/org/apache/sling/rewriter/impl/ProcessorConfigurationImpl.java
+++ b/src/main/java/org/apache/sling/rewriter/impl/ProcessorConfigurationImpl.java
@@ -125,12 +125,12 @@ public class ProcessorConfigurationImpl implements PipelineConfiguration {
                                       String[] resourceTypes,
                                       String[] selectors) {
         this.name = null;
-        this.contentTypes = contentTypes;
-        this.resourceTypes = resourceTypes;
+        this.contentTypes = contentTypes != null && contentTypes.length == 0 ? null : contentTypes;
+        this.resourceTypes = resourceTypes != null && resourceTypes.length == 0 ? null : resourceTypes;
+        this.selectors = selectors != null && selectors.length == 0 ? null : selectors;
+        this.extensions = extensions != null && extensions.length == 0 ? null : extensions;
+        this.paths = paths != null && paths.length == 0 ? null : paths;
         this.unwrapResources = false;
-        this.selectors = selectors;
-        this.paths = paths;
-        this.extensions = extensions;
         this.order = 0;
         this.generatorConfiguration = null;
         this.transformerConfigurations = null;
diff --git a/src/test/java/org/apache/sling/rewriter/it/tests/RewriterTestSupport.java b/src/test/java/org/apache/sling/rewriter/it/tests/RewriterTestSupport.java
index c6c32c9..946c1ae 100644
--- a/src/test/java/org/apache/sling/rewriter/it/tests/RewriterTestSupport.java
+++ b/src/test/java/org/apache/sling/rewriter/it/tests/RewriterTestSupport.java
@@ -68,6 +68,7 @@ public abstract class RewriterTestSupport extends TestSupport {
                 .asOption(),
             // testing
             mavenBundle().groupId("org.jsoup").artifactId("jsoup").versionAsInProject(),
+            mavenBundle().groupId("org.osgi").artifactId("org.osgi.util.converter").versionAsInProject(),
             mavenBundle().groupId("org.apache.commons").artifactId("commons-text").versionAsInProject(),
             mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.hamcrest").versionAsInProject(),
             slingResourcePresence(),