in src/main/java/com/epam/digital/data/platform/generator/factory/impl/asyncload/AsyncDataLoadEntityScopeFactory.java [99:124]
private List<Field> getNestedFields(
String structureName, NestedNode element, List<Column> columns) {
return columns.stream()
.map(
column -> {
var childElement = element.getChildNodes().get(column.getName());
String clazzName;
if (childElement.getChildNodes().isEmpty()) {
clazzName = getSchemaName(childElement.getTableName()) + "Model";
} else {
clazzName =
getSchemaName(structureName, childElement.getTableName()) + "NestedCsv";
}
var field = new Field();
field.setName(getPropertyName(childElement.getTableName()));
field.setType(typeToString(clazzName, column));
field.setConstraints(Stream.concat(
Stream.of(new Constraint("@com.fasterxml.jackson.annotation.JsonUnwrapped",
List.of(new Content("prefix", "\"" + childElement.getTableName() + ".\"")))),
constraintProviders.getConstraintForProperty(column, clazzName).stream())
.collect(Collectors.toList()));
return field;
})
.collect(toList());
}