You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2025/09/10 12:43:03 UTC

(camel) branch camel-4.14.x updated: CAMEL-22408: OpenAPI Description showing wrong allowable dates depending on system timezone

This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.14.x by this push:
     new afb23b74398 CAMEL-22408: OpenAPI Description showing wrong allowable dates depending on system timezone
afb23b74398 is described below

commit afb23b7439885215aa02940af3ed72309548cc6b
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Sep 9 10:08:25 2025 +0200

    CAMEL-22408: OpenAPI Description showing wrong allowable dates depending
    on system timezone
---
 .../apache/camel/openapi/RestOpenApiSupport.java   |  8 +++++-
 .../camel/openapi/RestOpenApiReaderTest.java       | 30 +---------------------
 2 files changed, 8 insertions(+), 30 deletions(-)

diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
index 8db9e7c8266..7920dff2889 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
@@ -25,6 +25,7 @@ import java.text.SimpleDateFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TimeZone;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -60,7 +61,12 @@ import static org.apache.camel.openapi.RestDefinitionsResolver.JMX_REST_DEFINITI
  */
 public class RestOpenApiSupport {
 
-    public static DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
+    private static final DateFormat DEFAULT_DATE_FORMAT;
+    static {
+        final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
+        f.setTimeZone(TimeZone.getTimeZone("UTC"));
+        DEFAULT_DATE_FORMAT = f;
+    }
 
     static final String HEADER_X_FORWARDED_PREFIX = "X-Forwarded-Prefix";
     static final String HEADER_X_FORWARDED_HOST = "X-Forwarded-Host";
diff --git a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
index 91c4ec31f11..6416ab51f45 100644
--- a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
+++ b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
@@ -16,14 +16,6 @@
  */
 package org.apache.camel.openapi;
 
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.TimeZone;
-
-import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.swagger.v3.core.util.Json;
-import io.swagger.v3.core.util.Json31;
 import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.apache.camel.BindToRegistry;
@@ -240,7 +232,7 @@ public class RestOpenApiReaderTest extends CamelTestSupport {
                 new DefaultClassResolver());
         assertNotNull(openApi);
 
-        String json = getJsonFromOpenAPIAsString(openApi, config);
+        String json = RestOpenApiSupport.getJsonFromOpenAPIAsString(openApi, config);
         log.info(json);
         json = json.replace("\n", " ").replaceAll("\\s+", " ");
 
@@ -278,24 +270,4 @@ public class RestOpenApiReaderTest extends CamelTestSupport {
         context.stop();
     }
 
-    /*
-     * set TimeZone as default GMT to eusure this test pass everywhere
-     */
-    private String getJsonFromOpenAPIAsString(OpenAPI openApi, BeanConfig config) {
-        ObjectMapper mapper = config.isOpenApi31() ? Json31.mapper() : Json.mapper();
-        DateFormat origin = mapper.getDateFormat();
-        String result = null;
-        try {
-            DateFormat testDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-            testDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
-            mapper.setDateFormat(testDateFormat);
-            result = mapper.writer(new DefaultPrettyPrinter()).writeValueAsString(openApi);
-        } catch (Exception e) {
-            return null;
-        } finally {
-            mapper.setDateFormat(origin);
-        }
-        return result;
-    }
-
 }