Program: 57689
Project: 57689
Buggy source:
/** 
 * Creates the   {@link DataTable} from a previously prepared dimensiondefinition.
 * @param dataDomain
 * @param createDefaultDimensionPerspectives
 * @param createDefaultRecordPerspective
 * @return
 */
public static void loadData(ATableBasedDataDomain dataDomain,DataSetDescription dataSetDescription,boolean createDefaultDimensionPerspectives,boolean createDefaultRecordPerspective){
  IDType rowTargetIDType;
  if (dataDomain.isColumnDimension())   rowTargetIDType=dataDomain.getRecordIDType();
 else   rowTargetIDType=dataDomain.getDimensionIDType();
  IDMappingCreator idMappingCreator=new IDMappingCreator();
  idMappingCreator.createMapping(dataSetDescription.getDataSourcePath(),dataSetDescription.getNumberOfHeaderLines(),-1,IDType.getIDType(dataSetDescription.getRowIDSpecification().getIdType()),rowTargetIDType,"String_Node_Str",rowTargetIDType.getIDCategory(),true,true,false,null,null);
  idMappingCreator.setIdSpecification(dataSetDescription.getRowIDSpecification());
  TabularDataParser parser=new TabularDataParser(dataDomain,dataSetDescription);
  parser.loadData();
  DataTable table=dataDomain.getTable();
  if (createDefaultDimensionPerspectives)   table.createDefaultDimensionPerspective();
  if (createDefaultRecordPerspective)   table.createDefaultRecordPerspective();
  if (dataSetDescription.getMin() != null) {
    table.getMetaData().setMin(dataSetDescription.getMin());
  }
  if (dataSetDescription.getMax() != null) {
    table.getMetaData().setMax(dataSetDescription.getMax());
  }
  boolean isSetHomogeneous=dataSetDescription.isDataHomogeneous();
  if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.NORMAL,isSetHomogeneous);
  }
 else   if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.LOG10,isSetHomogeneous);
  }
 else   if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.LOG2,isSetHomogeneous);
  }
 else   throw new IllegalStateException("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Creates the   {@link DataTable} from a previously prepared dimensiondefinition.
 * @param dataDomain
 * @param createDefaultDimensionPerspectives
 * @param createDefaultRecordPerspective
 * @return
 */
public static void loadData(ATableBasedDataDomain dataDomain,DataSetDescription dataSetDescription,boolean createDefaultDimensionPerspectives,boolean createDefaultRecordPerspective){
  IDType rowTargetIDType;
  if (dataDomain.isColumnDimension())   rowTargetIDType=dataDomain.getRecordIDType();
 else   rowTargetIDType=dataDomain.getDimensionIDType();
  IDMappingCreator idMappingCreator=new IDMappingCreator();
  idMappingCreator.setIdSpecification(dataSetDescription.getRowIDSpecification());
  idMappingCreator.createMapping(dataSetDescription.getDataSourcePath(),dataSetDescription.getNumberOfHeaderLines(),-1,IDType.getIDType(dataSetDescription.getRowIDSpecification().getIdType()),rowTargetIDType,"String_Node_Str",rowTargetIDType.getIDCategory(),true,true,false,null,null);
  TabularDataParser parser=new TabularDataParser(dataDomain,dataSetDescription);
  parser.loadData();
  DataTable table=dataDomain.getTable();
  if (createDefaultDimensionPerspectives)   table.createDefaultDimensionPerspective();
  if (createDefaultRecordPerspective)   table.createDefaultRecordPerspective();
  if (dataSetDescription.getMin() != null) {
    table.getMetaData().setMin(dataSetDescription.getMin());
  }
  if (dataSetDescription.getMax() != null) {
    table.getMetaData().setMax(dataSetDescription.getMax());
  }
  boolean isSetHomogeneous=dataSetDescription.isDataHomogeneous();
  if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.NORMAL,isSetHomogeneous);
  }
 else   if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.LOG10,isSetHomogeneous);
  }
 else   if (dataSetDescription.getMathFilterMode().equalsIgnoreCase("String_Node_Str")) {
    table.setExternalDataRepresentation(ExternalDataRepresentation.LOG2,isSetHomogeneous);
  }
 else   throw new IllegalStateException("String_Node_Str");
}