This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit b8940cbe35948b93bad45ceb7e18d6caa7a31d3f Author: Aurélien Pupier <[email protected]> AuthorDate: Wed Dec 9 11:32:16 2020 +0100 Add enum in Catalog - code generator change #645 Signed-off-by: Aurélien Pupier <[email protected]> --- .../kafkaconnector/catalog/CamelKafkaConnectorCatalog.java | 1 + .../catalog/CamelKafkaConnectorCatalogTest.java | 10 +++++++--- .../kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java | 1 + .../kafkaconnector/maven/utils/JsonMapperKafkaConnector.java | 4 ++++ .../kafkaconnector/model/CamelKafkaConnectorOptionModel.java | 11 +++++++++++ 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java b/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java index 0c39027..fdd53f5 100644 --- a/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java +++ b/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java @@ -138,6 +138,7 @@ public class CamelKafkaConnectorCatalog { singleModel.setDescription((String)object.get("description")); singleModel.setName((String)object.get("name")); singleModel.setRequired((String)object.get("required")); + singleModel.setPossibleEnumValues((List<String>)object.get("enum")); model.add(singleModel); } return model; diff --git a/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java b/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java index 50157ac..b429291 100644 --- a/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java +++ b/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.kafkaconnector.catalog; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -83,6 +84,7 @@ class CamelKafkaConnectorCatalogTest { assertNull(model.getConverters()); assertNull(model.getTransforms()); assertNull(model.getAggregationStrategies()); + assertEquals(Arrays.asList("HTTP", "HTTPS"), catalog.getOptionModel("camel-aws2-sns-sink", "camel.component.aws2-sns.proxyProtocol").getPossibleEnumValues()); } @Test @@ -116,8 +118,9 @@ class CamelKafkaConnectorCatalogTest { + " \"camel.component.my-test-connector.demo\": {\n" + " \"name\": \"camel.component.my-test-connector.demo\",\n" + " \"description\": \"A demo description of the component\",\n" - + " \"defaultValue\": \"\\\"false\\\"\",\n" - + " \"priority\": \"MEDIUM\"\n" + + " \"defaultValue\": \"\\\"firstValue\\\"\",\n" + + " \"priority\": \"MEDIUM\",\n" + + " \"enum\": [\"firstValue\",\"secondValue\"]\n" + " }\n" + " }\n" + "}\n"); @@ -129,10 +132,11 @@ class CamelKafkaConnectorCatalogTest { private void checkAddedConnectorContainsCorrectPropertyValues(String connectorName) { CamelKafkaConnectorOptionModel camelKafkaConnectorOptionModel = catalog.getConnectorsModel().get(connectorName).getOptions().get(0); - assertEquals("\"false\"", camelKafkaConnectorOptionModel.getDefaultValue()); + assertEquals("\"firstValue\"", camelKafkaConnectorOptionModel.getDefaultValue()); assertEquals("camel.component.my-test-connector.demo", camelKafkaConnectorOptionModel.getName()); assertEquals("MEDIUM", camelKafkaConnectorOptionModel.getPriority()); assertEquals("A demo description of the component", camelKafkaConnectorOptionModel.getDescription()); + assertEquals(Arrays.asList("firstValue", "secondValue"), camelKafkaConnectorOptionModel.getPossibleEnumValues()); } @Test diff --git a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java index 5480533..08013bf 100644 --- a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java +++ b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java @@ -663,6 +663,7 @@ public class CamelKafkaConnectorUpdateMojo extends AbstractCamelKafkaConnectorMo optionModel.setPriority(StringUtils.removeStart(confPriority, CONFIG_DEF_IMPORTANCE_PREFIX)); optionModel.setDefaultValue(defaultValueClassLiteralInitializer.equals("null") ? null : defaultValueClassLiteralInitializer); optionModel.setRequired(String.valueOf(baseOptionModel.isRequired())); + optionModel.setPossibleEnumValues(baseOptionModel.getEnums()); listOptions.add(optionModel); } diff --git a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/JsonMapperKafkaConnector.java b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/JsonMapperKafkaConnector.java index ecb143a..a03241a 100644 --- a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/JsonMapperKafkaConnector.java +++ b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/JsonMapperKafkaConnector.java @@ -70,6 +70,10 @@ public final class JsonMapperKafkaConnector { } obj.put("priority", model.getPriority()); obj.put("required", model.getRequired()); + List<String> possibleEnumValues = model.getPossibleEnumValues(); + if (possibleEnumValues != null && !possibleEnumValues.isEmpty()) { + obj.put("enum", possibleEnumValues); + } return obj; } } diff --git a/tooling/camel-kafka-connector-model/src/main/java/org/apache/camel/kafkaconnector/model/CamelKafkaConnectorOptionModel.java b/tooling/camel-kafka-connector-model/src/main/java/org/apache/camel/kafkaconnector/model/CamelKafkaConnectorOptionModel.java index f130369..b99bebb 100644 --- a/tooling/camel-kafka-connector-model/src/main/java/org/apache/camel/kafkaconnector/model/CamelKafkaConnectorOptionModel.java +++ b/tooling/camel-kafka-connector-model/src/main/java/org/apache/camel/kafkaconnector/model/CamelKafkaConnectorOptionModel.java @@ -16,6 +16,8 @@ */ package org.apache.camel.kafkaconnector.model; +import java.util.List; + import org.apache.camel.tooling.model.Strings; public class CamelKafkaConnectorOptionModel { @@ -25,6 +27,7 @@ public class CamelKafkaConnectorOptionModel { private String name; private String defaultValue; private String required; + private List<String> possibleEnumValues; public String getName() { return name; @@ -71,4 +74,12 @@ public class CamelKafkaConnectorOptionModel { public void setRequired(String required) { this.required = required; } + + public List<String> getPossibleEnumValues() { + return possibleEnumValues; + } + + public void setPossibleEnumValues(List<String> possibleEnumValues) { + this.possibleEnumValues = possibleEnumValues; + } }
