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

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

commit 5f9ab509c7c1ed01d1a633daf23cadc20fc248b0
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Sep 23 13:01:44 2025 +0200

    CAMEL-22438: camel-catalog - Enum should be type: enum in catalog metadata
---
 .../packaging/EndpointSchemaGeneratorMojo.java     |  8 ++++----
 .../maven/packaging/GeneratePojoBeanMojo.java      |  2 +-
 .../apache/camel/maven/packaging/MojoHelper.java   |  3 +++
 .../maven/packaging/PrepareCamelJBangMojo.java     | 24 +++-------------------
 .../maven/packaging/PrepareCamelMainMojo.java      |  6 +++---
 5 files changed, 14 insertions(+), 29 deletions(-)

diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 9e3559e7d96..ea8b56bd145 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -1099,7 +1099,7 @@ public class EndpointSchemaGeneratorMojo extends 
AbstractGeneratorMojo {
                     option.setKind("property");
                     option.setName(name);
                     option.setDisplayName(displayName);
-                    option.setType(MojoHelper.getType(fieldTypeName, false, 
isDuration));
+                    option.setType(MojoHelper.getType(fieldTypeName, enums != 
null && !enums.isEmpty(), isDuration));
                     option.setJavaType(fieldTypeName);
                     option.setRequired(required);
                     option.setDefaultValue(defaultValue);
@@ -1411,7 +1411,7 @@ public class EndpointSchemaGeneratorMojo extends 
AbstractGeneratorMojo {
         }
         option.setName(name);
         option.setDisplayName(displayName);
-        option.setType(MojoHelper.getType(fieldTypeName, false, isDuration));
+        option.setType(MojoHelper.getType(fieldTypeName, enums != null && 
!enums.isEmpty(), isDuration));
         option.setJavaType(fieldTypeName);
         option.setRequired(required);
         option.setDefaultValue(defaultValue);
@@ -1441,7 +1441,7 @@ public class EndpointSchemaGeneratorMojo extends 
AbstractGeneratorMojo {
             Optional<ApiModel> op = componentModel.getApiOptions().stream()
                     .filter(o -> o.getName().equals(targetApiName))
                     .findFirst();
-            if (!op.isPresent()) {
+            if (op.isEmpty()) {
                 api = new ApiModel();
                 api.setName(apiName);
                 componentModel.getApiOptions().add(api);
@@ -1600,7 +1600,7 @@ public class EndpointSchemaGeneratorMojo extends 
AbstractGeneratorMojo {
             option.setName(name);
             option.setKind("path");
             option.setDisplayName(displayName);
-            option.setType(MojoHelper.getType(fieldTypeName, false, 
isDuration));
+            option.setType(MojoHelper.getType(fieldTypeName, enums != null && 
!enums.isEmpty(), isDuration));
             option.setJavaType(fieldTypeName);
             option.setRequired(required);
             option.setDefaultValue(defaultValue);
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
index 3345d7f8249..6a1920ba2a4 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
@@ -258,13 +258,13 @@ public class GeneratePojoBeanMojo extends 
AbstractGeneratorMojo {
                 javaType = fi.getType().getTypeName();
             }
             o.setJavaType(javaType);
-            o.setType(getType(javaType, false, false));
             o.setDescription(ai.description());
             String enums = ai.enums();
             if (!enums.isEmpty()) {
                 String[] values = enums.split(",");
                 o.setEnums(Stream.of(values).map(String::trim).toList());
             }
+            o.setType(getType(javaType, !enums.isEmpty(), false));
             model.addOption(o);
         }
     }
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index b6d1dfea680..54fcb011d7e 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -20,6 +20,7 @@ import java.io.File;
 import java.net.URI;
 import java.net.URL;
 import java.nio.file.Path;
+import java.time.Duration;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Date;
@@ -202,6 +203,8 @@ public final class MojoHelper {
             return "string";
         } else if (type.startsWith("java.util.List") || 
type.startsWith("java.util.Collection")) {
             return "array";
+        } else if (type.equals(Duration.class.getName())) {
+            return "duration";
         }
 
         String primitive = getPrimitiveType(type);
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
index e66f7ed6025..2444030564c 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
@@ -85,15 +85,12 @@ public class PrepareCamelJBangMojo extends 
AbstractGeneratorMojo {
                 boolean secret = "true".equals(as.getStringValue("secret"));
                 boolean required = 
"true".equals(as.getStringValue("required"));
                 boolean deprecated = clazz.getAnnotation(Deprecated.class) != 
null || f.getAnnotation(Deprecated.class) != null;
-                String type = fromMainToType(javaType);
                 JBangModel.JBangOptionModel model = new 
JBangModel.JBangOptionModel();
                 model.setName(name);
-                model.setType(type);
                 model.setJavaType(javaType);
                 model.setDescription(JavadocHelper.sanitizeDescription(desc, 
false));
                 model.setLabel(label);
                 model.setSourceType(null);
-                model.setDefaultValue(asDefaultValue(type, defaultValue));
                 model.setDeprecated(deprecated);
                 model.setSecret(secret);
                 model.setRequired(required);
@@ -103,6 +100,9 @@ public class PrepareCamelJBangMojo extends 
AbstractGeneratorMojo {
                     enums = Arrays.asList(text.split(","));
                 }
                 model.setEnums(enums);
+                String type = MojoHelper.getType(javaType, enums != null && 
!enums.isEmpty(), false);
+                model.setType(type);
+                model.setDefaultValue(asDefaultValue(type, defaultValue));
                 answer.add(model);
             }
         });
@@ -110,24 +110,6 @@ public class PrepareCamelJBangMojo extends 
AbstractGeneratorMojo {
         return answer;
     }
 
-    private static String fromMainToType(String type) {
-        if ("boolean".equals(type) || "java.lang.Boolean".equals(type)) {
-            return "boolean";
-        } else if ("int".equals(type) || "java.lang.Integer".equals(type)) {
-            return "integer";
-        } else if ("long".equals(type) || "java.lang.Long".equals(type)) {
-            return "integer";
-        } else if ("float".equals(type) || "java.lang.Float".equals(type)) {
-            return "number";
-        } else if ("double".equals(type) || "java.lang.Double".equals(type)) {
-            return "number";
-        } else if ("string".equals(type) || "java.lang.String".equals(type)) {
-            return "string";
-        } else {
-            return "object";
-        }
-    }
-
     private static Object asDefaultValue(String type, String defaultValue) {
         if (defaultValue != null) {
             if ("boolean".equals(type)) {
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
index 5c195b9e745..e919a83c765 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java
@@ -106,14 +106,11 @@ public class PrepareCamelMainMojo extends 
AbstractGeneratorMojo {
                 String desc = setter.getJavaDoc().getFullText();
                 boolean deprecated
                         = clazz.getAnnotation(Deprecated.class) != null || 
setter.getAnnotation(Deprecated.class) != null;
-                String type = fromMainToType(javaType);
                 MainModel.MainOptionModel model = new 
MainModel.MainOptionModel();
                 model.setName(name);
-                model.setType(type);
                 model.setJavaType(javaType);
                 model.setDescription(JavadocHelper.sanitizeDescription(desc, 
false));
                 model.setSourceType(sourceType);
-                model.setDefaultValue(asDefaultValue(type, defaultValue));
                 model.setDeprecated(deprecated);
                 model.setSecret(secret);
                 model.setRequired(required);
@@ -137,6 +134,9 @@ public class PrepareCamelMainMojo extends 
AbstractGeneratorMojo {
                     }
                 }
                 model.setEnums(enums);
+                String type = MojoHelper.getType(javaType, enums != null && 
!enums.isEmpty(), false);
+                model.setType(type);
+                model.setDefaultValue(asDefaultValue(type, defaultValue));
                 answer.add(model);
             }
         });

Reply via email to