private void loadFeeders()

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);
        }
    }