code: public static boolean hasIntervalParameters(Settings settings, Report report) {
      	if (!ReportConstants.NEXT.equals(report.getType())) {
      		return false;
      	}
      	ro.nextreports.engine.Report nextReport = NextUtil.getNextReport(settings, report);
      	Map<String, QueryParameter> parameters = ParameterUtil.getUsedParametersMap(nextReport);  
      	boolean hasStart = false;
      	boolean hasEnd = false;
      	for (QueryParameter qp : parameters.values()) {
      		if (QueryParameter.INTERVAL_START_DATE_NAME.equals(qp.getName())) {
      			if (!ParameterUtil.isDateTime(qp)) {
      				return false;
      			}
      			if (!qp.getSelection().equals(QueryParameter.SINGLE_SELECTION)) {
      				return false;
      			}
      			hasStart = true;
      		} else if (QueryParameter.INTERVAL_END_DATE_NAME.equals(qp.getName())) {
      			if (!ParameterUtil.isDateTime(qp)) {
      				return false;
      			}
      			if (!qp.getSelection().equals(QueryParameter.SINGLE_SELECTION)) {
      				return false;
      			}
      			hasEnd = true;
      		}
      	}
      	return (hasStart && hasEnd);    	
      }
docs: Test if a report has two parameters with names start_date and end_date, of type date and with single selection
  
  @param settings settings
  @param report report
  @return true if a report has two parameters with names start_date and end_date, of type date and with single selection