in wilma-functionaltest/src/main/java/com/epam/gepard/datadriven/feeders/labelbasedfeederhelper/LabelBasedFeederFileLoader.java [38:74]
public void loadFeeder(LabelBasedFeederDetails feederDetails) throws DataFeederException, IOException {
String line;
String[] columnNames = null; // column names
int lineNum = 0; // number of lines in the file
LineNumberReader listReader = new LineNumberReader(new InputStreamReader(this.getClass().getClassLoader()
.getResourceAsStream(feederDetails.getFeederFile())));
while (feederDetails.getRowNumber() == 0 || LabelBasedFeederDetails.LabelType.RANDOM.equals(feederDetails.getLabelType())
|| feederDetails.getParameterList().size() < feederDetails.getRowNumber()) {
line = listReader.readLine();
if (line == null) {
break; //exit from the loop
}
lineNum++;
line = line.trim();
if ("".equals(line)) {
continue;
}
// 1. not empty row is the column names row
if (columnNames == null) {
columnNames = getColumnNamesFromHeaderRow(line, lineNum, feederDetails);
// set parameter names to the feeder
feederDetails.setParameterNames(Arrays.asList(Arrays.copyOfRange(columnNames, 1, columnNames.length)));
continue;
}
// skip commented lines or lines that does not contain one of our labels
if (line.startsWith("//") || line.startsWith("#")
|| (!feederDetails.getLabels().isEmpty() && !isLabelPresent(line, feederDetails.getLabels(), SEPARATOR_TXT))) {
continue;
}
//check row for errors and preserve it
checkRowForErrorsAndPreserveIt(line, columnNames, feederDetails, lineNum);
}
}