Program: 125920
Project: 125920
Buggy source:
/** 
 * Build a field into a schema using enriched properties from the incoming column.
 */
private static FieldAssembler<Schema> convertToAvro(FieldAssembler<Schema> fa,org.talend.core.model.metadata.builder.connection.MetadataColumn in){
  FieldBuilder<Schema> fb=fa.name(in.getLabel());
  copyColumnProperties(fb,in);
  BaseFieldTypeBuilder<Schema> ftb=in.isNullable() ? fb.type() : fb.type().nullable();
  String defaultValue=null;
  Expression initialValue=in.getInitialValue();
  if (initialValue != null) {
    defaultValue=initialValue.getBody();
  }
  String tt=in.getTalendType();
  if (JavaTypesManager.LONG.getId().equals(tt)) {
    return defaultValue == null ? ftb.longType().noDefault() : ftb.longType().longDefault(Long.parseLong(defaultValue));
  }
  if (JavaTypesManager.INTEGER.getId().equals(tt) || JavaTypesManager.SHORT.getId().equals(tt) || JavaTypesManager.BYTE.getId().equals(tt)) {
    return defaultValue == null ? ftb.intType().noDefault() : ftb.intType().intDefault(Integer.parseInt(defaultValue));
  }
  if (JavaTypesManager.DOUBLE.getId().equals(tt)) {
    return defaultValue == null ? ftb.doubleType().noDefault() : ftb.doubleType().doubleDefault(Double.parseDouble(defaultValue));
  }
  if (JavaTypesManager.FLOAT.getId().equals(tt)) {
    return defaultValue == null ? ftb.floatType().noDefault() : ftb.floatType().floatDefault(Float.parseFloat(defaultValue));
  }
  if (JavaTypesManager.BIGDECIMAL.getId().equals(tt)) {
    Decimal d=LogicalTypes.decimal((int)in.getLength(),(int)in.getPrecision());
    Schema bigdecimal=d.addToSchema(Schema.create(Schema.Type.BYTES));
    return fb.type(bigdecimal).withDefault(defaultValue);
  }
  if (JavaTypesManager.BOOLEAN.getId().equals(tt)) {
    return defaultValue == null ? ftb.booleanType().noDefault() : ftb.booleanType().booleanDefault(Boolean.parseBoolean(defaultValue));
  }
  if (JavaTypesManager.BYTE_ARRAY.getId().equals(tt)) {
    return defaultValue == null ? ftb.bytesType().noDefault() : ftb.bytesType().bytesDefault(defaultValue);
  }
  if (JavaTypesManager.DATE.getId().equals(tt)) {
    return ftb.longType().noDefault();
  }
  if (JavaTypesManager.STRING.getId().equals(tt) || JavaTypesManager.FILE.getId().equals(tt) || JavaTypesManager.DIRECTORY.getId().equals(tt)|| JavaTypesManager.VALUE_LIST.getId().equals(tt)|| JavaTypesManager.CHARACTER.getId().equals(tt)|| JavaTypesManager.PASSWORD.getId().equals(tt)) {
    return defaultValue == null ? ftb.stringType().noDefault() : ftb.stringType().stringDefault(defaultValue);
  }
  if (JavaTypesManager.OBJECT.getId().equals(tt) || JavaTypesManager.DYNAMIC.getId().equals(tt)) {
    return defaultValue == null ? ftb.bytesType().noDefault() : ftb.bytesType().bytesDefault(defaultValue);
  }
  if (JavaTypesManager.LIST.getId().equals(tt)) {
    return ftb.array().items().bytesType().noDefault();
  }
  throw new UnsupportedOperationException("String_Node_Str" + tt);
}

Fixed version (ground truth):
/** 
 * Build a field into a schema using enriched properties from the incoming column.
 */
private static FieldAssembler<Schema> convertToAvro(FieldAssembler<Schema> fa,org.talend.core.model.metadata.builder.connection.MetadataColumn in){
  FieldBuilder<Schema> fb=fa.name(in.getLabel());
  copyColumnProperties(fb,in);
  BaseFieldTypeBuilder<Schema> ftb=in.isNullable() ? fb.type().nullable() : fb.type();
  String defaultValue=null;
  Expression initialValue=in.getInitialValue();
  if (initialValue != null) {
    defaultValue=initialValue.getBody();
  }
  String tt=in.getTalendType();
  if (JavaTypesManager.LONG.getId().equals(tt)) {
    return defaultValue == null ? ftb.longType().noDefault() : ftb.longType().longDefault(Long.parseLong(defaultValue));
  }
  if (JavaTypesManager.INTEGER.getId().equals(tt) || JavaTypesManager.SHORT.getId().equals(tt) || JavaTypesManager.BYTE.getId().equals(tt)) {
    return defaultValue == null ? ftb.intType().noDefault() : ftb.intType().intDefault(Integer.parseInt(defaultValue));
  }
  if (JavaTypesManager.DOUBLE.getId().equals(tt)) {
    return defaultValue == null ? ftb.doubleType().noDefault() : ftb.doubleType().doubleDefault(Double.parseDouble(defaultValue));
  }
  if (JavaTypesManager.FLOAT.getId().equals(tt)) {
    return defaultValue == null ? ftb.floatType().noDefault() : ftb.floatType().floatDefault(Float.parseFloat(defaultValue));
  }
  if (JavaTypesManager.BIGDECIMAL.getId().equals(tt)) {
    Decimal d=LogicalTypes.decimal((int)in.getLength(),(int)in.getPrecision());
    Schema bigdecimal=d.addToSchema(Schema.create(Schema.Type.BYTES));
    return defaultValue == null ? fb.type(bigdecimal).noDefault() : fb.type(bigdecimal).withDefault(defaultValue);
  }
  if (JavaTypesManager.BOOLEAN.getId().equals(tt)) {
    return defaultValue == null ? ftb.booleanType().noDefault() : ftb.booleanType().booleanDefault(Boolean.parseBoolean(defaultValue));
  }
  if (JavaTypesManager.BYTE_ARRAY.getId().equals(tt)) {
    return defaultValue == null ? ftb.bytesType().noDefault() : ftb.bytesType().bytesDefault(defaultValue);
  }
  if (JavaTypesManager.DATE.getId().equals(tt)) {
    return ftb.longType().noDefault();
  }
  if (JavaTypesManager.STRING.getId().equals(tt) || JavaTypesManager.FILE.getId().equals(tt) || JavaTypesManager.DIRECTORY.getId().equals(tt)|| JavaTypesManager.VALUE_LIST.getId().equals(tt)|| JavaTypesManager.CHARACTER.getId().equals(tt)|| JavaTypesManager.PASSWORD.getId().equals(tt)) {
    return defaultValue == null ? ftb.stringType().noDefault() : ftb.stringType().stringDefault(defaultValue);
  }
  if (JavaTypesManager.OBJECT.getId().equals(tt)) {
    return defaultValue == null ? ftb.bytesType().noDefault() : ftb.bytesType().bytesDefault(defaultValue);
  }
  if (JavaTypesManager.LIST.getId().equals(tt)) {
    return ftb.array().items().bytesType().noDefault();
  }
  throw new UnsupportedOperationException("String_Node_Str" + tt);
}