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

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


The following commit(s) were added to refs/heads/camel-3.x by this push:
     new 8613fc0f30e CAMEL-19009: camel-gson - Date Format with GsonBuilder
8613fc0f30e is described below

commit 8613fc0f30ec53a1a2b126d4951ed935b4fe69e7
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Feb 5 12:11:40 2023 +0100

    CAMEL-19009: camel-gson - Date Format with GsonBuilder
---
 .../resources/org/apache/camel/catalog/schemas/camel-spring.xsd  | 9 +++++++++
 .../org/apache/camel/component/jackson/JacksonDataFormat.java    | 5 +++--
 .../apache/camel/reifier/dataformat/JsonDataFormatReifier.java   | 4 +++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 5913bea9e8b..0b5d8f01278 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -11587,6 +11587,15 @@ using Gson.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
+        <xs:attribute name="dateFormatPattern" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+To configure the date format while marshall or unmarshall Date fields in JSON
+using Gson.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
               
       </xs:extension>
           
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
index 092767524ee..bd5d3b67f75 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
@@ -21,10 +21,11 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Dataformat;
 
 /**
- * Marshal POJOs to JSON and back using <a 
href="https://github.com/FasterXML/jackson";>Jackson</a>
+ * Marshal POJOs to JSON and back using Jackson
  */
 @Dataformat("jackson")
-@Metadata(excludeProperties = "library,permissions,dropRootNode")
+@Metadata(excludeProperties = 
"library,permissions,dropRootNode,dateFormatPattern")
+>>>>>>> 3fb33a356f2 (CAMEL-19009: camel-gson - Date Format with GsonBuilder)
 public class JacksonDataFormat extends AbstractJacksonDataFormat {
 
     /**
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JsonDataFormatReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JsonDataFormatReifier.java
index d6eb5829652..4a66fab8148 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JsonDataFormatReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JsonDataFormatReifier.java
@@ -48,7 +48,6 @@ public class JsonDataFormatReifier extends 
DataFormatReifier<JsonDataFormat> {
             properties.put("unmarshalType", or(definition.getUnmarshalType(), 
definition.getUnmarshalTypeName()));
         }
         properties.put("prettyPrint", definition.getPrettyPrint());
-        properties.put("dateFormatPattern", definition.getDateFormatPattern());
         properties.put("include", definition.getInclude());
         properties.put("allowJmsType", definition.getAllowJmsType());
         if (definition.getLibrary() != JsonLibrary.XStream) {
@@ -79,6 +78,9 @@ public class JsonDataFormatReifier extends 
DataFormatReifier<JsonDataFormat> {
             properties.put("namingStrategy", definition.getNamingStrategy());
             properties.put("timezone", definition.getTimezone());
         }
+        if (definition.getLibrary() == JsonLibrary.Fastjson || 
definition.getLibrary() == JsonLibrary.Gson) {
+            properties.put("dateFormatPattern", 
definition.getDateFormatPattern());
+        }
     }
 
 }

Reply via email to