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

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

Introduction

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

Prototype

public static Date parseDate(String str, String... parsePatterns) throws ParseException 

Source Link

Document

Parses a string representing a date by trying a variety of different parsers.

The parse will try each parse pattern in turn.

Usage

From source file:org.openlmis.pod.domain.OrderPODTest.java

@Test
public void shouldTrimHoursFromReceivedDate() throws Exception {
    OrderPOD orderPod = new OrderPOD();
    orderPod.setReceivedDate(DateUtils.parseDate("01-09-12 05:30:00", new String[] { "dd-MM-yy HH:mm:ss" }));

    assertThat(orderPod.trimHoursFromDate(orderPod.getReceivedDate()),
            is(DateUtils.parseDate("01-09-12 00:00:00", new String[] { "dd-MM-yy HH:mm:ss" })));
}

From source file:org.oscarehr.billing.CA.ON.web.BatchBillAction.java

public ActionForward add(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse servletResponse) throws ParseException {

    BatchBillingDAO batchBillingDAO = (BatchBillingDAO) SpringUtils.getBean("batchBillingDAO");
    Integer demographicNo = Integer.parseInt(request.getParameter("demographic_no").trim());
    String billingProviderNo = request.getParameter("provider").trim();
    String creatorProviderNo = request.getParameter("creator").trim();
    String service_code = request.getParameter("xml_other1");
    String dxcode = request.getParameter("xml_diagnostic_detail");
    String createdDate = request.getParameter("createdate");
    Date date = DateUtils.parseDate(createdDate, new String[] { "yyyy/MM/dd HH:mm:ss" });
    Timestamp created = new Timestamp(date.getTime());
    int pipePos;//from   w ww.ja  va 2s .c  om

    if ((pipePos = dxcode.indexOf("|")) != -1) {
        String tmp = dxcode.substring(0, pipePos);
        dxcode = tmp;
    }

    List<BatchBilling> batchBillingList = batchBillingDAO.find(demographicNo, service_code);
    BatchBilling batchBilling;

    if (batchBillingList.size() == 0) {
        batchBilling = new BatchBilling();

        batchBilling.setDemographicNo(demographicNo);
        batchBilling.setBillingProviderNo(billingProviderNo);
        batchBilling.setServiceCode(service_code);
        batchBilling.setDxcode(dxcode);
        batchBilling.setCreateDate(created);
        batchBilling.setCreator(creatorProviderNo);

        batchBillingDAO.persist(batchBilling);
    } else {
        batchBilling = batchBillingList.get(0);
        batchBilling.setBillingProviderNo(billingProviderNo);
        batchBilling.setDxcode(dxcode);
        batchBilling.setCreateDate(created);
        batchBilling.setCreator(creatorProviderNo);

        batchBillingDAO.merge(batchBilling);
    }

    return actionMapping.findForward("saved");

}

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 w w  .  ja  v  a 2  s.  c om*/
    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.  j a va2s  .  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);/*ww  w. j a va2 s .c  om*/
    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 w  w  .jav  a 2 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();

    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]);
    }
}

From source file:org.oscarehr.fax.admin.ManageFaxes.java

public ActionForward fetchFaxStatus(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) {//from w w  w  .jav  a  2 s .  com

    String statusStr = request.getParameter("status");
    String teamStr = request.getParameter("team");
    String dateBeginStr = request.getParameter("dateBegin");
    String dateEndStr = request.getParameter("dateEnd");
    String provider_no = request.getParameter("oscarUser");
    String demographic_no = request.getParameter("demographic_no");

    if (provider_no.equalsIgnoreCase("-1")) {
        provider_no = null;
    }

    if (statusStr.equalsIgnoreCase("-1")) {
        statusStr = null;
    }

    if (teamStr.equalsIgnoreCase("-1")) {
        teamStr = null;
    }

    if ("null".equalsIgnoreCase(demographic_no) || "".equals(demographic_no)) {
        demographic_no = null;
    }

    Calendar calendar = GregorianCalendar.getInstance();
    Date dateBegin = null, dateEnd = null;
    String datePattern[] = new String[] { "yyyy-MM-dd" };
    try {
        dateBegin = DateUtils.parseDate(dateBeginStr, datePattern);
        calendar.setTime(dateBegin);
        calendar.set(Calendar.HOUR, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        dateBegin = calendar.getTime();
    } catch (ParseException e) {
        dateBegin = null;
        MiscUtils.getLogger().error("UNPARSEABLE DATE " + dateBeginStr);
    }

    try {
        dateEnd = DateUtils.parseDate(dateEndStr, datePattern);
        calendar.setTime(dateEnd);
        calendar.set(Calendar.HOUR, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.MILLISECOND, 59);
        dateEnd = calendar.getTime();

    } catch (ParseException e) {
        dateEnd = null;
        MiscUtils.getLogger().error("UNPARSEABLE DATE " + dateEndStr);
    }

    FaxJobDao faxJobDao = SpringUtils.getBean(FaxJobDao.class);

    List<FaxJob> faxJobList = faxJobDao.getFaxStatusByDateDemographicProviderStatusTeam(demographic_no,
            provider_no, statusStr, teamStr, dateBegin, dateEnd);

    request.setAttribute("faxes", faxJobList);

    return mapping.findForward("faxstatus");
}

From source file:org.oscarehr.olis.OLISSearchAction.java

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) {//ww  w.ja  v  a  2  s . co  m
    String queryType = request.getParameter("queryType");
    boolean redo = "true".equals(request.getParameter("redo"));
    if (redo) {
        String uuid = request.getParameter("uuid");
        request.setAttribute("searchUuid", uuid);
        boolean force = "true".equals(request.getParameter("force"));
        Query q = (Query) searchQueryMap.get(uuid).clone();
        if (force) {
            q.setConsentToViewBlockedInformation(new ZPD1("Z"));

            String blockedInfoIndividual = request.getParameter("blockedInformationIndividual");
            // Log the consent override
            OscarLogDao logDao = (OscarLogDao) SpringUtils.getBean("oscarLogDao");
            OscarLog logItem = new OscarLog();
            logItem.setAction("OLIS search");
            logItem.setContent("consent override");
            logItem.setContentId("demographicNo=" + q.getDemographicNo() + ",givenby=" + blockedInfoIndividual);
            if (LoggedInInfo.loggedInInfo.get().loggedInProvider != null) {
                logItem.setProviderNo(LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());
            } else {
                logItem.setProviderNo("-1");
            }

            logItem.setIp(request.getRemoteAddr());

            logDao.persist(logItem);

        }
        Driver.submitOLISQuery(request, q);

    } else if (queryType != null) {

        Query query = null;

        String[] dateFormat = new String[] { "yyyy-MM-dd" };

        if (queryType.equalsIgnoreCase("Z01")) {
            query = new Z01Query();
            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z01Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z01Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String observationStartTimePeriod = request.getParameter("observationStartTimePeriod");
            String observationEndTimePeriod = request.getParameter("observationEndTimePeriod");

            try {
                if (observationStartTimePeriod != null && observationStartTimePeriod.trim().length() > 0) {
                    Date observationStartTime = DateUtils.parseDate(observationStartTimePeriod, dateFormat);
                    if (observationEndTimePeriod != null && observationEndTimePeriod.trim().length() > 0) {
                        Date observationEndTime = changeToEndOfDay(
                                DateUtils.parseDate(observationEndTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(observationStartTime);
                        dateList.add(observationEndTime);

                        OBR7 obr7 = new OBR7();
                        obr7.setValue(dateList);

                        ((Z01Query) query).setEarliestLatestObservationDateTime(obr7);
                    } else {
                        OBR7 obr7 = new OBR7();
                        obr7.setValue(observationStartTime);

                        ((Z01Query) query).setEarliestLatestObservationDateTime(obr7);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z01Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

            String blockedInformationConsent = request.getParameter("blockedInformationConsent");

            if (blockedInformationConsent != null && blockedInformationConsent.trim().length() > 0) {
                ((Z01Query) query).setConsentToViewBlockedInformation(new ZPD1(blockedInformationConsent));
            }

            String consentBlockAllIndicator = request.getParameter("consentBlockAllIndicator");

            if (consentBlockAllIndicator != null && consentBlockAllIndicator.trim().length() > 0) {
                ((Z01Query) query).setPatientConsentBlockAllIndicator(new ZPD3("Y"));
            }

            String specimenCollector = request.getParameter("specimenCollector");

            if (specimenCollector != null && specimenCollector.trim().length() > 0) {
                ((Z01Query) query).setSpecimenCollector(new ZBR3(specimenCollector, "ISO"));
            }

            String performingLaboratory = request.getParameter("performingLaboratory");

            if (performingLaboratory != null && performingLaboratory.trim().length() > 0) {
                ((Z01Query) query).setPerformingLaboratory(new ZBR6(performingLaboratory, "ISO"));
            }

            String excludePerformingLaboratory = request.getParameter("excludePerformingLaboratory");

            if (excludePerformingLaboratory != null && excludePerformingLaboratory.trim().length() > 0) {
                ((Z01Query) query).setExcludePerformingLaboratory(new ZBE6(excludePerformingLaboratory, "ISO"));
            }

            String reportingLaboratory = request.getParameter("reportingLaboratory");

            if (reportingLaboratory != null && reportingLaboratory.trim().length() > 0) {
                ((Z01Query) query).setReportingLaboratory(new ZBR4(reportingLaboratory, "ISO"));
            }

            String excludeReportingLaboratory = request.getParameter("excludeReportingLaboratory");

            if (excludeReportingLaboratory != null && excludeReportingLaboratory.trim().length() > 0) {
                ((Z01Query) query).setExcludeReportingLaboratory(new ZBE4(excludeReportingLaboratory, "ISO"));
            }

            // Patient Identifier (PID.3 -- pull data from db and add to query)
            String demographicNo = request.getParameter("demographic");
            query.setDemographicNo(demographicNo);
            try {
                if (demographicNo != null && demographicNo.trim().length() > 0) {
                    Demographic demo = demographicDao.getDemographic(demographicNo);

                    PID3 pid3 = new PID3(demo.getHin(), null, null, "JHN", demo.getHcType(), "HL70347",
                            demo.getSex(), null);
                    pid3.setValue(7, DateUtils.parseDate(
                            demo.getYearOfBirth() + "-" + demo.getMonthOfBirth() + "-" + demo.getDateOfBirth(),
                            dateFormat));

                    ((Z01Query) query).setPatientIdentifier(pid3);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested patient data to OLIS query", e);
            }

            // Requesting HIC (ZRP.1 -- pull data from db and add to query)
            String requestingHicProviderNo = request.getParameter("requestingHic");

            try {
                if (requestingHicProviderNo != null && requestingHicProviderNo.trim().length() > 0) {
                    Provider provider = providerDao.getProvider(requestingHicProviderNo);

                    ZRP1 zrp1 = new ZRP1(provider.getBillingNo(), "MDL", "ON", "HL70347",
                            provider.getLastName(), provider.getFirstName(), null);

                    ((Z01Query) query).setRequestingHic(zrp1);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested requesting HIC data to OLIS query", e);
            }

            // OBR.16
            String orderingPractitionerProviderNo = request.getParameter("orderingPractitioner");

            try {
                if (orderingPractitionerProviderNo != null
                        && orderingPractitionerProviderNo.trim().length() > 0) {
                    OBR16 obr16 = new OBR16(orderingPractitionerProviderNo, "MDL", "ON", "HL70347");

                    ((Z01Query) query).setOrderingPractitioner(obr16);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested ordering practitioner data to OLIS query", e);
            }

            String copiedToPractitionerProviderNo = request.getParameter("copiedToPractitioner");

            try {
                if (copiedToPractitionerProviderNo != null
                        && copiedToPractitionerProviderNo.trim().length() > 0) {
                    OBR28 obr28 = new OBR28(copiedToPractitionerProviderNo, "MDL", "ON", "HL70347");

                    ((Z01Query) query).setCopiedToPractitioner(obr28);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested copied to practitioner data to OLIS query", e);
            }

            String attendingPractitionerProviderNo = request.getParameter("attendingPractitioner");

            try {
                if (attendingPractitionerProviderNo != null
                        && attendingPractitionerProviderNo.trim().length() > 0) {
                    PV17 pv17 = new PV17(attendingPractitionerProviderNo, "MDL", "ON", "HL70347");

                    ((Z01Query) query).setAttendingPractitioner(pv17);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested attending practitioner data to OLIS query", e);
            }

            String admittingPractitionerProviderNo = request.getParameter("admittingPractitioner");

            try {
                if (admittingPractitionerProviderNo != null
                        && admittingPractitionerProviderNo.trim().length() > 0) {
                    PV117 pv117 = new PV117(admittingPractitionerProviderNo, "MDL", "ON", "HL70347");

                    ((Z01Query) query).setAdmittingPractitioner(pv117);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested admitting practitioner data to OLIS query", e);
            }

            // TODO: Add placer group number

            String[] testRequestStatusList = request.getParameterValues("testRequestStatus");

            if (testRequestStatusList != null) {
                for (String testRequestStatus : testRequestStatusList) {
                    ((Z01Query) query).addToTestRequestStatusList(new OBR25(testRequestStatus));
                }
            }

            String[] testResultCodeList = request.getParameterValues("testResultCode");

            if (testResultCodeList != null) {
                for (String testResultCode : testResultCodeList) {
                    ((Z01Query) query).addToTestResultCodeList(new OBX3(testResultCode, "HL79902"));
                }
            }

            String[] testRequestCodeList = request.getParameterValues("testRequestCode");

            if (testRequestCodeList != null) {
                for (String testRequestCode : testRequestCodeList) {
                    ((Z01Query) query).addToTestRequestCodeList(new OBR4(testRequestCode, "HL79901"));
                }
            }

            String blockedInfoConsent = request.getParameter("blockedInformationConsent");
            String blockedInfoIndividual = request.getParameter("blockedInformationIndividual");

            if (blockedInfoConsent != null && blockedInfoConsent.equalsIgnoreCase("Z")) {
                // Log the consent override
                OscarLogDao logDao = (OscarLogDao) SpringUtils.getBean("oscarLogDao");
                OscarLog logItem = new OscarLog();
                logItem.setAction("OLIS search");
                logItem.setContent("consent override");
                logItem.setContentId("demographicNo=" + demographicNo + ",givenby=" + blockedInfoIndividual);
                if (LoggedInInfo.loggedInInfo.get().loggedInProvider != null)
                    logItem.setProviderNo(LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());
                else
                    logItem.setProviderNo("-1");

                logItem.setIp(request.getRemoteAddr());

                logDao.persist(logItem);

            }

        } else if (queryType.equalsIgnoreCase("Z02")) {
            query = new Z02Query();

            String retrieveAllResults = request.getParameter("retrieveAllResults");

            try {
                if (retrieveAllResults != null && retrieveAllResults.trim().length() > 0) {
                    // Checked
                    ((Z02Query) query).setRetrieveAllTestResults(new ZBX1("*"));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't set retrieve all results option on OLIS query", e);
            }

            String blockedInformationConsent = request.getParameter("blockedInformationConsent");

            if (blockedInformationConsent != null && blockedInformationConsent.trim().length() > 0) {
                ((Z02Query) query).setConsentToViewBlockedInformation(new ZPD1(blockedInformationConsent));
            }

            String consentBlockAllIndicator = request.getParameter("consentBlockAllIndicator");

            if (consentBlockAllIndicator != null && consentBlockAllIndicator.trim().length() > 0) {
                ((Z02Query) query).setPatientConsentBlockAllIndicator(new ZPD3("Y"));
            }

            // Requesting HIC (ZRP.1 -- pull data from db and add to query)
            String requestingHicProviderNo = request.getParameter("requestingHic");

            try {
                if (requestingHicProviderNo != null && requestingHicProviderNo.trim().length() > 0) {
                    Provider provider = providerDao.getProvider(requestingHicProviderNo);

                    ZRP1 zrp1 = new ZRP1(provider.getBillingNo(), "MDL", "ON", "HL70347",
                            provider.getLastName(), provider.getFirstName(), null);

                    ((Z02Query) query).setRequestingHic(zrp1);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested requesting HIC data to OLIS query", e);
            }

            // Patient Identifier (PID.3 -- pull data from db and add to query)
            String demographicNo = request.getParameter("demographic");
            query.setDemographicNo(demographicNo);

            try {
                if (demographicNo != null && demographicNo.trim().length() > 0) {
                    Demographic demo = demographicDao.getDemographic(demographicNo);

                    PID3 pid3 = new PID3(demo.getHin(), null, null, "JHN", demo.getHcType(), "HL70347",
                            demo.getSex(), null);
                    pid3.setValue(7, DateUtils.parseDate(
                            demo.getYearOfBirth() + "-" + demo.getMonthOfBirth() + "-" + demo.getDateOfBirth(),
                            dateFormat));

                    ((Z02Query) query).setPatientIdentifier(pid3);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested patient data to OLIS query", e);
            }

            // TODO: Add placer group number

            String blockedInfoConsent = request.getParameter("blockedInformationConsent");
            String blockedInfoIndividual = request.getParameter("blockedInformationIndividual");

            if (blockedInfoConsent != null && blockedInfoConsent.equalsIgnoreCase("Z")) {
                // Log the consent override
                OscarLogDao logDao = (OscarLogDao) SpringUtils.getBean("oscarLogDao");
                OscarLog logItem = new OscarLog();
                logItem.setAction("OLIS search");
                logItem.setContent("consent override");
                logItem.setContentId("demographicNo=" + demographicNo + ",givenby=" + blockedInfoIndividual);
                if (LoggedInInfo.loggedInInfo.get().loggedInProvider != null)
                    logItem.setProviderNo(LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());
                else
                    logItem.setProviderNo("-1");

                logItem.setIp(request.getRemoteAddr());

                logDao.persist(logItem);
            }

        } else if (queryType.equalsIgnoreCase("Z04")) {
            query = new Z04Query();

            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z04Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z04Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z04Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

            // Requesting HIC (ZRP.1 -- pull data from db and add to query)
            String requestingHicProviderNo = request.getParameter("requestingHic");

            try {
                if (requestingHicProviderNo != null && requestingHicProviderNo.trim().length() > 0) {
                    Provider provider = providerDao.getProvider(requestingHicProviderNo);

                    ZRP1 zrp1 = new ZRP1(provider.getBillingNo(), "MDL", "ON", "HL70347",
                            provider.getLastName(), provider.getFirstName(), null);

                    ((Z04Query) query).setRequestingHic(zrp1);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't add requested requesting HIC data to OLIS query", e);
            }

            String[] testResultCodeList = request.getParameterValues("testResultCode");

            if (testResultCodeList != null) {
                for (String testResultCode : testResultCodeList) {
                    ((Z04Query) query).addToTestResultCodeList(new OBX3(testResultCode, "HL79902"));
                }
            }

            String[] testRequestCodeList = request.getParameterValues("testRequestCode");

            if (testRequestCodeList != null) {
                for (String testRequestCode : testRequestCodeList) {
                    ((Z04Query) query).addToTestRequestCodeList(new OBR4(testRequestCode, "HL79901"));
                }
            }

        } else if (queryType.equalsIgnoreCase("Z05")) {
            query = new Z05Query();

            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z05Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z05Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z05Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

            String destinationLaboratory = request.getParameter("destinationLaboratory");

            if (destinationLaboratory != null && destinationLaboratory.trim().length() > 0) {
                ((Z05Query) query).setDestinationLaboratory(new ZBR8(destinationLaboratory, "ISO"));
            }

        } else if (queryType.equalsIgnoreCase("Z06")) {
            query = new Z06Query();

            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z06Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z06Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z06Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

            String orderingFacility = request.getParameter("orderingFacility");

            if (orderingFacility != null && orderingFacility.trim().length() > 0) {
                ((Z06Query) query).setOrderingFacilityId(new ORC21(orderingFacility, "ISO"));
            }

        } else if (queryType.equalsIgnoreCase("Z07")) {
            query = new Z07Query();

            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z07Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z07Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z07Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

        } else if (queryType.equalsIgnoreCase("Z08")) {
            query = new Z08Query();

            String startTimePeriod = request.getParameter("startTimePeriod");
            String endTimePeriod = request.getParameter("endTimePeriod");

            try {
                if (startTimePeriod != null && startTimePeriod.trim().length() > 0) {
                    Date startTime = DateUtils.parseDate(startTimePeriod, dateFormat);
                    if (endTimePeriod != null && endTimePeriod.trim().length() > 0) {
                        Date endTime = changeToEndOfDay(DateUtils.parseDate(endTimePeriod, dateFormat));

                        List<Date> dateList = new LinkedList<Date>();
                        dateList.add(startTime);
                        dateList.add(endTime);

                        OBR22 obr22 = new OBR22();
                        obr22.setValue(dateList);

                        ((Z08Query) query).setStartEndTimestamp(obr22);
                    } else {
                        OBR22 obr22 = new OBR22();
                        obr22.setValue(startTime);

                        ((Z08Query) query).setStartEndTimestamp(obr22);
                    }
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse date given for OLIS query", e);
            }

            String quantityLimitedQuery = request.getParameter("quantityLimitedQuery");
            String quantityLimit = request.getParameter("quantityLimit");

            try {
                if (quantityLimitedQuery != null && quantityLimitedQuery.trim().length() > 0) {
                    // Checked
                    ((Z08Query) query).setQuantityLimitedRequest(new QRD7(Integer.parseInt(quantityLimit)));
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Can't parse the number given for quantity limit in OLIS query", e);
            }

        } else if (queryType.equalsIgnoreCase("Z50")) {
            query = new Z50Query();

            String firstName = request.getParameter("z50firstName");

            if (firstName != null && firstName.trim().length() > 0) {
                ((Z50Query) query).setFirstName(new PID52(firstName));
            }

            String lastName = request.getParameter("z50lastName");

            if (lastName != null && lastName.trim().length() > 0) {
                ((Z50Query) query).setLastName(new PID51(lastName));
            }

            String sex = request.getParameter("z50sex");

            if (sex != null && sex.trim().length() > 0) {
                ((Z50Query) query).setSex(new PID8(sex));
            }

            String dateOfBirth = request.getParameter("z50dateOfBirth");
            try {
                if (dateOfBirth != null && dateOfBirth.trim().length() > 0) {
                    PID7 pid7 = new PID7();
                    pid7.setValue(DateUtils.parseDate(dateOfBirth, dateFormat));
                    ((Z50Query) query).setDateOfBirth(pid7);
                }
            } catch (Exception e) {
                MiscUtils.getLogger().error("Couldn't parse date given for OLIS query", e);
            }
        }

        String searchUuid = UUID.randomUUID().toString();
        searchQueryMap.put(searchUuid, query);
        request.setAttribute("searchUuid", searchUuid);
        if (queryType.equals("Z04") && request.getParameterValues("requestingHic") != null
                && request.getParameterValues("requestingHic").length > 1) {
            for (String providerNo : request.getParameterValues("requestingHic")) {
                Provider provider = providerDao.getProvider(providerNo);
                ZRP1 zrp1 = new ZRP1(provider.getBillingNo(), "MDL", "ON", "HL70347", provider.getLastName(),
                        provider.getFirstName(), null);
                ((Z04Query) query).setRequestingHic(zrp1);
                Driver.submitOLISQuery(request, query);
            }
        } else {
            Driver.submitOLISQuery(request, query);
        }

    }

    return mapping.findForward("results");

}

From source file:org.sakaiproject.nakamura.chat.ChatMessageSearchPropertyProvider.java

/**
 * {@inheritDoc}//from www . j av  a  2  s. com
 *
 * @see org.sakaiproject.nakamura.api.search.SearchPropertyProvider#loadUserProperties(org.apache.sling.api.SlingHttpServletRequest,
 *      java.util.Map)
 */
public void loadUserProperties(SlingHttpServletRequest request, Map<String, String> propertiesMap) {
    try {
        final String user = request.getRemoteUser();
        final Session session = StorageClientUtils
                .adaptToSession(request.getResourceResolver().adaptTo(javax.jcr.Session.class));
        final String fullPathToStore = ClientUtils
                .escapeQueryChars(messagingService.getFullPathToStore(user, session));
        propertiesMap.put(MessageConstants.SEARCH_PROP_MESSAGESTORE, fullPathToStore + "*");

        final RequestParameter usersParam = request.getRequestParameter("_from");
        if (usersParam != null && !usersParam.getString().equals("")) {
            final StringBuilder solr = new StringBuilder(" AND (");
            final String[] users = StringUtils.split(usersParam.getString(), ',');

            solr.append("from:(");
            for (final String u : users) {
                if ("*".equals(u)) {
                    continue;
                }
                solr.append(ClientUtils.escapeQueryChars(u)).append(" OR ");
            }
            solr.append(ClientUtils.escapeQueryChars(user));
            solr.append(")"); // close from:

            solr.append(" AND to:(");
            for (final String u : users) {
                if ("*".equals(u)) {
                    continue;
                }
                solr.append(ClientUtils.escapeQueryChars(u)).append(" OR ");
            }
            solr.append(ClientUtils.escapeQueryChars(user));
            solr.append(")"); // close to:

            solr.append(")"); // close AND
            propertiesMap.put("_from", solr.toString());
        }

        // convert iso8601jcr to Long for solr query parser
        final RequestParameter t = request.getRequestParameter("t");
        if (t != null && !"".equals(t.getString())) {
            final Date date = DateUtils.parseDate(t.getString(),
                    new String[] { "yyyy-MM-dd'T'HH:mm:ss.SSSZZ" });
            propertiesMap.put("t", String.valueOf(date.getTime()));
        }
    } catch (MessagingException e) {
        LOG.error(e.getLocalizedMessage(), e);
    } catch (ParseException e) {
        LOG.warn(e.getLocalizedMessage(), e);
    }
}

From source file:org.sonar.updatecenter.common.FormatUtilsTest.java

@Test
public void test_to_string() throws ParseException {
    Date date = DateUtils.parseDate("2010-05-18", new String[] { "yyyy-MM-dd" });
    assertThat(FormatUtils.toString(date, false)).isNotNull();
}