Example usage for org.joda.time LocalDate toDateMidnight

List of usage examples for org.joda.time LocalDate toDateMidnight

Introduction

In this page you can find the example usage for org.joda.time LocalDate toDateMidnight.

Prototype

@Deprecated
public DateMidnight toDateMidnight() 

Source Link

Document

Converts this LocalDate to a DateMidnight in the default time zone.

Usage

From source file:energy.usef.core.repository.PtuContainerRepository.java

License:Apache License

private int setPhase(String sql, PhaseType phase, LocalDate period, Integer ptuIndex) {
    return getEntityManager().createQuery(sql).setParameter("phase", phase)
            .setParameter("period", period.toDateMidnight().toDate()).setParameter("ptuIndex", ptuIndex)
            .executeUpdate();/*  ww  w  .j av a2 s .co  m*/
}

From source file:energy.usef.core.repository.PtuContainerRepository.java

License:Apache License

/**
 * Delete all {@link PtuContainer}s for a certain date.
 *
 * @param period/*from   www . ja  v  a  2s  .  c  o m*/
 * @return the number of {@link PtuContainer}s deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM PtuContainer pc WHERE pc.ptuDate = :ptuDate");

    return entityManager.createQuery(sql.toString()).setParameter("ptuDate", period.toDateMidnight().toDate())
            .executeUpdate();
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Finds the {@link PtuFlexOffer} entities linked to each {@link AcknowledgementStatus#ACCEPTED}
 * {@link energy.usef.core.model.PtuFlexOrder} for the given period.
 *
 * @param startDate {@link LocalDate} starting date of the period.
 * @param endDate   {@link LocalDate} ending date of the period.
 * @return a {@link Map} of the offers grouped by:
 * <ol>//from w w  w. j  ava  2  s  . co  m
 * <li>Participant Domain ({@link String})</li>
 * <li>Flex Offer Sequence number {@link Long})</li>
 * <li>Period {@link LocalDate})</li>
 * <li>PTU index ({@link Integer})</li>
 * </ol>
 */
public Map<String, Map<Long, Map<LocalDate, Map<Integer, PtuFlexOffer>>>> findPtuFlexOffersOfAcceptedOrdersForPeriodByDomainSequencePeriodAndPtuIndex(
        LocalDate startDate, LocalDate endDate) {
    StringBuilder flexOfferSequences = new StringBuilder();
    flexOfferSequences.append("SELECT orders.flexOfferSequence FROM PtuFlexOrder orders ");
    flexOfferSequences.append("WHERE orders.ptuContainer.ptuDate >= :startDate ");
    flexOfferSequences.append("  AND orders.ptuContainer.ptuDate <= :endDate ");
    flexOfferSequences.append("  AND orders.acknowledgementStatus = :acknowledgementStatus ");

    StringBuilder flexOffers = new StringBuilder();
    flexOffers.append("SELECT offers FROM PtuFlexOffer offers ");
    flexOffers.append("WHERE offers.sequence IN (").append(flexOfferSequences).append(") ");

    return getEntityManager().createQuery(flexOffers.toString(), PtuFlexOffer.class)
            .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED).getResultList().stream()
            .collect(groupingBy(Exchange::getParticipantDomain,
                    groupingBy(ptuFlexOffer -> ptuFlexOffer.getSequence(),
                            groupingBy(ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuDate(),
                                    Collectors.toMap(
                                            ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuIndex(),
                                            Function.identity())))));
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Finds the {@link PtuFlexOffer} entities linked to each {@link AcknowledgementStatus#ACCEPTED}
 * {@link energy.usef.core.model.PtuFlexOrder} for the given period.
 *
 * @param startDate {@link LocalDate} starting date of the period.
 * @param endDate   {@link LocalDate} ending date of the period.
 * @return a {@link Map} of the offers grouped by:
 * <ol>// w w w  . j av a  2  s .  co  m
 * <li>Participant Domain ({@link String})</li>
 * <li>Connection Group USEF Identifier {@link String})</li>
 * <li>Period {@link LocalDate})</li>
 * <li>PTU index ({@link Integer})</li>
 * </ol>
 */
public Map<String, Map<String, Map<LocalDate, Map<Integer, List<PtuFlexOffer>>>>> findPtuFlexOffersOfAcceptedOrdersForPeriod(
        LocalDate startDate, LocalDate endDate) {
    StringBuilder flexOfferSequences = new StringBuilder();
    flexOfferSequences.append("SELECT orders.flexOfferSequence FROM PtuFlexOrder orders ");
    flexOfferSequences.append("WHERE orders.ptuContainer.ptuDate >= :startDate ");
    flexOfferSequences.append("  AND orders.ptuContainer.ptuDate <= :endDate ");
    flexOfferSequences.append("  AND orders.acknowledgementStatus = :acknowledgementStatus ");

    StringBuilder flexOffers = new StringBuilder();
    flexOffers.append("SELECT offers FROM PtuFlexOffer offers ");
    flexOffers.append("WHERE offers.sequence IN (").append(flexOfferSequences).append(") ");

    return getEntityManager().createQuery(flexOffers.toString(), PtuFlexOffer.class)
            .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED).getResultList().stream()
            .collect(groupingBy(Exchange::getParticipantDomain,
                    groupingBy(ptuFlexOffer -> ptuFlexOffer.getConnectionGroup().getUsefIdentifier(),
                            groupingBy(ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuDate(),
                                    Collectors.groupingBy(
                                            ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuIndex())))));
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Finds the {@link PtuFlexOffer} entities relevant for settlement for a given period.
 *
 * @param startDate {@link LocalDate} start date of the settlement period (inclusive).
 * @param endDate   {@link LocalDate} end date of the settlement period (inclusive).
 * @return a {@link List} of {@link PtuFlexOffer}.
 *//*w w w.  j a v a2  s. c  o  m*/
public List<PtuFlexOffer> findFlexOffersForSettlement(LocalDate startDate, LocalDate endDate) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT offer ");
    sql.append("FROM PtuFlexOffer offer, PlanboardMessage pm ");
    sql.append("WHERE offer.ptuContainer.ptuDate >= :startDate ");
    sql.append("  AND offer.ptuContainer.ptuDate <= :endDate ");
    sql.append("  AND pm.period = offer.ptuContainer.ptuDate ");
    sql.append("  AND pm.participantDomain = offer.participantDomain ");
    sql.append("  AND pm.sequence = offer.sequence ");
    sql.append("  AND pm.connectionGroup = offer.connectionGroup ");
    sql.append("  AND pm.documentStatus IN (:statuses) ");
    sql.append("ORDER BY offer.ptuContainer.ptuDate, offer.participantDomain, offer.ptuContainer.ptuIndex ");
    return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class)
            .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("statuses", Arrays.asList(DocumentStatus.ACCEPTED, DocumentStatus.PROCESSED))
            .getResultList();
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Finds all the flex offers with are referenced by a flex order during the given period.
 *
 * @param period {@link LocalDate} period.
 * @return a {@link LocalDate} of all the {@link PtuFlexOffer} entities.
 */// w  w  w . ja v  a 2 s  .com
public List<PtuFlexOffer> findFlexOffersWithOrderInPeriod(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT foffer ");
    sql.append("FROM PtuFlexOffer foffer, PtuFlexOrder forder ");
    sql.append("WHERE foffer.ptuContainer.ptuDate = :period ");
    sql.append("  AND forder.ptuContainer.ptuDate = :period ");
    sql.append("  AND forder.participantDomain = foffer.participantDomain ");
    sql.append("  AND forder.flexOfferSequence = foffer.sequence ");
    sql.append("  AND forder.ptuContainer.ptuIndex = foffer.ptuContainer.ptuIndex ");

    return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class)
            .setParameter("period", period.toDateMidnight().toDate(), TemporalType.DATE).getResultList();
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Finds all the placed flex offers for a period (i.e. valid, active and non-revoked).
 *
 * @param period {@link LocalDate} period.
 * @return a {@link List} of {@link PtuFlexOffer}, ordered by participant domain, sequence number and ptu index.
 *//*  w  w  w.  j a va 2 s  .c om*/
public List<PtuFlexOffer> findPlacedFlexOffers(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT foffer ");
    sql.append("FROM PtuFlexOffer foffer, PlanboardMessage pm ");
    sql.append("WHERE foffer.ptuContainer.ptuDate = :period ");
    sql.append("  AND pm.period = :period ");
    sql.append("  AND pm.sequence = foffer.sequence ");
    sql.append("  AND pm.participantDomain = foffer.participantDomain ");
    sql.append("  AND pm.documentStatus IN (:statuses) ");
    sql.append("ORDER BY foffer.participantDomain, foffer.sequence, foffer.ptuContainer.ptuIndex ");
    return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class)
            .setParameter("period", period.toDateMidnight().toDate(), TemporalType.DATE)
            .setParameter("statuses", Arrays.asList(DocumentStatus.ACCEPTED, DocumentStatus.SENT))
            .getResultList();
}

From source file:energy.usef.core.repository.PtuFlexOfferRepository.java

License:Apache License

/**
 * Delete all {@link PtuFlexOffer}s for a certain date.
 *
 * @param period/*w  w  w  .ja va2  s .  c  o m*/
 * @return the number of {@link PtuFlexOffer}s deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM PtuFlexOffer pfo ");
    sql.append("WHERE pfo.ptuContainer IN (SELECT pc FROM PtuContainer pc WHERE pc.ptuDate = :ptuDate)");

    return entityManager.createQuery(sql.toString()).setParameter("ptuDate", period.toDateMidnight().toDate())
            .executeUpdate();
}

From source file:energy.usef.core.repository.PtuFlexOrderRepository.java

License:Apache License

/**
 * Find flexibility Orders.//  www .j  a va 2s  .  com
 *
 * @param startDate PTU start day
 * @param endDate PTU end day
 * @return flexibility Orders
 */
public List<PtuFlexOrder> findFlexOrdersByDates(LocalDate startDate, LocalDate endDate) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT fo FROM PtuFlexOrder fo ");
    sql.append("WHERE fo.ptuContainer.ptuDate >= :startDate ");
    sql.append("  AND fo.ptuContainer.ptuDate <= :endDate ");
    sql.append("  AND fo.acknowledgementStatus = :acknowledgementStatus ");
    sql.append("ORDER BY fo.participantDomain, fo.ptuContainer.ptuDate, fo.ptuContainer.ptuIndex, ")
            .append("fo.connectionGroup.usefIdentifier, fo.sequence ");
    Query query = entityManager.createQuery(sql.toString());

    query.setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED);
    query.setParameter("startDate", startDate.toDateMidnight().toDate());
    query.setParameter("endDate", endDate.toDateMidnight().toDate());

    @SuppressWarnings("unchecked")
    List<PtuFlexOrder> results = query.getResultList();
    if (results == null) {
        results = new ArrayList<>();
    }
    return results;
}

From source file:energy.usef.core.repository.PtuFlexOrderRepository.java

License:Apache License

/**
 * Find flexibility Orders./*from  w ww. j  a v a 2  s  . com*/
 *
 * @param startDate PTU start day
 * @param endDate PTU end day
 * @return flexibility Orders
 */
public List<PtuFlexOrder> findFlexOrdersForSettlement(LocalDate startDate, LocalDate endDate) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT fo FROM PtuFlexOrder fo ");
    sql.append("WHERE fo.ptuContainer.ptuDate >= :startDate ");
    sql.append("  AND fo.ptuContainer.ptuDate <= :endDate ");
    sql.append("  AND fo.acknowledgementStatus IN (:statuses) ");
    sql.append("ORDER BY fo.ptuContainer.ptuDate, fo.participantDomain, fo.ptuContainer.ptuIndex, ")
            .append("fo.connectionGroup.usefIdentifier, fo.sequence ");
    Query query = entityManager.createQuery(sql.toString(), PtuFlexOrder.class);

    query.setParameter("statuses",
            Arrays.asList(AcknowledgementStatus.ACCEPTED, AcknowledgementStatus.PROCESSED));
    query.setParameter("startDate", startDate.toDateMidnight().toDate());
    query.setParameter("endDate", endDate.toDateMidnight().toDate());

    List<PtuFlexOrder> results = query.getResultList();
    if (results == null) {
        results = new ArrayList<>();
    }
    return results;
}