public JustOSGiImpl()

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