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