diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java index 899c7476ed..055d31a4eb 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json.java @@ -3,6 +3,8 @@ import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Json { @@ -10,6 +12,8 @@ private static final class ObjectMapperHolder { private static final ObjectMapper MAPPER = ObjectMapperFactory.createJson(); } + private static final Logger LOGGER = LoggerFactory.getLogger(Json.class); + public static ObjectMapper mapper() { return ObjectMapperHolder.MAPPER; } @@ -22,16 +26,17 @@ public static String pretty(Object o) { try { return pretty().writeValueAsString(o); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error serializing object to JSON", e); return null; } } public static void prettyPrint(Object o) { try { - System.out.println(pretty().writeValueAsString(o).replace("\r", "")); + String prettyString = pretty().writeValueAsString(o).replace("\r", ""); + PrettyPrintHelper.emit(LOGGER, prettyString); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error pretty-printing JSON", e); } } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java index 0ac52783a8..64b7600b89 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Json31.java @@ -21,7 +21,7 @@ private static final class ConverterMapperHolder { private static final ObjectMapper MAPPER = ObjectMapperFactory.createJsonConverter(); } - static Logger LOGGER = LoggerFactory.getLogger(Json31.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Json31.class); public static ObjectMapper mapper() { return ObjectMapperHolder.MAPPER; @@ -39,16 +39,17 @@ public static String pretty(Object o) { try { return pretty().writeValueAsString(o); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error serializing object to JSON (3.1)", e); return null; } } public static void prettyPrint(Object o) { try { - System.out.println(pretty().writeValueAsString(o).replace("\r", "")); + String prettyString = pretty().writeValueAsString(o).replace("\r", ""); + PrettyPrintHelper.emit(LOGGER, prettyString); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error pretty-printing JSON (3.1)", e); } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrettyPrintHelper.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrettyPrintHelper.java new file mode 100644 index 0000000000..a469b1ebcd --- /dev/null +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/PrettyPrintHelper.java @@ -0,0 +1,48 @@ +package io.swagger.v3.core.util; + +import org.slf4j.Logger; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.function.Consumer; + +class PrettyPrintHelper { + + private static final ThreadLocal> OVERRIDE = new ThreadLocal<>(); + + private PrettyPrintHelper() { + // utility class + } + + static void setOverride(Consumer consumer) { + OVERRIDE.set(consumer); + } + + static void clearOverride() { + OVERRIDE.remove(); + } + + static void emit(Logger logger, String message) { + Consumer consumer = OVERRIDE.get(); + if (consumer != null) { + consumer.accept(message); + } else { + logger.debug(message); + } + } + + static void emitError(Logger logger, String message, Throwable throwable) { + Consumer consumer = OVERRIDE.get(); + if (consumer != null) { + StringBuilder builder = new StringBuilder(message); + if (throwable != null) { + builder.append(System.lineSeparator()); + StringWriter writer = new StringWriter(); + throwable.printStackTrace(new PrintWriter(writer)); + builder.append(writer); + } + consumer.accept(builder.toString()); + } + logger.error(message, throwable); + } +} diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java index 2a77b70305..8a7504e1b8 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml.java @@ -3,6 +3,8 @@ import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Yaml { @@ -10,6 +12,8 @@ private static final class ObjectMapperHolder { private static final ObjectMapper MAPPER = ObjectMapperFactory.createYaml(); } + private static final Logger LOGGER = LoggerFactory.getLogger(Yaml.class); + public static ObjectMapper mapper() { return ObjectMapperHolder.MAPPER; } @@ -22,16 +26,17 @@ public static String pretty(Object o) { try { return pretty().writeValueAsString(o); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error serializing object to YAML", e); return null; } } public static void prettyPrint(Object o) { try { - System.out.println(pretty().writeValueAsString(o)); + String prettyString = pretty().writeValueAsString(o); + PrettyPrintHelper.emit(LOGGER, prettyString); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error pretty-printing YAML", e); } } } diff --git a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java index 75d9819a84..4189d4f8d9 100644 --- a/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java +++ b/modules/swagger-core/src/main/java/io/swagger/v3/core/util/Yaml31.java @@ -17,7 +17,7 @@ private static final class ObjectMapperHolder { } - static Logger LOGGER = LoggerFactory.getLogger(Yaml31.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Yaml31.class); public static ObjectMapper mapper() { return ObjectMapperHolder.MAPPER; @@ -31,16 +31,17 @@ public static String pretty(Object o) { try { return pretty().writeValueAsString(o); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error serializing object to YAML (3.1)", e); return null; } } public static void prettyPrint(Object o) { try { - System.out.println(pretty().writeValueAsString(o)); + String prettyString = pretty().writeValueAsString(o); + PrettyPrintHelper.emit(LOGGER, prettyString); } catch (Exception e) { - e.printStackTrace(); + PrettyPrintHelper.emitError(LOGGER, "Error pretty-printing YAML (3.1)", e); } } @@ -60,4 +61,5 @@ public static Map jsonSchemaAsMap(Schema schema) { LOGGER.error("Exception converting jsonSchema to Map", e); return null; } - }} + } +} diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java index 9ec9e786d1..7d161876d4 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/filter/SpecFilterTest.java @@ -27,6 +27,8 @@ import io.swagger.v3.oas.models.parameters.Parameter; import io.swagger.v3.oas.models.tags.Tag; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; import java.io.IOException; @@ -44,6 +46,7 @@ import static org.testng.Assert.fail; public class SpecFilterTest { + private static final Logger LOGGER = LoggerFactory.getLogger(SpecFilterTest.class); private static final String RESOURCE_RECURSIVE_MODELS = "specFiles/recursivemodels.json"; private static final String RESOURCE_PATH = "specFiles/petstore-3.0-v2.json"; @@ -189,7 +192,7 @@ public void run() { try { filteredMap.put("filtered " + id, new SpecFilter().filter(openAPI, new NoOpOperationsFilter(), null, null, null)); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Failed to filter OpenAPI concurrently", e); } } }.start(); @@ -220,7 +223,7 @@ public void run() { } } } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Interrupted while waiting for filtering threads to complete", e); } for (OpenAPI filtered : filteredMap.values()) { assertEquals(Json.pretty(openAPI), Json.pretty(filtered)); diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java index a27d724562..883ce03423 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/SwaggerTestBase.java @@ -6,9 +6,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import io.swagger.v3.core.jackson.ModelResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class SwaggerTestBase { static ObjectMapper mapper; + private static final Logger LOGGER = LoggerFactory.getLogger(SwaggerTestBase.class); public static ObjectMapper mapper() { if (mapper == null) { @@ -26,9 +29,9 @@ protected ModelResolver modelResolver() { protected void prettyPrint(Object o) { try { - System.out.println(mapper().writer(new DefaultPrettyPrinter()).writeValueAsString(o)); + LOGGER.debug(mapper().writer(new DefaultPrettyPrinter()).writeValueAsString(o)); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Failed to pretty print object", e); } } } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java index 3f1d1a8f85..53e338d0a8 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/serialization/OpenAPI3_1SerializationTest.java @@ -29,6 +29,8 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.security.SecurityScheme; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; import org.yaml.snakeyaml.LoaderOptions; @@ -37,6 +39,7 @@ import static org.testng.Assert.assertTrue; public class OpenAPI3_1SerializationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(OpenAPI3_1SerializationTest.class); @Test public void testSerializePetstore() throws Exception { @@ -1390,7 +1393,7 @@ public void testBooleanSchemaSerialization() { .openapi("3.1.0") .components(new Components().addSchemas("test", new Schema().booleanSchemaValue(true))); - System.out.println("--------- root ----------"); + LOGGER.debug("--------- root ----------"); Json31.prettyPrint(openAPI); assertEquals(Json31.pretty(openAPI), withJacksonSystemLineSeparator("{\n" + " \"openapi\" : \"3.1.0\",\n" + @@ -1400,19 +1403,19 @@ public void testBooleanSchemaSerialization() { " }\n" + " }\n" + "}")); - System.out.println("--------- schema ----------"); + LOGGER.debug("--------- schema ----------"); Json31.prettyPrint(openAPI.getComponents().getSchemas().get("test")); assertEquals(Json31.pretty(openAPI.getComponents().getSchemas().get("test")), "true"); - System.out.println("--------- root YAML----------"); + LOGGER.debug("--------- root YAML----------"); Yaml31.prettyPrint(openAPI); assertEquals(Yaml31.pretty(openAPI), "openapi: 3.1.0\n" + "components:\n" + " schemas:\n" + " test: true\n"); - System.out.println("--------- schema YAML ----------"); + LOGGER.debug("--------- schema YAML ----------"); Yaml31.prettyPrint(openAPI.getComponents().getSchemas().get("test")); assertEquals(Yaml31.pretty(openAPI.getComponents().getSchemas().get("test")), "true\n"); - System.out.println("--------- root 3.0 ----------"); + LOGGER.debug("--------- root 3.0 ----------"); Json.prettyPrint(openAPI); assertEquals(Json.pretty(openAPI), withJacksonSystemLineSeparator("{\n" + " \"openapi\" : \"3.1.0\",\n" + @@ -1422,16 +1425,16 @@ public void testBooleanSchemaSerialization() { " }\n" + " }\n" + "}")); - System.out.println("--------- schema 3.0 ----------"); + LOGGER.debug("--------- schema 3.0 ----------"); Json.prettyPrint(openAPI.getComponents().getSchemas().get("test")); assertEquals(Json.pretty(openAPI.getComponents().getSchemas().get("test")), "{ }"); - System.out.println("--------- root YAML 3.0 ----------"); + LOGGER.debug("--------- root YAML 3.0 ----------"); Yaml.prettyPrint(openAPI); assertEquals(Yaml.pretty(openAPI), "openapi: 3.1.0\n" + "components:\n" + " schemas:\n" + " test: {}\n"); - System.out.println("--------- schema YAML 3.0 ----------"); + LOGGER.debug("--------- schema YAML 3.0 ----------"); Yaml.prettyPrint(openAPI.getComponents().getSchemas().get("test")); assertEquals(Yaml.pretty(openAPI.getComponents().getSchemas().get("test")), "{}\n"); } diff --git a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/OutputReplacer.java b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/OutputReplacer.java index 2e11253784..33348b0092 100644 --- a/modules/swagger-core/src/test/java/io/swagger/v3/core/util/OutputReplacer.java +++ b/modules/swagger-core/src/test/java/io/swagger/v3/core/util/OutputReplacer.java @@ -49,12 +49,18 @@ void setOutputStream(PrintStream outputStream) { public String run(Function function) { final PrintStream out = getOutputStream(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - + final PrintStream capture = new PrintStream(outputStream); try { - setOutputStream(new PrintStream(outputStream)); + setOutputStream(capture); + PrettyPrintHelper.setOverride(message -> { + capture.println(message); + capture.flush(); + }); function.run(); } finally { + PrettyPrintHelper.clearOverride(); setOutputStream(out); + capture.close(); } try { diff --git a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java b/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java index 14cb87adb3..667f320168 100644 --- a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java +++ b/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java @@ -1,10 +1,17 @@ package io.swagger.v3.oas.transformer; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Consumer; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.AbstractMojo; @@ -62,6 +69,8 @@ public class TransformMojo extends AbstractMojo { @Parameter(defaultValue = "transformed") private String classifier; + private static final int MAX_LOG_BUFFER_SIZE = 16 * 1024; + @Parameter(defaultValue = "${project.build.directory}", required = true) private File outputDirectory; @@ -134,7 +143,9 @@ public void transform(final Transformer transformer, final Artifact sourceArtifa * @return A configured transformer */ public Transformer getTransformer() { - final Transformer transformer = new Transformer(System.out, System.err); + final Transformer transformer = new Transformer( + createLoggingPrintStream(getLog()::info), + createLoggingPrintStream(getLog()::error)); transformer.setOptionDefaults(JakartaTransformer.class, getOptionDefaults()); return transformer; } @@ -177,6 +188,55 @@ private Map getOptionDefaults() { return optionDefaults; } + private PrintStream createLoggingPrintStream(Consumer logConsumer) { + try { + return new PrintStream(new LoggingOutputStream(logConsumer, MAX_LOG_BUFFER_SIZE), true, StandardCharsets.UTF_8.name()); + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException("UTF-8 encoding is not supported", e); + } + } + + private static final class LoggingOutputStream extends OutputStream { + private final Consumer logConsumer; + private final ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + private final int maxBufferSize; + + private LoggingOutputStream(Consumer logConsumer, int maxBufferSize) { + this.logConsumer = logConsumer; + this.maxBufferSize = maxBufferSize > 0 ? maxBufferSize : Integer.MAX_VALUE; + } + + @Override + public void write(int b) { + if (b == '\n') { + flushBuffer(); + } else if (b != '\r') { + buffer.write(b); + if (buffer.size() >= this.maxBufferSize) { + flushBuffer(); + } + } + } + + @Override + public void flush() { + flushBuffer(); + } + + @Override + public void close() throws IOException { + flushBuffer(); + } + + private void flushBuffer() { + if (buffer.size() == 0) { + return; + } + logConsumer.accept(new String(buffer.toByteArray(), StandardCharsets.UTF_8)); + buffer.reset(); + } + } + private boolean isEmpty(final String input) { return input == null || input.trim() .length() == 0; diff --git a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java b/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java index 2735cb788a..427895be63 100644 --- a/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java +++ b/modules/swagger-java17-support/src/test/java/io/swagger/v3/java17/resolving/SwaggerTestBase.java @@ -6,9 +6,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import io.swagger.v3.core.jackson.ModelResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class SwaggerTestBase { static ObjectMapper mapper; + private static final Logger LOGGER = LoggerFactory.getLogger(SwaggerTestBase.class); public static ObjectMapper mapper() { if (mapper == null) { @@ -26,9 +29,9 @@ protected ModelResolver modelResolver() { protected void prettyPrint(Object o) { try { - System.out.println(mapper().writer(new DefaultPrettyPrinter()).writeValueAsString(o)); + LOGGER.debug(mapper().writer(new DefaultPrettyPrinter()).writeValueAsString(o)); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Failed to pretty print object", e); } } } diff --git a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java b/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java index 8c7dbe38d4..a246f1dc99 100644 --- a/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java +++ b/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/OpenApiServlet.java @@ -41,7 +41,7 @@ public void init(ServletConfig config) throws ServletException { .ctxId(ctxId) .buildContext(true); } catch (OpenApiConfigurationException e) { - e.printStackTrace(); + LOGGER.error("Failed to initialize OpenAPI servlet context", e); } } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java index 7d003965dc..1cd25fcbdb 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java +++ b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/PetResourceTest.java @@ -54,6 +54,8 @@ import io.swagger.v3.jaxrs2.petstore.tags.TagOperationResource; import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; import java.io.File; @@ -73,6 +75,7 @@ * Adding a lot of tests of different pet resource examples */ public class PetResourceTest extends AbstractAnnotationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(PetResourceTest.class); private static final String PETSTORE_SOURCE = "petstore/"; private static final String TAGS_SOURCE = "petstore/tags/"; private static final String OPERATIONS_SOURCE = "petstore/operation/"; @@ -314,7 +317,7 @@ private void compare(final Class clazz, final String source, boolean openapi31) compareAsYaml(clazz, getOpenAPIAsString(file)); } } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("Failed to compare class {} with YAML resource {}", clazz.getName(), file, e); fail(); } } diff --git a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java index 8048810680..1ea6863dc3 100644 --- a/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java +++ b/modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/AbstractAnnotationTest.java @@ -8,6 +8,8 @@ import io.swagger.v3.oas.integration.SwaggerConfiguration; import io.swagger.v3.oas.models.OpenAPI; import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; import java.io.InputStream; @@ -16,6 +18,8 @@ import static org.testng.Assert.fail; public abstract class AbstractAnnotationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(AbstractAnnotationTest.class); + public String readIntoYaml(final Class cls) { Reader reader = new Reader(new OpenAPI()); OpenAPI openAPI = reader.read(cls); @@ -37,7 +41,7 @@ public void compareToYamlFile(final Class cls, String source){ try { compareAsYaml(cls, getOpenAPIAsString(file)); } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("Failed to compare class {} with YAML resource {}", cls.getName(), file, e); fail(); } } diff --git a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java index 8c37bbcd2c..40523ce96a 100644 --- a/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java +++ b/modules/swagger-maven-plugin/src/main/java/io/swagger/v3/plugin/maven/IncludeProjectDependenciesComponentConfigurator.java @@ -39,8 +39,9 @@ public void configureComponent(Object component, PlexusConfiguration configurati private void addProjectDependenciesToClassRealm(ExpressionEvaluator expressionEvaluator, ClassRealm containerRealm) throws ComponentConfigurationException { List compileClasspathElements; try { - //noinspection unchecked - compileClasspathElements = (List) expressionEvaluator.evaluate("${project.compileClasspathElements}"); + @SuppressWarnings("unchecked") + List evaluated = (List) expressionEvaluator.evaluate("${project.compileClasspathElements}"); + compileClasspathElements = evaluated; } catch (ExpressionEvaluationException e) { throw new ComponentConfigurationException("There was a problem evaluating: ${project.compileClasspathElements}", e); } @@ -68,4 +69,4 @@ private URL[] buildURLs(List runtimeClasspathElements) throws ComponentC return urls.toArray(new URL[urls.size()]); } -} \ No newline at end of file +} diff --git a/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java b/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java index 45f82dbea1..2368f792c3 100644 --- a/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java +++ b/modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java @@ -23,6 +23,8 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.tags.Tag; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; import java.math.BigDecimal; @@ -31,6 +33,8 @@ import java.util.Map; public class SimpleBuilderTest { + private static final Logger LOGGER = LoggerFactory.getLogger(SimpleBuilderTest.class); + @Test public void testBuilder() throws Exception { // basic metadata @@ -119,7 +123,7 @@ public void testBuilder() throws Exception { ) ); - System.out.println(writeJson(oai)); + LOGGER.debug(writeJson(oai)); } public static String writeJson(Object value) throws Exception { diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java index 832bad509b..a95022306f 100644 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java +++ b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java @@ -1,5 +1,8 @@ package io.swagger.v3.plugin.maven.jakarta; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -42,6 +45,8 @@ */ public class JakartaTransformer { + private static final Logger LOGGER = LoggerFactory.getLogger(JakartaTransformer.class); + /* * Substitution tokens + regex @@ -212,7 +217,7 @@ public FileVisitResult visitFile(Path file, Files.copy(file, pathInZipfile, options); } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("Error copying file '{}' into ZIP filesystem", file, e); } return FileVisitResult.CONTINUE;