public void loadFeeder()

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