Skip to content

Commit

Permalink
[#16039] Compilation error in JavaGenerator generated code when
Browse files Browse the repository at this point in the history
<pojosAsJavaRecordClasses> is active and a table references a UDT
  • Loading branch information
lukaseder committed Jan 9, 2024
1 parent f8ffea3 commit 6c71882
Showing 1 changed file with 19 additions and 17 deletions.
36 changes: 19 additions & 17 deletions jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
Expand Up @@ -2486,17 +2486,22 @@ else if (isUDT || isArray)
}
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)");
Expand All @@ -2518,30 +2523,27 @@ else if (isArrayOfUDTs) {

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
Expand Down

0 comments on commit 6c71882

Please sign in to comment.