Program: 129815
Project: 129815
Buggy source:
private void pressGuessSchemaButton(){
  IDesignerCoreService designerService=(IDesignerCoreService)GlobalServiceRegister.getDefault().getService(IDesignerCoreService.class);
  String tableName=tableCombo.getText();
  CsvArray array;
  try {
    if (tableCombo.isEnabled() && tableCombo.getCombo().indexOf(tableName) == -1) {
      MessageDialog.openError(getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
      return;
    }
    IMetadataTable table=UpdateRepositoryUtils.getTableByName(connectionItem,tableName);
    if (table == null) {
      return;
    }
    array=designerService.convertNode(connectionItem,tableName);
    tableEditorView.getMetadataEditor().removeAll();
    List<MetadataColumn> columns=new ArrayList<MetadataColumn>();
    columns=GuessSchemaUtil.guessSchemaFromArray(array,true,tableEditorView,5);
    List<String[]> schemaContent=array.getRows();
    if (schemaContent.size() <= 0) {
      return;
    }
    int numbOfColumn=schemaContent.get(0).length;
    for (int i=1; i <= numbOfColumn; i++) {
      MetadataColumn oneColum=columns.get(i - 1);
      String labelName=(schemaContent.get(0))[i - 1];
      if (!"String_Node_Str".equals(labelName)) {
        oneColum.setOriginalField(labelName);
      }
      if (!"String_Node_Str".equals(schemaContent.get(2)[i - 1])) {
        oneColum.setPrecision(Integer.parseInt(schemaContent.get(2)[i - 1]));
      }
      if (!"String_Node_Str".equals(schemaContent.get(3)[i - 1])) {
        oneColum.setLength(Integer.parseInt(schemaContent.get(3)[i - 1]));
      }
      if (!"String_Node_Str".equals(schemaContent.get(4)[i - 1])) {
        oneColum.setSourceType(schemaContent.get(4)[i - 1]);
        String talendType=MetadataTalendType.getMappingTypeRetriever(tableEditorView.getCurrentDbms()).getDefaultSelectedTalendType(schemaContent.get(4)[i - 1]);
        oneColum.setTalendType(talendType);
      }
      if (!"String_Node_Str".equals(schemaContent.get(1)[i - 1])) {
        oneColum.setNullable((schemaContent.get(1))[i - 1].equals(Boolean.TRUE.toString()) ? true : false);
      }
    }
    tableEditorView.getMetadataEditor().addAll(columns);
  }
 catch (  ProcessorException e) {
    ExceptionHandler.process(e);
  }
}

Fixed version (ground truth):
private void pressGuessSchemaButton(){
  IDesignerCoreService designerService=(IDesignerCoreService)GlobalServiceRegister.getDefault().getService(IDesignerCoreService.class);
  String tableName=tableCombo.getText();
  CsvArray array;
  try {
    if (tableCombo.isEnabled() && tableCombo.getCombo().indexOf(tableName) == -1) {
      MessageDialog.openError(getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
      return;
    }
    array=designerService.convertNode(connectionItem,tableName);
    tableEditorView.getMetadataEditor().removeAll();
    List<MetadataColumn> columns=new ArrayList<MetadataColumn>();
    columns=GuessSchemaUtil.guessSchemaFromArray(array,true,tableEditorView,5);
    List<String[]> schemaContent=array.getRows();
    if (schemaContent.size() <= 0) {
      return;
    }
    int numbOfColumn=schemaContent.get(0).length;
    for (int i=1; i <= numbOfColumn; i++) {
      MetadataColumn oneColum=columns.get(i - 1);
      String labelName=(schemaContent.get(0))[i - 1];
      if (!"String_Node_Str".equals(labelName)) {
        oneColum.setOriginalField(labelName);
      }
      if (!"String_Node_Str".equals(schemaContent.get(2)[i - 1])) {
        oneColum.setPrecision(Integer.parseInt(schemaContent.get(2)[i - 1]));
      }
      if (!"String_Node_Str".equals(schemaContent.get(3)[i - 1])) {
        oneColum.setLength(Integer.parseInt(schemaContent.get(3)[i - 1]));
      }
      if (!"String_Node_Str".equals(schemaContent.get(4)[i - 1])) {
        oneColum.setSourceType(schemaContent.get(4)[i - 1]);
        String talendType=MetadataTalendType.getMappingTypeRetriever(tableEditorView.getCurrentDbms()).getDefaultSelectedTalendType(schemaContent.get(4)[i - 1]);
        oneColum.setTalendType(talendType);
      }
      if (!"String_Node_Str".equals(schemaContent.get(1)[i - 1])) {
        oneColum.setNullable((schemaContent.get(1))[i - 1].equals(Boolean.TRUE.toString()) ? true : false);
      }
    }
    tableEditorView.getMetadataEditor().addAll(columns);
  }
 catch (  ProcessorException e) {
    ExceptionHandler.process(e);
  }
}