in gepard-core/src/main/java/com/epam/gepard/datadriven/feeders/LabelBasedDataFeeder.java [153:175]
private void setFeederRelations(final String parameter) throws DataFeederException {
String feederDescriptor = (parameter.lastIndexOf("[") > parameter.indexOf("]")) ? parameter.replaceFirst("\\[.*?\\]", "") : parameter;
feederRelations = Arrays.asList(feederDescriptor.split("\\[.*?\\]"));
if (feeders.size() != feederRelations.size() + 1) {
String errorMessage = "Error occurred during processing FeederDescriptor: "
+ parameter
+ "\nFeeder relation number must equal to Feeders - 1."
+ "\nFormat: [FEEDER1:NUMBER_OF_ROWS1:LABEL1:TestParameter.LABEL_TYPE1]+[FEEDER2:NUMBER_OF_ROWS2:LABEL2:TestParameter.LABEL_TYPE2]x[...]";
throw new DataFeederException(errorMessage, ERROR_FEEDER_RELATION_INCORRECT);
}
// set feederRelation for feeders
if (feeders.size() > 1) {
for (int i = 1; i < feeders.size(); i++) {
LabelBasedFeederRelation relation = LabelBasedFeederRelation.getByValue(feederRelations.get(i - 1));
if (relation == null) {
throw new DataFeederException("Error occurred during processing FeederDescriptor. Possible feeder relations are: +, x",
ERROR_FEEDER_RELATION_EXCEPTION);
}
feeders.get(i).setFeederRelation(relation);
}
}
}