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

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


The following commit(s) were added to refs/heads/master by this push:
     new 7ef48df  SLING-9489 Make it possible to compare parts of feature models
7ef48df is described below

commit 7ef48df4df66d0e3fa412c1c47930de7d8f81ef4
Author: David Bosschaert <[email protected]>
AuthorDate: Thu Jun 18 10:10:45 2020 +0100

    SLING-9489 Make it possible to compare parts of feature models
---
 .../apache/sling/feature/analyser/task/AnalyserTaskContext.java   | 5 +++++
 .../sling/feature/analyser/task/impl/CheckCompareFeatures.java    | 8 +++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java 
b/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
index af5ec38..d2043d8 100644
--- 
a/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
+++ 
b/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
@@ -39,6 +39,11 @@ public interface AnalyserTaskContext {
      */
     FeatureDescriptor getFeatureDescriptor();
 
+    /**
+     * Returns a Feature Provider, if present.
+     *
+     * @return the feature provider to use, or {@code null} if not present.
+     */
     FeatureProvider getFeatureProvider();
 
     /**
diff --git 
a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckCompareFeatures.java
 
b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckCompareFeatures.java
index af5b450..8f09cb9 100644
--- 
a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckCompareFeatures.java
+++ 
b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckCompareFeatures.java
@@ -24,6 +24,7 @@ import org.apache.sling.feature.ExtensionType;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.analyser.task.AnalyserTask;
 import org.apache.sling.feature.analyser.task.AnalyserTaskContext;
+import org.apache.sling.feature.builder.FeatureProvider;
 
 import java.util.Map;
 
@@ -56,7 +57,12 @@ public class CheckCompareFeatures implements AnalyserTask {
 
         boolean strictMetadata = !cfg.getOrDefault("compare-metadata", 
"false").equalsIgnoreCase("false");
 
-        Feature feat = 
ctx.getFeatureProvider().provide(ArtifactId.fromMvnId(aid));
+        FeatureProvider featureProvider = ctx.getFeatureProvider();
+        if (featureProvider == null) {
+            throw new Exception("This analyser requires a Feature Provider to 
be set in the Analyser Task Context.");
+        }
+
+        Feature feat = featureProvider.provide(ArtifactId.fromMvnId(aid));
         if (feat == null)
             throw new Exception("Feature not found: " + aid);
 

Reply via email to