private PropertyMeta getAttributeType()

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