in wilma-functionaltest/src/main/java/com/epam/gepard/datadriven/feeders/LabelBasedDataFeeder.java [194:231]
private void loadFeeders(final String[] feederDescriptors) throws DataFeederException {
for (String fd : feederDescriptors) {
LabelBasedFeederDetails feederDetails = new LabelBasedFeederDetails(testClassName.replaceAll("\\.", "/"));
String[] tokens = fd.split(":");
if (tokens.length > FEEDER_FILE && tokens[FEEDER_FILE] != null && !"".equals(tokens[FEEDER_FILE])
&& !"DEFAULT".equals(tokens[FEEDER_FILE])) {
feederDetails.setFeederFile(tokens[FEEDER_FILE]);
}
if (tokens.length > FEEDER_ROW_NUMBER && tokens[FEEDER_ROW_NUMBER] != null) { // rowNumber
int rowNumber;
try {
if ("".equals(tokens[FEEDER_ROW_NUMBER])) {
rowNumber = 0; //empty means 0 means all
} else {
rowNumber = Integer.parseInt(tokens[FEEDER_ROW_NUMBER]);
}
} catch (NumberFormatException e) {
String reportError = "Error in LabelBasedDataFeeder: Second feeder token must be empty or valid number,"
+ " got: " + tokens[FEEDER_ROW_NUMBER];
throw new DataFeederException(reportError, ERROR_FEEDER_RELATION_WRONG_ROW_NUMBER);
}
feederDetails.setRowNumber(rowNumber);
}
if (tokens.length > FEEDER_LABEL && tokens[FEEDER_LABEL] != null) { // label
feederDetails.setLabels(tokens[FEEDER_LABEL]);
}
if (tokens.length > FEEDER_LABEL_TYPE && tokens[FEEDER_LABEL_TYPE] != null) { // labelType
try {
feederDetails.setLabelType(LabelBasedFeederDetails.LabelType.valueOf(tokens[FEEDER_LABEL_TYPE]));
} catch (IllegalArgumentException e) {
String reportError = "Error in LabelBasedDataFeeder: Fourth feeder token must be a TestParameter.LabelType!"
+ " Values: SEQUENTIAL, RANDOM, MERGE. Default is SEQUENTIAL.";
throw new DataFeederException(reportError, ERROR_FEEDER_RELATION_LABEL_TYPE_IS_MISSING);
}
}
feeders.add(feederDetails);
}
}