class InventoryEstimateDaoESImp extends BaseDaoESImp implements InventoryEstimateDao {

    @Override
    public DayImpression getHourlyPredictions(TargetingChannel targetingChannel,
                                              double tbrRatio) throws IOException
    {

        DayImpression dayImpression = null;
        dayImpression = new DayImpression();

        Map<Double, BoolQueryBuilder> boolQueryBuilderRatioMap = this.createQueryForSingleValuesWithRegionRatio(targetingChannel);

        // deal with each BoolQueryBuilder
        int sequence = 0;
        for (Map.Entry<Double, BoolQueryBuilder> entry : boolQueryBuilderRatioMap.entrySet())
        {
            BoolQueryBuilder boolQueryBuilder = entry.getValue();
            Double regionRatio = entry.getKey();
            LOGGER.debug("ratio={}", regionRatio);
            LOGGER.debug("querybuilder={}", boolQueryBuilder);

            if (sequence == 0)
            {
                dayImpression = getPredictionsChart(boolQueryBuilder, regionRatio);
            }
            else
            {
                dayImpression = DayImpression.add(dayImpression, getPredictionsChart(boolQueryBuilder, regionRatio));
            }
            sequence++;
        }

        // multiply TBR ratio
        if (tbrRatio != 1)
        {
            dayImpression = DayImpression.multiply(dayImpression, tbrRatio);
        }

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String today = simpleDateFormat.format(new Date());
        dayImpression.setDate(today);

        return dayImpression;
    }

    public  InventoryEstimateDaoESImp();
    public  InventoryEstimateDaoESImp(Properties properties);

}