Program: 125861
Project: 125861
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().nullable() : fb.type();
  Object defaultValue=null;
  Expression initialValue=in.getInitialValue();
  if (initialValue != null) {
    defaultValue=initialValue.getBody();
  }
  String tt=in.getTalendType();
  Schema type=null;
  if (JavaTypesManager.LONG.getId().equals(tt)) {
    type=AvroTypes._long();
    defaultValue=defaultValue == null ? null : Long.parseLong(defaultValue.toString());
  }
 else   if (JavaTypesManager.INTEGER.getId().equals(tt)) {
    type=AvroTypes._int();
    defaultValue=defaultValue == null ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.SHORT.getId().equals(tt)) {
    type=AvroTypes._short();
    defaultValue=defaultValue == null ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.BYTE.getId().equals(tt)) {
    type=AvroTypes._byte();
    defaultValue=defaultValue == null ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.DOUBLE.getId().equals(tt)) {
    type=AvroTypes._double();
    defaultValue=defaultValue == null ? null : Double.parseDouble(defaultValue.toString());
  }
 else   if (JavaTypesManager.FLOAT.getId().equals(tt)) {
    type=AvroTypes._float();
    defaultValue=defaultValue == null ? null : Float.parseFloat(defaultValue.toString());
  }
 else   if (JavaTypesManager.BIGDECIMAL.getId().equals(tt)) {
    type=AvroTypes._decimal();
  }
 else   if (JavaTypesManager.BOOLEAN.getId().equals(tt)) {
    type=AvroTypes._boolean();
    defaultValue=defaultValue == null ? null : Boolean.parseBoolean(defaultValue.toString());
  }
 else   if (JavaTypesManager.BYTE_ARRAY.getId().equals(tt)) {
    type=AvroTypes._bytes();
  }
 else   if (JavaTypesManager.DATE.getId().equals(tt)) {
    type=AvroTypes._date();
  }
 else   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)) {
    type=AvroTypes._string();
  }
  if (JavaTypesManager.OBJECT.getId().equals(tt)) {
  }
  if (JavaTypesManager.LIST.getId().equals(tt)) {
  }
  if (type == null) {
    throw new UnsupportedOperationException("String_Node_Str" + tt);
  }
  type=in.isNullable() ? AvroUtils.wrapAsNullable(type) : type;
  return defaultValue == null ? fb.type(type).noDefault() : fb.type(type).withDefault(defaultValue);
}

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();
  Object defaultValue=null;
  Expression initialValue=in.getInitialValue();
  if (initialValue != null) {
    defaultValue=initialValue.getBody();
  }
  String tt=in.getTalendType();
  Schema type=null;
  if (JavaTypesManager.LONG.getId().equals(tt)) {
    type=AvroTypes._long();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Long.parseLong(defaultValue.toString());
  }
 else   if (JavaTypesManager.INTEGER.getId().equals(tt)) {
    type=AvroTypes._int();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.SHORT.getId().equals(tt)) {
    type=AvroTypes._short();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.BYTE.getId().equals(tt)) {
    type=AvroTypes._byte();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Integer.parseInt(defaultValue.toString());
  }
 else   if (JavaTypesManager.DOUBLE.getId().equals(tt)) {
    type=AvroTypes._double();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Double.parseDouble(defaultValue.toString());
  }
 else   if (JavaTypesManager.FLOAT.getId().equals(tt)) {
    type=AvroTypes._float();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Float.parseFloat(defaultValue.toString());
  }
 else   if (JavaTypesManager.BIGDECIMAL.getId().equals(tt)) {
    type=AvroTypes._decimal();
  }
 else   if (JavaTypesManager.BOOLEAN.getId().equals(tt)) {
    type=AvroTypes._boolean();
    defaultValue=StringUtils.isEmpty((String)defaultValue) ? null : Boolean.parseBoolean(defaultValue.toString());
  }
 else   if (JavaTypesManager.BYTE_ARRAY.getId().equals(tt)) {
    type=AvroTypes._bytes();
  }
 else   if (JavaTypesManager.DATE.getId().equals(tt)) {
    type=AvroTypes._date();
  }
 else   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)) {
    type=AvroTypes._string();
  }
  if (JavaTypesManager.OBJECT.getId().equals(tt)) {
  }
  if (JavaTypesManager.LIST.getId().equals(tt)) {
  }
  if (type == null) {
    throw new UnsupportedOperationException("String_Node_Str" + tt);
  }
  type=in.isNullable() ? AvroUtils.wrapAsNullable(type) : type;
  return defaultValue == null ? fb.type(type).noDefault() : fb.type(type).withDefault(defaultValue);
}