in karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelMetadataGenerator.java [221:247]
private PropertyMeta getAttributeType(JsonObject attribute) {
if (attribute.containsKey("$ref")) {
String classFullName = attribute.getString("$ref");
String className = classSimple(classFullName);
if (className.equals("SagaActionUriDefinition"))
return new PropertyMeta("string", false, false); // exception for SagaActionUriDefinition
if (className.equals("ToDefinition"))
return new PropertyMeta("string", false, false); // exception for ToDefinition (in REST Methods)
if (className.equals("ToDynamicDefinition"))
return new PropertyMeta("string", false, false); // exception for ToDynamicDefinition (in REST Methods)
return new PropertyMeta(className, false, true);
} else if (attribute.containsKey("type") && attribute.getString("type").equals("array")) {
JsonObject items = attribute.getJsonObject("items");
if (items.containsKey("$ref") && items.getString("$ref").equals("#/items/definitions/org.apache.camel.model.ProcessorDefinition")) {
return new PropertyMeta("CamelElement", true, true);
} else if (items.containsKey("$ref")) {
String className = classSimple(items.getString("$ref"));
return new PropertyMeta(className, true, true);
} else {
return new PropertyMeta(items.getString("type"), true, false);
}
} else if (attribute.containsKey("type") && attribute.getString("type").equals("object")) {
return new PropertyMeta(attribute.getString("type"), false, false);
} else {
return new PropertyMeta(attribute.getString("type"), false, false);
}
}