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-launcher.git
The following commit(s) were added to refs/heads/master by this push:
new 0076740 SLING-8028 Split FeatureExtensionHandler into MergeHandler
and PostProcessor
0076740 is described below
commit 0076740d9cf0914995f1e09c1c1e44a83ea01f8f
Author: David Bosschaert <[email protected]>
AuthorDate: Tue Oct 30 15:44:43 2018 +0000
SLING-8028 Split FeatureExtensionHandler into MergeHandler and PostProcessor
Propagate the change to the launcher.
---
.../feature/launcher/impl/FeatureProcessor.java | 23 +++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git
a/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
b/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
index b981065..1ee15e1 100644
--- a/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
+++ b/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
@@ -38,7 +38,8 @@ import org.apache.sling.feature.Feature;
import org.apache.sling.feature.FeatureConstants;
import org.apache.sling.feature.builder.BuilderContext;
import org.apache.sling.feature.builder.FeatureBuilder;
-import org.apache.sling.feature.builder.FeatureExtensionHandler;
+import org.apache.sling.feature.builder.MergeHandler;
+import org.apache.sling.feature.builder.PostProcessHandler;
import org.apache.sling.feature.io.file.ArtifactHandler;
import org.apache.sling.feature.io.file.ArtifactManager;
import org.apache.sling.feature.io.json.FeatureJSONReader;
@@ -70,8 +71,24 @@ public class FeatureProcessor {
// ignore
}
return null;
- }, config.getVariables(),
config.getInstallation().getFrameworkProperties()).add(StreamSupport.stream(Spliterators.spliteratorUnknownSize(
- ServiceLoader.load(FeatureExtensionHandler.class).iterator(),
Spliterator.ORDERED), false).toArray(FeatureExtensionHandler[]::new));
+ },
+ id -> {
+ try {
+ final ArtifactHandler handler =
artifactManager.getArtifactHandler(id.toMvnUrl());
+ return handler.getFile();
+ } catch (final IOException e) {
+ // ignore
+ return null;
+ }
+ },
+ config.getVariables(),
config.getInstallation().getFrameworkProperties())
+
.addMergeExtensions(StreamSupport.stream(Spliterators.spliteratorUnknownSize(
+ ServiceLoader.load(MergeHandler.class).iterator(),
Spliterator.ORDERED), false)
+ .toArray(MergeHandler[]::new))
+
.addPostProcessExtensions(StreamSupport.stream(Spliterators.spliteratorUnknownSize(
+ ServiceLoader.load(PostProcessHandler.class).iterator(),
Spliterator.ORDERED), false)
+ .toArray(PostProcessHandler[]::new));
+
List<Feature> features = new ArrayList<>();