Example usage for org.apache.commons.beanutils.converters CalendarConverter CalendarConverter

List of usage examples for org.apache.commons.beanutils.converters CalendarConverter CalendarConverter

Introduction

In this page you can find the example usage for org.apache.commons.beanutils.converters CalendarConverter CalendarConverter.

Prototype

public CalendarConverter() 

Source Link

Document

Construct a java.util.Calendar Converter that throws a ConversionException if an error occurs.

Usage

From source file:br.com.transport.report.ManagerReportBean.java

/**
 * //  w  w  w.j  a  va 2 s  .  c o m
 * @param mapReport
 * @return
 */
@SuppressWarnings("unchecked")
private List<ReportVO> executeQuery(Map<Long, List<Calendar>> mapReport) {

    List<ReportVO> handlerList = new LinkedList<ReportVO>();

    Query query = entityManager.createNativeQuery("SELECT F.DEPARTURE_DATE,F.DELIVERY_DATE,F.STATUS, "
            + "C.ID,C.CAPACITY,C.LICENSE_PLATE, C.MODEL " + "FROM CARRIER C " + "INNER JOIN FREIGHT F "
            + "ON C.ID = F.CARRIER_ID " + "WHERE F.STATUS IN ('ACCEPTED' ,'IN_PROGRESS') "
            + "AND F.DEPARTURE_DATE " + "BETWEEN :initialDate " + "AND :lastDate " + "ORDER BY C.ID ASC");

    query.setParameter("initialDate", dateFormat.format(getInitCalendar().getTime()));
    query.setParameter("lastDate", dateFormat.format(getLastCalendar().getTime()));

    List<Object[]> resultQuery = query.getResultList();

    /**
     * departureDate   [0]
     * deliveryDate     [1]
     * status           [2]
     * carrierId       [3]
     * capacity          [4]
     * licensePlate       [5]
     * model          [6]
     */

    DateTimeConverter timeConverter = new CalendarConverter();

    List<Calendar> calendars = createDayOfTheWeek();

    for (Object[] array : resultQuery) {

        mapReport.put(new Long(array[3].toString()), new LinkedList<Calendar>(calendars));

        Calendar deliveryDate = (Calendar) timeConverter.convert(Calendar.class, array[1]);
        Calendar departureDate = (Calendar) timeConverter.convert(Calendar.class, array[0]);

        handlerList.add(new ReportVO(departureDate.getTime(), deliveryDate.getTime(), array[2].toString(),
                new Long(array[3].toString()), new Double(array[4].toString()), array[5].toString(),
                array[6].toString(), null));
    }

    return handlerList;
}