[#6241] DataType.nullable() and defaultValue() are not generated for enum types

This commit is contained in:
lukaseder 2018-02-19 11:44:30 +01:00
parent fd4d124d0d
commit 4bfd5aa284
2 changed files with 5 additions and 7 deletions

View File

@ -5985,12 +5985,9 @@ public class JavaGenerator extends AbstractGenerator {
sb.append(".getDataType()");
}
else if (db.getEnum(schema, u) != null) {
sb.append("org.jooq.util.");
sb.append(db.getDialect().getName().toLowerCase());
sb.append(".");
sb.append(db.getDialect().getName());
sb.append("DataType.");
sb.append(DefaultDataType.normalise(DefaultDataType.getDataType(db.getDialect(), String.class).getTypeName()));
sb.append(getJavaTypeReference(db, new DefaultDataTypeDefinition(
db, schema, DefaultDataType.getDataType(db.getDialect(), String.class).getTypeName(), l, p, s, n, d, (Name) null
)));
sb.append(".asEnumDataType(");
sb.append(classOf(getStrategy().getFullJavaClassName(db.getEnum(schema, u))));
sb.append(")");

View File

@ -725,10 +725,11 @@ public class DefaultDataType<T> implements DataType<T> {
@SuppressWarnings("rawtypes")
@Override
public final <E extends EnumType> DataType<E> asEnumDataType(Class<E> enumDataType) {
String enumTypeName = Tools.enums(enumDataType)[0].getName();
return new DefaultDataType<E>(dialect, enumDataType, enumTypeName, enumTypeName);
return new DefaultDataType<E>(dialect, (DataType<E>) null, enumDataType, enumTypeName, enumTypeName, precision, scale, length, nullability, (Field) defaultValue);
}
@Override