Source:
<code>private static String getSqlDefaulValue(Attribute attribute, String defaultValueAsString) { String sqlDefaultValue; Object defaultTypedValue = AttributeUtils.getDefaultTypedValue(attribute, defaultValueAsString); AttributeType attributeType = attribute.getDataType(); switch (attributeType) { case BOOL: Boolean booleanDefaultValue = (Boolean) defaultTypedValue; <START> sqlDefaultValue = Boolean.TRUE.equals(booleanDefaultValue) ? "TRUE" : "FALSE"; <END> break; case CATEGORICAL: case FILE: case XREF: Entity refDefaultValue = (Entity) defaultTypedValue; sqlDefaultValue = getSqlDefaulValue( attribute.getRefEntity().getIdAttribute(), refDefaultValue.getIdValue().toString()); break; case DATE: LocalDate dateDefaultValue = (LocalDate) defaultTypedValue; sqlDefaultValue = '\'' + dateDefaultValue.toString() + '\''; break; case DATE_TIME: Instant instantDefaultValue = (Instant) defaultTypedValue; sqlDefaultValue = '\'' + instantDefaultValue.truncatedTo(ChronoUnit.SECONDS).atOffset(UTC).toString() + '\''; break; case DECIMAL: Double doubleDefaultValue = (Double) defaultTypedValue; sqlDefaultValue = doubleDefaultValue.toString(); break; case EMAIL: case ENUM: case HTML: case HYPERLINK: case SCRIPT: case STRING: case TEXT: sqlDefaultValue = '\'' + (String) defaultTypedValue + '\''; break; case INT: Integer intDefaultValue = (Integer) defaultTypedValue; sqlDefaultValue = intDefaultValue.toString(); break; case LONG: Long longDefaultValue = (Long) defaultTypedValue; sqlDefaultValue = longDefaultValue.toString(); break; case CATEGORICAL_MREF: case COMPOUND: case MREF: case ONE_TO_MANY: throw new IllegalAttributeTypeException(attributeType); default: throw new UnexpectedEnumException(attributeType); } return sqlDefaultValue; }</code><technical_language>booleanDefaultValue == null result in sqlDefaultValue == FALSE. Is this desired behavior</technical_language>

Target:
private static String getSqlDefaulValue(Attribute attribute, String defaultValueAsString) { String sqlDefaultValue; Object defaultTypedValue = AttributeUtils.getDefaultTypedValue(attribute, defaultValueAsString); AttributeType attributeType = attribute.getDataType(); switch (attributeType) { case BOOL: Boolean booleanDefaultValue = (Boolean) defaultTypedValue; if (booleanDefaultValue == null) { throw new NullPointerException(); } sqlDefaultValue = booleanDefaultValue ? "TRUE" : "FALSE"; break; case CATEGORICAL: case FILE: case XREF: Entity refDefaultValue = (Entity) defaultTypedValue; sqlDefaultValue = getSqlDefaulValue( attribute.getRefEntity().getIdAttribute(), refDefaultValue.getIdValue().toString()); break; case DATE: LocalDate dateDefaultValue = (LocalDate) defaultTypedValue; sqlDefaultValue = '\'' + dateDefaultValue.toString() + '\''; break; case DATE_TIME: Instant instantDefaultValue = (Instant) defaultTypedValue; sqlDefaultValue = '\'' + instantDefaultValue.truncatedTo(ChronoUnit.SECONDS).atOffset(UTC).toString() + '\''; break; case DECIMAL: Double doubleDefaultValue = (Double) defaultTypedValue; sqlDefaultValue = doubleDefaultValue.toString(); break; case EMAIL: case ENUM: case HTML: case HYPERLINK: case SCRIPT: case STRING: case TEXT: sqlDefaultValue = '\'' + (String) defaultTypedValue + '\''; break; case INT: Integer intDefaultValue = (Integer) defaultTypedValue; sqlDefaultValue = intDefaultValue.toString(); break; case LONG: Long longDefaultValue = (Long) defaultTypedValue; sqlDefaultValue = longDefaultValue.toString(); break; case CATEGORICAL_MREF: case COMPOUND: case MREF: case ONE_TO_MANY: throw new IllegalAttributeTypeException(attributeType); default: throw new UnexpectedEnumException(attributeType); } return sqlDefaultValue; }