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); } });
