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() {