Example usage for org.apache.commons.lang.time DateUtils setDays

List of usage examples for org.apache.commons.lang.time DateUtils setDays

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateUtils setDays.

Prototype

public static Date setDays(Date date, int amount) 

Source Link

Document

Sets the day of month field to a date returning a new object.

Usage

From source file:net.audumla.climate.MockObserverTest.java

@Test
public void testMock() {
    Date now = new Date();
    now = DateUtils.setMonths(now, 9);//from w w  w .  ja v  a 2s .  c o  m
    now = DateUtils.setDays(now, 1);

    ClimateObserver observer = new MockObserverClassDefinition();
    ClimateObserverCollectionHandler aggregateObserver = new ClimateObserverCollectionHandler(
            observer.getSource());
    aggregateObserver.addClimateObserverTop(observer);
    aggregateObserver.addClimateObserverTail(new DerivedClimateObserver(observer.getSource()));
    observer = aggregateObserver.buildClimateObserver();
    ClimateData data = observer.getClimateData(now);
    while (data != null && DateUtils.getFragmentInDays(now, Calendar.MONTH) < 29) {
        //            logger.debug(data.getTime()+" - " +data.getEvapotranspiration());

        now = DateUtils.addDays(now, 1);
        data = observer.getClimateData(now);
    }
}

From source file:com.exxonmobile.ace.hybris.core.btg.condition.operand.valueproviders.OrganizationTotalSpentInCurrencyLastYearOperandValueProvider.java

@Override
public Object getValue(final BTGOrganizationTotalSpentInCurrencyLastYearOperandModel operand,
        final UserModel user, final BTGConditionEvaluationScope evaluationScope) {
    if (user instanceof B2BCustomerModel) {
        final B2BUnitModel unit = getB2bUnitService()
                .getRootUnit(getB2bUnitService().getParent((B2BCustomerModel) user));

        Date startDateInclusive = DateUtils.addYears(new Date(), -1);
        startDateInclusive = DateUtils.setHours(startDateInclusive, 0);
        startDateInclusive = DateUtils.setMinutes(startDateInclusive, 0);
        startDateInclusive = DateUtils.setSeconds(startDateInclusive, 0);
        startDateInclusive = DateUtils.setMonths(startDateInclusive, Calendar.JANUARY);
        startDateInclusive = DateUtils.setDays(startDateInclusive, 1);

        final Date endDateNonInclusive = DateUtils.addYears(startDateInclusive, 1);

        final double total = getTotalSpentByBranch(unit, operand.getCurrency(), startDateInclusive,
                endDateNonInclusive, operand.getProductCatalogId(), operand.getCategoryCode());
        return Double.valueOf(total);
    }/*from  w  w w  .j  ava 2s  . c o m*/
    return Double.valueOf(0);
}

From source file:net.audumla.astronomy.algorithims.AstronomicalTest.java

@Test
public void testDateConversion2() throws Exception {
    TimeZone.setDefault(TimeZone.getTimeZone("Australia/Melbourne"));
    java.util.Date date = new Date();
    date = DateUtils.setYears(date, 2013);
    date = DateUtils.setMinutes(date, 0);
    date = DateUtils.setMonths(date, 0);
    date = DateUtils.setMilliseconds(date, 0);
    date = DateUtils.setSeconds(date, 0);
    date = DateUtils.setDays(date, 1);
    date = DateUtils.setHours(date, 0);/*from  www . j  a  v  a2  s.  c o m*/
    JulianDate cDate = new JulianDate(date);
    logger.debug("Algorithms: " + cDate.toDate() + " : " + cDate.toDate().getTime());
    logger.debug("Algorithms: " + date + " : " + date.getTime());
    Assert.assertEquals(cDate.toDate().getTime(), date.getTime(), 1100);

}

From source file:net.audumla.climate.MockObserverClassDefinition.java

public MockObserverClassDefinition() {
    Date now = new Date();
    now = DateUtils.setDays(now, 1);
    now = DateUtils.setMonths(now, 1);/* w  ww  . j  a  va 2 s .  c  om*/
    now = DateUtils.setYears(now, 2010);
    now = DateUtils.setHours(now, 0);
    now = DateUtils.setMinutes(now, 0);

    source = ClimateDataSourceFactory.getInstance().newInstance();
    source.setName("Mock");
    source.setElevation(20d);
    source.setLatitude(-37.84);
    source.setLongitude(144.98);

    for (int i = 0; i < 28; ++i) {
        WritableClimateData data = ClimateDataFactory.newWritableClimateData(this, getSource());
        dataList.put(DateUtils.getFragmentInDays(now, Calendar.MONTH), data);
        data.setTime(now);

        if (i < 25) {
            data.setDataSource(ClimateDataSourceFactory.decorateInstance(source));
            data.getDataSource().setType(ClimateDataSource.ClimateDataSourceType.DAILY_OBSERVATION);
            data.setAverageWindSpeed(10.0d + (i / 10d));
            data.setMaximumTemperature(10.0d + (i / 10d));
            data.setMinimumTemperature(10.0d - (i / 10d));
            data.setMinimumHumidity(60d - i);
            data.setMaximumHumidity(60d + i);
            data.setRainfall(i / 10d);
            data.setRainfallProbability(data.getRainfall() > 0 ? 100d : 0d);
            data.setSunshineHours(6d + (i / 15d));
            // data.setSolarRadiation(5 + (i / 5d));
            data.setWindSpeedHeight(10.0);
        } else {
            data.setDataSource(ClimateDataSourceFactory.decorateInstance(source));
            data.getDataSource().setType(ClimateDataSource.ClimateDataSourceType.DAILY_FORECAST);
            data.setAverageWindSpeed(10.0 + (i / 10d));
            data.setMaximumTemperature(10.0 + (i / 10d));
            data.setMinimumTemperature(10.0 - (i / 10d));
            data.setRainfall(i / 10d);
            data.setRainfallProbability(data.getRainfall() > 0 ? 80d : 0d);
            data.setSunshineHours(6d + (i / 15d));
            data.setWindSpeedHeight(10.0d);
            data.setMinimumHumidity(60d - i);
            data.setMaximumHumidity(60d + i);
        }

        if (i > 22 && i < 25) {
            now = DateUtils.setHours(now, 0);
            now = DateUtils.setMinutes(now, 0);
            for (int n = 1; n < 48; ++n) {
                WritableClimateObservation obs = ClimateDataFactory.newWritableClimateObservation(this,
                        getSource());
                obs.setDataSource(ClimateDataSourceFactory.decorateInstance(source));
                obs.getDataSource().setType(ClimateDataSource.ClimateDataSourceType.PERIODIC_OBSERVATION);
                obs.setTime(now);
                obs.setWindSpeedHeight(10.0);
                obs.setWindSpeed(data.getAverageWindSpeed() / 48d);
                if (n > 10 && n < 21) {
                    obs.setRainfall(data.getRainfall() * (n / 20d));
                } else {
                    obs.setRainfall(0d);
                }
                obs.setTemperature(data.getMinimumTemperature()
                        + (((data.getMinimumTemperature() - data.getMaximumTemperature()) / 48d) * n));
                obs.setHumidity(data.getMinimumHumidity()
                        + (((data.getMinimumHumidity() - data.getMaximumHumidity()) / 48d) * n));
                obs.setRainfallProbablity(obs.getRainfall() > 0 ? 100d : 0d);
                data.addObservation(obs);
                now = DateUtils.addMinutes(now, 30);
            }
        }

        now = DateUtils.addDays(now, 1);

    }
}

From source file:org.oscarehr.common.dao.ConsultRequestDaoTest.java

@Test
public void testGetConsultationCount() throws Exception {

    Demographic d1 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d1);
    d1.setDemographicNo(null);//from  w ww  . j  a v a  2s.c  o  m
    demographicDao.save(d1);

    Demographic d2 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d2);
    d2.setDemographicNo(null);
    demographicDao.save(d2);

    Integer demoNo1 = d1.getDemographicNo();
    Integer demoNo2 = d2.getDemographicNo();

    ConsultationServices cs = new ConsultationServices();
    EntityDataGenerator.generateTestDataForModelClass(cs);
    serviceDao.persist(cs);
    Integer serviceId = cs.getId();

    String[] format = new String[] { "yyyy-MM-dd" };
    Date date1 = DateUtils.parseDate("2015-03-05", format);
    Date date2 = DateUtils.parseDate("2015-03-26", format);

    String status1 = "1", status2 = "2";
    String team1 = "tttt1", team2 = "tttt2";
    String urgency1 = "u1", urgency2 = "u2";

    ConsultationRequest cr1 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr1);
    cr1.setServiceId(serviceId);
    cr1.setDemographicId(demoNo1);
    cr1.setAppointmentDate(date1);
    cr1.setReferralDate(date1);
    cr1.setStatus(status1);
    cr1.setSendTo(team1);
    cr1.setUrgency(urgency1);
    consultDao.persist(cr1);

    ConsultationRequest cr2 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr2);
    cr2.setServiceId(serviceId);
    cr2.setDemographicId(demoNo2);
    cr2.setAppointmentDate(date2);
    cr2.setReferralDate(date2);
    cr2.setStatus(status2);
    cr2.setSendTo(team2);
    cr2.setUrgency(urgency2);
    consultDao.persist(cr2);

    ConsultationRequest cr3 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr3);
    cr3.setServiceId(serviceId);
    cr3.setDemographicId(demoNo1);
    cr3.setAppointmentDate(date2);
    cr3.setReferralDate(date1);
    cr3.setStatus(status1);
    cr3.setSendTo(team1);
    cr3.setUrgency(urgency1);
    consultDao.persist(cr3);

    ConsultationRequest cr4 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr4);
    cr4.setServiceId(serviceId);
    cr4.setDemographicId(demoNo2);
    cr4.setAppointmentDate(date1);
    cr4.setReferralDate(date1);
    cr4.setStatus(status2);
    cr4.setSendTo(team2);
    cr4.setUrgency(urgency2);
    consultDao.persist(cr4);

    ConsultationRequest cr5 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr5);
    cr5.setServiceId(serviceId);
    cr5.setDemographicId(demoNo1);
    cr5.setAppointmentDate(date2);
    cr5.setReferralDate(date1);
    cr5.setStatus(status1);
    cr5.setSendTo(team1);
    cr5.setUrgency(urgency2);
    consultDao.persist(cr5);

    ConsultationRequestSearchFilter filter = new ConsultationRequestSearchFilter();
    filter.setDemographicNo(demoNo1);
    filter.setStatus(Integer.valueOf(status1));
    filter.setTeam(team1);
    filter.setUrgency(urgency1);

    ConsultationRequest[] expectedCR = new ConsultationRequest[] { cr1, cr3 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount2(filter));

    filter = new ConsultationRequestSearchFilter();
    filter.setAppointmentStartDate(DateUtils.setDays(date2, 20));
    filter.setAppointmentEndDate(DateUtils.setDays(date2, 27));

    expectedCR = new ConsultationRequest[] { cr2, cr3, cr5 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount2(filter));

    filter = new ConsultationRequestSearchFilter();
    filter.setReferralStartDate(DateUtils.setDays(date1, 1));
    filter.setReferralEndDate(DateUtils.setDays(date1, 10));

    expectedCR = new ConsultationRequest[] { cr1, cr3, cr4, cr5 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount2(filter));
}

From source file:org.oscarehr.common.dao.ConsultRequestDaoTest.java

@Test
public void testSearch() throws Exception {

    Demographic d1 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d1);
    d1.setDemographicNo(null);/*w  ww . ja  v a2 s  . c  o m*/
    demographicDao.save(d1);

    Demographic d2 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d2);
    d2.setDemographicNo(null);
    demographicDao.save(d2);

    Integer demoNo1 = d1.getDemographicNo();
    Integer demoNo2 = d2.getDemographicNo();

    ConsultationServices cs = new ConsultationServices();
    EntityDataGenerator.generateTestDataForModelClass(cs);
    serviceDao.persist(cs);
    Integer serviceId = cs.getId();

    String[] format = new String[] { "yyyy-MM-dd" };
    Date date1 = DateUtils.parseDate("2015-03-05", format);
    Date date2 = DateUtils.parseDate("2015-03-26", format);

    String status1 = "1", status2 = "2";
    String team1 = "tttt1", team2 = "tttt2";
    String urgency1 = "u1", urgency2 = "u2";

    ConsultationRequest cr1 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr1);
    cr1.setServiceId(serviceId);
    cr1.setDemographicId(demoNo1);
    cr1.setAppointmentDate(date1);
    cr1.setReferralDate(date1);
    cr1.setStatus(status1);
    cr1.setSendTo(team1);
    cr1.setUrgency(urgency1);
    consultDao.persist(cr1);

    ConsultationRequest cr2 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr2);
    cr2.setServiceId(serviceId);
    cr2.setDemographicId(demoNo2);
    cr2.setAppointmentDate(date2);
    cr2.setReferralDate(date2);
    cr2.setStatus(status2);
    cr2.setSendTo(team2);
    cr2.setUrgency(urgency2);
    consultDao.persist(cr2);

    ConsultationRequest cr3 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr3);
    cr3.setServiceId(serviceId);
    cr3.setDemographicId(demoNo1);
    cr3.setAppointmentDate(date2);
    cr3.setReferralDate(date2);
    cr3.setStatus(status1);
    cr3.setSendTo(team1);
    cr3.setUrgency(urgency1);
    consultDao.persist(cr3);

    ConsultationRequest cr4 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr4);
    cr4.setServiceId(serviceId);
    cr4.setDemographicId(demoNo2);
    cr4.setAppointmentDate(date1);
    cr4.setReferralDate(date2);
    cr4.setStatus(status2);
    cr4.setSendTo(team2);
    cr4.setUrgency(urgency2);
    consultDao.persist(cr4);

    ConsultationRequest cr5 = new ConsultationRequest();
    EntityDataGenerator.generateTestDataForModelClass(cr5);
    cr5.setServiceId(serviceId);
    cr5.setDemographicId(demoNo1);
    cr5.setAppointmentDate(date1);
    cr5.setReferralDate(date1);
    cr5.setStatus(status1);
    cr5.setSendTo(team1);
    cr5.setUrgency(urgency2);
    consultDao.persist(cr5);

    ConsultationRequestSearchFilter filter = new ConsultationRequestSearchFilter();
    filter.setNumToReturn(99);
    filter.setDemographicNo(demoNo1);
    filter.setStatus(Integer.valueOf(status1));
    filter.setTeam(team1);
    filter.setUrgency(urgency1);

    String failMsgResultCount = "Result count is wrong.";
    String failMsgItemMatch = "Items do not match ";

    ConsultationRequest[] expectedCR = new ConsultationRequest[] { cr3, cr1 };
    Demographic[] expectedDemo = new Demographic[] { d1, d1 };
    List<Object[]> results = consultDao.search(filter);
    String failSubject = "Fail search demoNo,status,team,urgency : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", cs, result[2]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[3]);
    }

    filter = new ConsultationRequestSearchFilter();
    filter.setNumToReturn(99);
    filter.setAppointmentStartDate(DateUtils.setDays(date2, 20));
    filter.setAppointmentEndDate(DateUtils.setDays(date2, 27));

    expectedCR = new ConsultationRequest[] { cr2, cr3 };
    expectedDemo = new Demographic[] { d2, d1 };
    results = consultDao.search(filter);
    failSubject = "Fail search appointmentStart/EndDate : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[3]);
    }

    filter = new ConsultationRequestSearchFilter();
    filter.setNumToReturn(99);
    filter.setReferralStartDate(DateUtils.setDays(date1, 1));
    filter.setReferralEndDate(DateUtils.setDays(date1, 10));

    expectedCR = new ConsultationRequest[] { cr1, cr5 };
    expectedDemo = new Demographic[] { d1, d1 };
    results = consultDao.search(filter);
    failSubject = "Fail search referralStart/EndDate : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[3]);
    }
}

From source file:org.oscarehr.common.dao.ConsultResponseDaoTest.java

@Test
public void testGetConsultationCount() throws Exception {

    Demographic d1 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d1);
    d1.setDemographicNo(null);//from  ww  w  . j  av  a2 s .  co m
    demographicDao.save(d1);

    Demographic d2 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d2);
    d2.setDemographicNo(null);
    demographicDao.save(d2);

    Integer demoNo1 = d1.getDemographicNo();
    Integer demoNo2 = d2.getDemographicNo();

    ProfessionalSpecialist sp = new ProfessionalSpecialist();
    EntityDataGenerator.generateTestDataForModelClass(sp);
    specialistDao.persist(sp);
    Integer referringDocId = sp.getId();

    String[] format = new String[] { "yyyy-MM-dd" };
    Date date1 = DateUtils.parseDate("2015-03-05", format);
    Date date2 = DateUtils.parseDate("2015-03-26", format);

    String status1 = "1", status2 = "2";
    String team1 = "tttt1", team2 = "tttt2";
    String urgency1 = "u1", urgency2 = "u2";

    ConsultationResponse cr1 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr1);
    cr1.setReferringDocId(referringDocId);
    cr1.setDemographicNo(demoNo1);
    cr1.setAppointmentDate(date1);
    cr1.setReferralDate(date1);
    cr1.setResponseDate(date1);
    cr1.setStatus(status1);
    cr1.setSendTo(team1);
    cr1.setUrgency(urgency1);
    consultDao.persist(cr1);

    ConsultationResponse cr2 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr2);
    cr2.setReferringDocId(referringDocId);
    cr2.setDemographicNo(demoNo2);
    cr2.setAppointmentDate(date2);
    cr2.setReferralDate(date2);
    cr2.setResponseDate(date2);
    cr2.setStatus(status2);
    cr2.setSendTo(team2);
    cr2.setUrgency(urgency2);
    consultDao.persist(cr2);

    ConsultationResponse cr3 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr3);
    cr3.setReferringDocId(referringDocId);
    cr3.setDemographicNo(demoNo1);
    cr3.setAppointmentDate(date2);
    cr3.setReferralDate(date1);
    cr3.setResponseDate(date1);
    cr3.setStatus(status1);
    cr3.setSendTo(team1);
    cr3.setUrgency(urgency1);
    consultDao.persist(cr3);

    ConsultationResponse cr4 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr4);
    cr4.setReferringDocId(referringDocId);
    cr4.setDemographicNo(demoNo2);
    cr4.setAppointmentDate(date1);
    cr4.setReferralDate(date2);
    cr4.setResponseDate(date1);
    cr4.setStatus(status2);
    cr4.setSendTo(team2);
    cr4.setUrgency(urgency2);
    consultDao.persist(cr4);

    ConsultationResponse cr5 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr5);
    cr5.setReferringDocId(referringDocId);
    cr5.setDemographicNo(demoNo1);
    cr5.setAppointmentDate(date1);
    cr5.setReferralDate(date1);
    cr5.setResponseDate(date1);
    cr5.setStatus(status1);
    cr5.setSendTo(team1);
    cr5.setUrgency(urgency2);
    consultDao.persist(cr5);

    ConsultationResponse cr6 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr6);
    cr6.setReferringDocId(referringDocId);
    cr6.setDemographicNo(demoNo2);
    cr6.setAppointmentDate(date2);
    cr6.setReferralDate(date1);
    cr6.setResponseDate(date1);
    cr6.setStatus(status1);
    cr6.setSendTo(team2);
    cr6.setUrgency(urgency2);
    consultDao.persist(cr6);

    ConsultationResponseSearchFilter filter = new ConsultationResponseSearchFilter();
    filter.setDemographicNo(demoNo1);
    filter.setStatus(Integer.valueOf(status1));
    filter.setTeam(team1);
    filter.setUrgency(urgency1);

    ConsultationResponse[] expectedCR = new ConsultationResponse[] { cr1, cr3 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount(filter));

    filter = new ConsultationResponseSearchFilter();
    filter.setAppointmentStartDate(DateUtils.setDays(date2, 20));
    filter.setAppointmentEndDate(DateUtils.setDays(date2, 27));

    expectedCR = new ConsultationResponse[] { cr2, cr3, cr6 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount(filter));

    filter = new ConsultationResponseSearchFilter();
    filter.setReferralStartDate(DateUtils.setDays(date1, 1));
    filter.setReferralEndDate(DateUtils.setDays(date1, 10));

    expectedCR = new ConsultationResponse[] { cr1, cr3, cr5, cr6 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount(filter));

    filter = new ConsultationResponseSearchFilter();
    filter.setResponseStartDate(date1);
    filter.setResponseEndDate(DateUtils.setDays(date1, 25));

    expectedCR = new ConsultationResponse[] { cr1, cr3, cr4, cr5, cr6 };
    assertEquals(expectedCR.length, consultDao.getConsultationCount(filter));
}

From source file:org.oscarehr.common.dao.ConsultResponseDaoTest.java

@Test
public void testSearch() throws Exception {

    Demographic d1 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d1);
    d1.setDemographicNo(null);//from   w  ww.j a v  a2s. c  o m
    demographicDao.save(d1);

    Demographic d2 = new Demographic();
    EntityDataGenerator.generateTestDataForModelClass(d2);
    d2.setDemographicNo(null);
    demographicDao.save(d2);

    Integer demoNo1 = d1.getDemographicNo();
    Integer demoNo2 = d2.getDemographicNo();

    ProfessionalSpecialist sp = new ProfessionalSpecialist();
    EntityDataGenerator.generateTestDataForModelClass(sp);
    specialistDao.persist(sp);
    Integer referringDocId = sp.getId();

    String[] format = new String[] { "yyyy-MM-dd" };
    Date date1 = DateUtils.parseDate("2015-03-05", format);
    Date date2 = DateUtils.parseDate("2015-03-26", format);

    String status1 = "1", status2 = "2";
    String team1 = "tttt1", team2 = "tttt2";
    String urgency1 = "u1", urgency2 = "u2";

    ConsultationResponse cr1 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr1);
    cr1.setReferringDocId(referringDocId);
    cr1.setDemographicNo(demoNo1);
    cr1.setAppointmentDate(date1);
    cr1.setReferralDate(date1);
    cr1.setResponseDate(date1);
    cr1.setStatus(status1);
    cr1.setSendTo(team1);
    cr1.setUrgency(urgency1);
    consultDao.persist(cr1);

    ConsultationResponse cr2 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr2);
    cr2.setReferringDocId(referringDocId);
    cr2.setDemographicNo(demoNo2);
    cr2.setAppointmentDate(date2);
    cr2.setReferralDate(date2);
    cr2.setResponseDate(date2);
    cr2.setStatus(status2);
    cr2.setSendTo(team2);
    cr2.setUrgency(urgency2);
    consultDao.persist(cr2);

    ConsultationResponse cr3 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr3);
    cr3.setReferringDocId(referringDocId);
    cr3.setDemographicNo(demoNo1);
    cr3.setAppointmentDate(date2);
    cr3.setReferralDate(date2);
    cr3.setResponseDate(date1);
    cr3.setStatus(status1);
    cr3.setSendTo(team1);
    cr3.setUrgency(urgency1);
    consultDao.persist(cr3);

    ConsultationResponse cr4 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr4);
    cr4.setReferringDocId(referringDocId);
    cr4.setDemographicNo(demoNo2);
    cr4.setAppointmentDate(date1);
    cr4.setReferralDate(date2);
    cr4.setResponseDate(date2);
    cr4.setStatus(status2);
    cr4.setSendTo(team2);
    cr4.setUrgency(urgency2);
    consultDao.persist(cr4);

    ConsultationResponse cr5 = new ConsultationResponse();
    EntityDataGenerator.generateTestDataForModelClass(cr5);
    cr5.setReferringDocId(referringDocId);
    cr5.setDemographicNo(demoNo1);
    cr5.setAppointmentDate(date1);
    cr5.setReferralDate(date1);
    cr5.setResponseDate(date1);
    cr5.setStatus(status1);
    cr5.setSendTo(team1);
    cr5.setUrgency(urgency2);
    consultDao.persist(cr5);

    ConsultationResponseSearchFilter filter = new ConsultationResponseSearchFilter();
    filter.setNumToReturn(99);
    filter.setDemographicNo(demoNo1);
    filter.setStatus(Integer.valueOf(status1));
    filter.setTeam(team1);
    filter.setUrgency(urgency1);

    String failMsgResultCount = "Result count is wrong.";
    String failMsgItemMatch = "Items do not match ";

    ConsultationResponse[] expectedCR = new ConsultationResponse[] { cr3, cr1 };
    Demographic[] expectedDemo = new Demographic[] { d1, d1 };
    List<Object[]> results = consultDao.search(filter);
    String failSubject = "Fail search demoNo,status,team,urgency : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", sp, result[1]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[2]);
    }

    filter = new ConsultationResponseSearchFilter();
    filter.setNumToReturn(99);
    filter.setAppointmentStartDate(DateUtils.setDays(date2, 20));
    filter.setAppointmentEndDate(DateUtils.setDays(date2, 27));

    expectedCR = new ConsultationResponse[] { cr2, cr3 };
    expectedDemo = new Demographic[] { d2, d1 };
    results = consultDao.search(filter);
    failSubject = "Fail search appointmentStart/EndDate : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[2]);
    }

    filter = new ConsultationResponseSearchFilter();
    filter.setNumToReturn(99);
    filter.setReferralStartDate(DateUtils.setDays(date1, 1));
    filter.setReferralEndDate(DateUtils.setDays(date1, 10));

    expectedCR = new ConsultationResponse[] { cr1, cr5 };
    expectedDemo = new Demographic[] { d1, d1 };
    results = consultDao.search(filter);
    failSubject = "Fail search referralStart/EndDate : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[2]);
    }

    filter = new ConsultationResponseSearchFilter();
    filter.setNumToReturn(99);
    filter.setResponseStartDate(DateUtils.setDays(date2, 25));
    filter.setResponseEndDate(date2);

    expectedCR = new ConsultationResponse[] { cr2, cr4 };
    expectedDemo = new Demographic[] { d2, d2 };
    results = consultDao.search(filter);
    failSubject = "Fail search responseStart/EndDate : ";
    assertEquals(failSubject + failMsgResultCount, expectedCR.length, results.size());
    for (int i = 0; i < results.size(); i++) {
        Object[] result = results.get(i);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedCR[i], result[0]);
        assertEquals(failSubject + failMsgItemMatch + "[" + i + "].", expectedDemo[i], result[2]);
    }
}