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

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

commit 97810a922732a4124aaba4501e55936a3dfab3eb
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jul 2 14:09:31 2026 +0200

    Fix code generator to handle day-based duration defaults
    
    The convertDurationToMills method only handled time-based durations
    (hours/minutes/seconds) by prepending "PT", but days require "P" prefix
    in ISO-8601. This caused "1d" defaults to pass through unconverted,
    producing invalid Java literals like "1dL".
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/springboot/maven/SpringBootAutoConfigurationMojo.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
 
b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index d8c4c341505..554c408f7bf 100644
--- 
a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ 
b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -784,7 +784,14 @@ public class SpringBootAutoConfigurationMojo extends 
AbstractSpringBootGenerator
             pattern = pattern.replaceAll("ms", "");
         }
         try {
-            Duration d = Duration.parse("PT" + pattern);
+            // Days are a date component in ISO-8601 and must appear before 
the T separator (P1D, not PT1D)
+            String iso;
+            if (pattern.endsWith("d")) {
+                iso = "P" + pattern;
+            } else {
+                iso = "PT" + pattern;
+            }
+            Duration d = Duration.parse(iso);
             value = String.valueOf(d.toMillis());
         } catch (java.time.format.DateTimeParseException e) {
             value = pattern;

Reply via email to