in component-dsl/src/main/java/org/apache/aries/component/dsl/internal/JustOSGiImpl.java [39:61]
public JustOSGiImpl(Supplier<Collection<T>> supplier) {
super((executionContext, op) -> {
Collection<T> collection = supplier.get();
ArrayList<OSGiResult> references = new ArrayList<>(collection.size());
try {
for (T t : collection) {
references.add(op.publish(t));
}
}
catch (Exception e) {
cleanUp(references);
throw e;
}
return new OSGiResultImpl(
() -> cleanUp(references),
() -> references.stream().map(res -> res.update()).reduce(Boolean.FALSE, Boolean::logicalOr)
);
});
}