private void interpretAsFeederClassOrDefaultFilterParameter()

in wilma-functionaltest/src/main/java/com/epam/gepard/datadriven/DataFeederLoader.java [101:143]


    private void interpretAsFeederClassOrDefaultFilterParameter(final String feederdescriptor) {
        int nextParameterIndex = feederdescriptor.indexOf(":");
        int nextFeederDescriptorIndex = feederdescriptor.indexOf("@");
        if ((nextParameterIndex == 0) && (nextFeederDescriptorIndex > 0)) {
            // :param@feederdescriptor
            feederClassName = environment.getProperty(Environment.GEPARD_DATA_DRIVEN_FEEDER_CLASS);
            feederClassParameter = feederdescriptor.substring(nextParameterIndex + 1, nextFeederDescriptorIndex);
            nextFeederDescriptor = feederdescriptor.substring(nextFeederDescriptorIndex + 1);
        } else {
            if (nextParameterIndex == 0) {
                // :param
                feederClassName = environment.getProperty(Environment.GEPARD_DATA_DRIVEN_FEEDER_CLASS);
                feederClassParameter = feederdescriptor.substring(nextParameterIndex + 1);
                nextFeederDescriptor = null;
            } else {
                if ((nextParameterIndex > 0) && (nextFeederDescriptorIndex < 0)) {
                    //- feederclass:param
                    feederClassName = feederdescriptor.substring(0, nextParameterIndex);
                    feederClassParameter = feederdescriptor.substring(nextParameterIndex + 1);
                    nextFeederDescriptor = null;
                } else {
                    if ((nextParameterIndex > 0) && (nextFeederDescriptorIndex > 0) && (nextParameterIndex < nextFeederDescriptorIndex)) {
                        //* - feederclass:param@feederdescriptor(withorwithout:and@)
                        feederClassName = feederdescriptor.substring(0, nextParameterIndex);
                        feederClassParameter = feederdescriptor.substring(nextParameterIndex + 1, nextFeederDescriptorIndex);
                        nextFeederDescriptor = feederdescriptor.substring(nextFeederDescriptorIndex + 1);
                    } else {
                        if (nextFeederDescriptorIndex > 0) {
                            //* - feederclass@feederdescriptor(withorwithout:and@)
                            feederClassName = feederdescriptor.substring(0, nextFeederDescriptorIndex);
                            feederClassParameter = null;
                            nextFeederDescriptor = feederdescriptor.substring(nextFeederDescriptorIndex + 1);
                        } else {
                            //* - feederclass
                            feederClassName = feederdescriptor;
                            feederClassParameter = null;
                            nextFeederDescriptor = null;
                        }
                    }
                }
            }
        }
    }