in gepard-core/src/main/java/com/epam/gepard/datadriven/DataFeederLoader.java [61:92]
public DataFeederLoader(final String className, final String feederDescriptor, final Environment environment) {
this.environment = environment;
if (feederDescriptor.length() == 0) {
return; //nothing to do
}
//there is something in the feeder descriptor
try {
tryToInterpretFeederDescriptorAsNumber(feederDescriptor);
} catch (NumberFormatException e) {
//must be a feeder class or just a parameter for the default filter
//this should be then one of:
//* - feederclass
//* - feederclass:param
//* - feederclass:param@feederdescriptor
//* - feederclass@feederdescriptor
//* - :param (this uses the default feeder)
//* - :param@feederdescriptor (this uses the default feeder)
interpretAsFeederClassOrDefaultFilterParameter(feederDescriptor);
}
//now feederClassName, feederClassParameter and nextFeederDescriptor is ready for use
checkFeederClassValidity(className);
//try to load the loader class with the given parameter
feeder = loadDataLoaderClass(className, feederClassName); //if load fails, Gepard exits
// CALL THE FEEDER INIT METHOD
int initValue = feeder.init(className, feederClassParameter, environment);
checkFeederClassInitialization(className, initValue);
//we are ready, now load the next feeder in the feeder chain, if we have the next feeder descriptor available
if (nextFeederDescriptor != null) {
//load the next part of the chain
nextDataFeederLoader = new DataFeederLoader(className, nextFeederDescriptor, environment);
}
}