You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/07/12 17:36:19 UTC

[sling-org-apache-sling-feature-diff] branch master updated: SLING-8579 - [feature-diff] ServiceLoader does not correctly load comparators in OSGi environment

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

simonetripodi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-diff.git


The following commit(s) were added to refs/heads/master by this push:
     new 82f4a63  SLING-8579 - [feature-diff] ServiceLoader does not correctly load comparators in OSGi environment
82f4a63 is described below

commit 82f4a63025bf8117bc898b852dd0e67626130c45
Author: Simo Tripodi <st...@adobe.com>
AuthorDate: Fri Jul 12 19:36:12 2019 +0200

    SLING-8579 - [feature-diff] ServiceLoader does not correctly load
    comparators in OSGi environment
    
    no needs to user the ServiceLoader to load fixed Comparators
---
 pom.xml                                                    | 10 ----------
 .../java/org/apache/sling/feature/diff/FeatureDiff.java    | 14 ++++++++++++--
 .../apache/sling/feature/diff/impl/BundlesComparator.java  |  3 ---
 .../sling/feature/diff/impl/ConfigurationsComparator.java  |  3 ---
 .../sling/feature/diff/impl/ExtensionsComparator.java      |  3 ---
 .../feature/diff/impl/FrameworkPropertiesComparator.java   |  3 ---
 6 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/pom.xml b/pom.xml
index fa31eca..8e30a30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,16 +46,6 @@
 
   <dependencies>
     <!--
-     | utilities
-    -->
-    <dependency>
-      <groupId>com.google.auto.service</groupId>
-      <artifactId>auto-service</artifactId>
-      <version>1.0-rc5</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <!--
      | Sling Feature Model libraries
     -->
     <dependency>
diff --git a/src/main/java/org/apache/sling/feature/diff/FeatureDiff.java b/src/main/java/org/apache/sling/feature/diff/FeatureDiff.java
index f1ccb3b..7398197 100644
--- a/src/main/java/org/apache/sling/feature/diff/FeatureDiff.java
+++ b/src/main/java/org/apache/sling/feature/diff/FeatureDiff.java
@@ -17,7 +17,6 @@
 package org.apache.sling.feature.diff;
 
 import static java.util.Objects.requireNonNull;
-import static java.util.ServiceLoader.load;
 
 import java.util.Collection;
 import java.util.LinkedList;
@@ -25,12 +24,23 @@ import java.util.LinkedList;
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.Prototype;
+import org.apache.sling.feature.diff.impl.BundlesComparator;
+import org.apache.sling.feature.diff.impl.ConfigurationsComparator;
+import org.apache.sling.feature.diff.impl.ExtensionsComparator;
 import org.apache.sling.feature.diff.impl.FeatureElementComparator;
+import org.apache.sling.feature.diff.impl.FrameworkPropertiesComparator;
 
 public final class FeatureDiff {
 
     private static final String UPDATER_CLASSIFIER = "updater";
 
+    private static final FeatureElementComparator[] comparators = new FeatureElementComparator[] {
+        new BundlesComparator(),
+        new ConfigurationsComparator(),
+        new ExtensionsComparator(),
+        new FrameworkPropertiesComparator()
+    };
+
     public static Feature compareFeatures(DiffRequest diffRequest) {
         requireNonNull(diffRequest, "Impossible to compare features without specifying them.");
         Feature previous = requireNonNull(diffRequest.getPrevious(), "Impossible to compare null previous feature.");
@@ -70,7 +80,7 @@ public final class FeatureDiff {
     protected static Iterable<FeatureElementComparator> loadComparators(DiffRequest diffRequest) {
         Collection<FeatureElementComparator> filteredComparators = new LinkedList<>();
 
-        for (FeatureElementComparator comparator : load(FeatureElementComparator.class)) {
+        for (FeatureElementComparator comparator : comparators) {
             boolean included = !diffRequest.getIncludeComparators().isEmpty() ? diffRequest.getIncludeComparators().contains(comparator.getId()) : true;
             boolean excluded = diffRequest.getExcludeComparators().contains(comparator.getId());
 
diff --git a/src/main/java/org/apache/sling/feature/diff/impl/BundlesComparator.java b/src/main/java/org/apache/sling/feature/diff/impl/BundlesComparator.java
index e225a11..587e511 100644
--- a/src/main/java/org/apache/sling/feature/diff/impl/BundlesComparator.java
+++ b/src/main/java/org/apache/sling/feature/diff/impl/BundlesComparator.java
@@ -20,9 +20,6 @@ import org.apache.sling.feature.Artifact;
 import org.apache.sling.feature.Artifacts;
 import org.apache.sling.feature.Feature;
 
-import com.google.auto.service.AutoService;
-
-@AutoService(FeatureElementComparator.class)
 public final class BundlesComparator extends AbstractFeatureElementComparator {
 
     public BundlesComparator() {
diff --git a/src/main/java/org/apache/sling/feature/diff/impl/ConfigurationsComparator.java b/src/main/java/org/apache/sling/feature/diff/impl/ConfigurationsComparator.java
index e4190fc..0590dc4 100644
--- a/src/main/java/org/apache/sling/feature/diff/impl/ConfigurationsComparator.java
+++ b/src/main/java/org/apache/sling/feature/diff/impl/ConfigurationsComparator.java
@@ -29,9 +29,6 @@ import org.apache.sling.feature.Configuration;
 import org.apache.sling.feature.Configurations;
 import org.apache.sling.feature.Feature;
 
-import com.google.auto.service.AutoService;
-
-@AutoService(FeatureElementComparator.class)
 public final class ConfigurationsComparator extends AbstractFeatureElementComparator {
 
     public ConfigurationsComparator() {
diff --git a/src/main/java/org/apache/sling/feature/diff/impl/ExtensionsComparator.java b/src/main/java/org/apache/sling/feature/diff/impl/ExtensionsComparator.java
index b30cfe0..c9850b6 100644
--- a/src/main/java/org/apache/sling/feature/diff/impl/ExtensionsComparator.java
+++ b/src/main/java/org/apache/sling/feature/diff/impl/ExtensionsComparator.java
@@ -29,9 +29,6 @@ import org.apache.sling.feature.Extension;
 import org.apache.sling.feature.Extensions;
 import org.apache.sling.feature.Feature;
 
-import com.google.auto.service.AutoService;
-
-@AutoService(FeatureElementComparator.class)
 public final class ExtensionsComparator extends AbstractFeatureElementComparator {
 
     public ExtensionsComparator() {
diff --git a/src/main/java/org/apache/sling/feature/diff/impl/FrameworkPropertiesComparator.java b/src/main/java/org/apache/sling/feature/diff/impl/FrameworkPropertiesComparator.java
index 0dd5f4e..1f26373 100644
--- a/src/main/java/org/apache/sling/feature/diff/impl/FrameworkPropertiesComparator.java
+++ b/src/main/java/org/apache/sling/feature/diff/impl/FrameworkPropertiesComparator.java
@@ -22,9 +22,6 @@ import java.util.Objects;
 
 import org.apache.sling.feature.Feature;
 
-import com.google.auto.service.AutoService;
-
-@AutoService(FeatureElementComparator.class)
 public final class FrameworkPropertiesComparator extends AbstractFeatureElementComparator {
 
     public FrameworkPropertiesComparator() {