private String detectFilePath()

in gepard-core/src/main/java/com/epam/gepard/datadriven/feeders/LabelBasedDataFeeder.java [364:385]


    private String detectFilePath(final LabelBasedFeederDetails feederDetails) throws DataFeederException {
        String filePath = feederDetails.getFeederFile();
        if (this.getClass().getClassLoader().getResourceAsStream(filePath) == null) {
            if (this.getClass().getClassLoader().getResourceAsStream(filePath.concat(".txt")) != null) {
                filePath = filePath.concat(".txt");
            } else if (this.getClass().getClassLoader().getResourceAsStream(filePath.concat(".csv")) != null) {
                filePath = filePath.concat(".csv");
            } else {
                String propertyBasedFeederFile = environment.getProperty(feederDetails.getFeederFile());
                filePath = propertyBasedFeederFile;
                if (propertyBasedFeederFile == null) {
                    //property is missing
                    throw new DataFeederException("Feeder related property cannot be identified.", ERROR_FEEDER_FILE_PROPERTY_MISSING);
                } else {
                    if (this.getClass().getClassLoader().getResourceAsStream(propertyBasedFeederFile) == null) {
                        throw new DataFeederException("Feeder file does not exist: " + filePath, ERROR_FEEDER_FILE_MISSING);
                    }
                }
            }
        }
        return filePath;
    }