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);