public OpenAPI loadDefaultApi()

in geronimo-openapi-impl/src/main/java/org/apache/geronimo/microprofile/openapi/impl/loader/DefaultLoader.java [40:57]


    public OpenAPI loadDefaultApi() {
        final ClassLoader loader = Thread.currentThread().getContextClassLoader();
        return Stream.of("", "/").map(prefix -> prefix + "META-INF/openapi.json")
                .map(it -> ofNullable(loader.getResourceAsStream(it)).orElseGet(() -> context.getResourceAsStream(it)))
                .filter(Objects::nonNull).findFirst().map(r -> {
                    try (final Jsonb jsonb = JsonbBuilder.create(new JsonbConfig()
                            .setProperty("johnzon.interfaceImplementationMapping", ApiBindings.get()));
                         final InputStream stream = r) {
                        return jsonb.fromJson(stream, OpenAPIImpl.class);
                    } catch (final Exception e) {
                        throw new IllegalStateException(e);
                    }
                }).map(OpenAPI.class::cast)
                .orElseGet(() -> Stream.of("", "/").map(prefix -> prefix + "META-INF/openapi.")
                        .flatMap(p -> Stream.of(p + "yaml", p + "yml"))
                        .map(it -> ofNullable(loader.getResourceAsStream(it)).orElseGet(() -> context.getResourceAsStream(it)))
                        .filter(Objects::nonNull).findFirst().map(this::loadFromYaml).orElseGet(OpenAPIImpl::new));
    }