[jOOQ/jOOQ#16039] Compilation error in JavaGenerator generated code when

<pojosAsJavaRecordClasses> is active and a table references a UDT
This commit is contained in:
Lukas Eder 2024-01-09 11:17:42 +01:00
parent d6f26880ad
commit 5dfa78037c

View File

@ -2486,17 +2486,22 @@ public class JavaGenerator extends AbstractGenerator {
}
else {
if (pojoArgument) {
// [#16039] Make sure we reuse this where needed
final String getterName = generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column, Mode.POJO)
: getStrategy().getJavaGetterName(column, Mode.POJO);
if (isUDTArray) {
if (indexTypeFull == null) {
out.println("%s(value.%s() == null ? null : new %s(value.%s().stream().map(%s::new).collect(%s.toList())));",
getStrategy().getJavaSetterName(column, Mode.RECORD),
getStrategy().getJavaGetterName(column, Mode.POJO),
getterName,
udtType,
generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column, Mode.POJO)
: getStrategy().getJavaGetterName(column, Mode.POJO),
getterName,
udtArrayElementType,
Collectors.class);
Collectors.class
);
}
else {
out.println("if (true)");
@ -2518,30 +2523,27 @@ public class JavaGenerator extends AbstractGenerator {
out.println("%s(value.%s() == null ? null : %s.of(value.%s()).map(%s).toArray(%s%s::new));",
getStrategy().getJavaSetterName(column, Mode.RECORD),
getStrategy().getJavaGetterName(column, Mode.POJO),
getterName,
Stream.class,
generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column, Mode.POJO)
: getStrategy().getJavaGetterName(column, Mode.POJO),
getterName,
mapping,
udtArrayElementType,
brackets);
brackets
);
}
else if (isUDT || isArray) {
out.println("%s(value.%s() == null ? null : new %s(value.%s()));",
getStrategy().getJavaSetterName(column, Mode.RECORD),
getStrategy().getJavaGetterName(column, Mode.POJO),
getterName,
udtType,
generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column, Mode.POJO)
: getStrategy().getJavaGetterName(column, Mode.POJO));
getterName
);
}
else {
out.println("%s(value.%s());",
getStrategy().getJavaSetterName(column, Mode.RECORD),
generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column, Mode.POJO)
: getStrategy().getJavaGetterName(column, Mode.POJO));
getterName
);
}
}
else