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.dso.repository.GridSafetyAnalysisRepository.java

License:Apache License

/**
 * Delete all {@link GridSafetyAnalysis} objects for a certain date.
 *
 * @param period//from w  w  w .  j a  v  a 2s .  co  m
 * @return the number of {@link GridSafetyAnalysis} objects deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM GridSafetyAnalysis gsa ");
    sql.append("WHERE gsa.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.dso.repository.GridSafetyAnalysisRepository.java

License:Apache License

/**
 * Delete all {@link GridSafetyAnalysis} objects for a certain date and congestion point.
 *
 * @param entityAddress/*from   w ww  .ja  v a 2s  .  com*/
 * @param period
 */
public int deletePreviousGridSafetyAnalysis(String entityAddress, LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM GridSafetyAnalysis gsa ");
    sql.append("WHERE gsa.connectionGroup.usefIdentifier = :entityAddress ");
    sql.append("AND gsa.ptuContainer IN (SELECT pc FROM PtuContainer pc WHERE pc.ptuDate = :ptuDate)");

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

From source file:energy.usef.dso.repository.NonAggregatorForecastRepository.java

License:Apache License

/**
 * Gets last NonAggregatorForecasts.//from   w  w w .j a va2s.c  o  m
 *
 * @param ptuDate        start date
 * @param usefIdentifier
 * @return last non aggregator forecasts
 */
@SuppressWarnings("unchecked")
public List<NonAggregatorForecast> getLastNonAggregatorForecasts(LocalDate ptuDate,
        Optional<String> usefIdentifier) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT naf2 ");
    sql.append("FROM NonAggregatorForecast naf2 ");
    sql.append("WHERE naf2.creationDate IN (");
    sql.append(" SELECT max(naf.creationDate) ");
    sql.append(" FROM NonAggregatorForecast naf ");
    sql.append(" WHERE naf.ptuContainer.ptuDate = :ptuDate ");
    if (usefIdentifier.isPresent()) {
        sql.append(" AND naf.connectionGroup.usefIdentifier = :usefIdentifier");
    }
    sql.append(" GROUP BY naf.connectionGroup ");
    sql.append(")");
    if (usefIdentifier.isPresent()) {
        sql.append(" AND naf2.connectionGroup.usefIdentifier = :usefIdentifier");
    }

    Query query = entityManager.createQuery(sql.toString()).setParameter("ptuDate",
            ptuDate.toDateMidnight().toDate());
    if (usefIdentifier.isPresent()) {
        query.setParameter("usefIdentifier", usefIdentifier.get());
    }
    return query.getResultList();
}

From source file:energy.usef.dso.repository.NonAggregatorForecastRepository.java

License:Apache License

/**
 * Gets last NonAggregatorForecast./*from   w  w w. j av a 2s  .  c o  m*/
 *
 * @param ptuDate  ptu date
 * @param ptuIndex ptu index
 * @return last non aggregator forecasts
 */
@SuppressWarnings("unchecked")
public List<NonAggregatorForecast> getLastNonAggregatorForecasts(LocalDate ptuDate, Integer ptuIndex) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT naf2 ");
    sql.append("FROM NonAggregatorForecast naf2 ");
    sql.append("WHERE naf2.creationDate IN (");
    sql.append(" SELECT max(naf.creationDate) ");
    sql.append(" FROM NonAggregatorForecast naf ");
    sql.append(" WHERE naf.ptuContainer.ptuDate = :ptuDate ");
    sql.append("  AND naf.ptuContainer.ptuIndex = :ptuIndex ");
    sql.append(" GROUP BY naf.connectionGroup ");
    sql.append(")");
    return entityManager.createQuery(sql.toString()).setParameter("ptuDate", ptuDate.toDateMidnight().toDate())
            .setParameter("ptuIndex", ptuIndex).getResultList();
}

From source file:energy.usef.dso.repository.NonAggregatorForecastRepository.java

License:Apache License

/**
 * Delete all {@link NonAggregatorForecast} objects for a certain date.
 *
 * @param period//from   w w  w  .  j a  v  a 2s. c o  m
 * @return the number of {@link NonAggregatorForecast} objects deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM NonAggregatorForecast naf ");
    sql.append("WHERE naf.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.dso.repository.PrognosisUpdateDeviationRepository.java

License:Apache License

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

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

From source file:energy.usef.dso.repository.PtuGridMonitorRepository.java

License:Apache License

/**
 * Find Ptu Grid Monitors.//ww w .  j a va 2  s  .c om
 *
 * @param startDate PTU start day
 * @param endDate PTU end day
 * @return Ptu Grid Monitors
 */
public List<PtuGridMonitor> findPtuGridMonitorsByDates(LocalDate startDate, LocalDate endDate) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT gm ");
    sql.append("FROM PtuGridMonitor gm ");
    sql.append("WHERE gm.ptuContainer.ptuDate >= :startDate ");
    sql.append(" AND gm.ptuContainer.ptuDate <= :endDate ");
    Query query = entityManager.createQuery(sql.toString())
            .setParameter("startDate", startDate.toDateMidnight().toDate())
            .setParameter("endDate", endDate.toDateMidnight().toDate());

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

From source file:energy.usef.dso.repository.PtuGridMonitorRepository.java

License:Apache License

/**
 * Delete all {@link PtuGridMonitor} objects for a certain date.
 *
 * @param period//from  w  w  w . j  a  v a  2s .c  o  m
 * @return the number of {@link PtuGridMonitor} objects deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM PtuGridMonitor pgm ");
    sql.append("WHERE pgm.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.dso.service.business.DsoPlanboardBusinessService.java

License:Apache License

/**
 * Saves Non Aggregator Connection Forecast.
 *
 * @param congestionPointConnectionGroup the {@link CongestionPointConnectionGroup} of the forecast
 * @param ptuDate PTU date//from ww w . j a v  a  2 s.  c om
 * @param power power array
 * @param maxload max load array
 */
public void saveNonAggregatorConnectionForecast(CongestionPointConnectionGroup congestionPointConnectionGroup,
        LocalDate ptuDate, List<Long> power, List<Long> maxload) {

    int length = power.size();
    if (length == 0) {
        int ptuDuration = config.getIntegerProperty(ConfigParam.PTU_DURATION);
        length = PtuUtil.getNumberOfPtusPerDay(ptuDate, ptuDuration);
    }
    Map<Integer, PtuContainer> ptuContainers = ptuContainerRepository.findPtuContainersMap(ptuDate);
    for (int i = 0; i < length; i++) {
        Integer ptuIndex = i + 1;
        PtuContainer ptuContainer = ptuContainers.get(ptuIndex);
        if (ptuContainer == null) {
            ptuContainer = new PtuContainer(ptuDate, ptuIndex);
            ptuContainerRepository.persist(ptuContainer);
            LOGGER.trace("Persisted ptuContainer");
        } else {
            LOGGER.trace("Existing ptuContainer");
        }

        if (i < power.size()) {
            LOGGER.trace("Persisted nonAggregatorForecast");
            NonAggregatorForecast nonAggregatorForecast = new NonAggregatorForecast();
            nonAggregatorForecast.setMaxLoad(maxload.get(i));
            nonAggregatorForecast.setPower(power.get(i));
            nonAggregatorForecast.setSequence(sequenceGeneratorService.next());
            nonAggregatorForecast.setPtuContainer(ptuContainer);
            nonAggregatorForecast.setConnectionGroup(congestionPointConnectionGroup);
            nonAggregatorForecast.setCreationDate(ptuDate.toDateMidnight().toDate());
            nonAggregatorForecastRepository.persist(nonAggregatorForecast);
        }

    }

    LOGGER.info("Forecast saved {} PTU's, length = {}", power.size(), length);
}

From source file:energy.usef.dso.workflow.step.DsoMeterDataQueryEventsStub.java

License:Apache License

private List<ConnectionMeterEventDto> generateConnectionMeterEventDto(String entityAddress, LocalDate day) {
    List<ConnectionMeterEventDto> result = new ArrayList<>();

    ConnectionMeterEventDto connectionMeterEventDto1 = new ConnectionMeterEventDto();
    connectionMeterEventDto1.setEntityAddress(entityAddress);
    LocalDateTime eventDateTime1 = new LocalDateTime(day.toDateMidnight().toDate())
            .plusMinutes(RANDOM.nextInt(MINUTES_PER_HOUR));
    connectionMeterEventDto1.setEventDateTime(eventDateTime1);
    result.add(connectionMeterEventDto1);

    ConnectionMeterEventDto connectionMeterEventDto2 = new ConnectionMeterEventDto();
    connectionMeterEventDto2.setEntityAddress(entityAddress);
    LocalDateTime eventDateTime2 = new LocalDateTime(day.toDateMidnight().toDate())
            .plusMinutes(MINUTES_PER_HOUR + 1 + RANDOM.nextInt(MINUTES_PER_HOUR));
    connectionMeterEventDto2.setEventDateTime(eventDateTime2);

    int randomInt = RANDOM.nextInt(EVENT_TYPE_CASES_AMOUNT);
    if (randomInt == CAPACITY_MANAGEMENT_ONLY) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        BigInteger eventData = computeRandomPower();
        connectionMeterEventDto1.setEventData(eventData);

        connectionMeterEventDto2.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        result.add(connectionMeterEventDto2);
    } else if (randomInt == CONNECTION_INTERRUPTION_AND_RESUMPTION) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);

        connectionMeterEventDto2.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
        result.add(connectionMeterEventDto2);
    } else if (randomInt == CAPACITY_MANAGEMENT_WITH_RANDOM) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        if (RANDOM.nextBoolean()) {
            BigInteger eventData = computeRandomPower();
            connectionMeterEventDto1.setEventData(eventData);
        }//from   w  w  w.  ja v a  2 s . c om
    } else if (randomInt == CONNECTION_INTERRUPTION_ONLY) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);
    } else if (randomInt == CONNECTION_RESUMPTION_ONLY) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
    }

    return result;
}