in tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/YamlKameletMapper.java [55:93]
public static KameletModel parseKameletYaml(ObjectNode kameletYamlNode) {
KameletModel km = new KameletModel();
km.setType(kameletYamlNode.at("/metadata/labels/camel.apache.org~1kamelet.type").asText());
km.setName(kameletYamlNode.at("/metadata/name").asText());
km.setDescription(kameletYamlNode.at("/spec/definition/description").asText());
Set<String> requiredProperties = new HashSet<>();
kameletYamlNode.at("/spec/definition/required").forEach(req -> requiredProperties.add(req.asText()));
km.setRequiredProperties(requiredProperties);
Set<String> dependencies = new HashSet<>();
kameletYamlNode.at("/spec/dependencies").forEach(req -> {
if (req != null && !req.isNull()) {
dependencies.add(req.asText());
}
});
km.setDependencies(dependencies);
List<KameletPropertyModel> kpms = new ArrayList<>();
Iterator<Map.Entry<String, JsonNode>> it = kameletYamlNode.at("/spec/definition/properties").fields();
while (it.hasNext()) {
Map.Entry<String, JsonNode> property = it.next();
KameletPropertyModel kpm = new KameletPropertyModel();
kpm.setName(property.getKey());
JsonNode propertyFields = property.getValue();
kpm.setDefaultValue(propertyFields.get("default") != null ? propertyFields.get("default").asText() : null);
kpm.setExample(propertyFields.get("example") != null ? propertyFields.get("example").asText() : null);
kpm.setDescription(propertyFields.get("description") != null ? propertyFields.get("description").asText() : null);
kpm.setFormat(propertyFields.get("format") != null ? propertyFields.get("format").asText() : null);
kpm.setTitle(propertyFields.get("title") != null ? propertyFields.get("title").asText() : null);
kpm.setType(propertyFields.get("type") != null ? propertyFields.get("type").asText() : null);
kpms.add(kpm);
}
km.setProperties(kpms);
return km;
}