in data-index/data-index-graphql/src/main/java/org/kie/kogito/index/graphql/query/GraphQLInputObjectTypeMapper.java [94:126]
private GraphQLInputType getInputTypeByField(GraphQLFieldDefinition field) {
String name = resolveBaseTypeName(field.getType());
switch (name) {
case "Int":
return getInputObjectType("NumericArgument");
case "Long":
return getInputObjectType("LongArgument");
case "Double":
return getInputObjectType("BigDecimalArgument");
case "Float":
return getInputObjectType("FloatArgument");
case "String":
return getInputObjectType("StringArgument");
case "Boolean":
return getInputObjectType("BooleanArgument");
case "DateTime":
return getInputObjectType("DateArgument");
default:
String typeName = name + ARGUMENT;
GraphQLType schemaType = getExistingType(typeName);
if (schemaType == null) {
GraphQLObjectType domain = (GraphQLObjectType) getAdditionalTypes().get(name);
if (domain == null) {
return null;
}
GraphQLInputObjectType type = new GraphQLInputObjectTypeMapper(getSchema(), getAdditionalTypes(), false).apply(domain);
getAdditionalTypes().put(typeName, type);
return type;
} else {
return (GraphQLInputType) schemaType;
}
}
}