in src/main/java/org/apache/sling/feature/extension/unpack/Unpack.java [69:93]
public boolean handle(Extension extension, ArtifactProvider provider, BiConsumer<URL, Map<String, Object>> handler) {
if (extension.getType() == ExtensionType.ARTIFACTS &&
this.registry.containsKey(extension.getName())) {
String dir = this.registry.get(extension.getName()).get("dir");
boolean override = Boolean.parseBoolean(this.registry.get(extension.getName()).get("override"));
String key = this.registry.get(extension.getName()).get("key");
String value = this.registry.get(extension.getName()).get("value");
String index = this.registry.get(extension.getName()).get("index");
for (Artifact artifact : extension.getArtifacts()) {
Map<String, Object> context = new HashMap<>();
context.put("artifact.id", artifact.getId().toMvnId());
context.put("dir", dir);
context.put("override", Boolean.toString(override));
context.put("key", key);
context.put("value", value);
context.put("index", index);
URL url = provider.provide(artifact.getId());
handler.accept(url, context);
}
return true;
} else {
return false;
}
}