From 11764047754cb656608ddff6bac8adab0711aea0 Mon Sep 17 00:00:00 2001 From: Alex Leigh Date: Mon, 18 Sep 2023 00:00:21 -0700 Subject: [PATCH] lc-esp-eo-engine: Working example of parsing OpenAPI 3.0 --- java/lc-esp-eo-engine/build.gradle | 3 +- .../main/java/lc/esp/eo/StubGenerator.java | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 java/lc-esp-eo-engine/src/main/java/lc/esp/eo/StubGenerator.java diff --git a/java/lc-esp-eo-engine/build.gradle b/java/lc-esp-eo-engine/build.gradle index 958188fb7..0cd5baeb9 100644 --- a/java/lc-esp-eo-engine/build.gradle +++ b/java/lc-esp-eo-engine/build.gradle @@ -14,7 +14,8 @@ repositories { dependencies { api project(':lc-mecha') api project(':lc-esp-eo-sdk') - implementation 'org.mongodb:mongodb-driver-sync:4.10.2' + api 'org.mongodb:mongodb-driver-sync:4.10.2' + api 'io.swagger.parser.v3:swagger-parser:2.0.26' testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' } diff --git a/java/lc-esp-eo-engine/src/main/java/lc/esp/eo/StubGenerator.java b/java/lc-esp-eo-engine/src/main/java/lc/esp/eo/StubGenerator.java new file mode 100644 index 000000000..89bfa7590 --- /dev/null +++ b/java/lc-esp-eo-engine/src/main/java/lc/esp/eo/StubGenerator.java @@ -0,0 +1,33 @@ +package lc.esp.eo; + +import io.swagger.v3.parser.OpenAPIV3Parser; +import io.swagger.v3.parser.core.models.SwaggerParseResult; +import lc.mecha.log.MechaLogger; +import lc.mecha.log.MechaLoggerFactory; +import org.apache.commons.io.IOUtils; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; + +public class StubGenerator { + private static final MechaLogger logger = MechaLoggerFactory.getLogger(StubGenerator.class); + + public static void main(String[] args) throws IOException { + new StubGenerator(); + + } + + public StubGenerator() throws IOException { + String currentDir = System.getProperty("user.dir"); + logger.info("Current dir using System:" + currentDir); + + InputStream inputStream = new FileInputStream("lc-esp-eo-svc/eo.yaml"); + StringWriter writer = new StringWriter(); + IOUtils.copy(inputStream, writer); + + SwaggerParseResult openApi = new OpenAPIV3Parser().readContents(writer.toString()); + logger.info("Parsed: {}", openApi.getOpenAPI()); + } +} -- GitLab