public AllOSGi()

in component-dsl/src/main/java/org/apache/aries/component/dsl/internal/AllOSGi.java [32:52]


    public AllOSGi(OSGi<T>... programs) {
        super((executionContext, op) -> {
            ArrayList<OSGiResult> results = new ArrayList<>(programs.length);

            try {
                for (OSGi<T> program : programs) {
                    results.add(program.run(executionContext, op));
                }
            }
            catch (Exception e) {
                cleanUp(results);

                throw e;
            }

            return new OSGiResultImpl(
                () -> cleanUp(results),
                () -> results.stream().map(result -> result.update()).reduce(Boolean.FALSE, Boolean::logicalOr)
            );
        });
    }