Example usage for org.joda.time LocalDate toDate

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

Introduction

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

Prototype

@SuppressWarnings("deprecation")
public Date toDate() 

Source Link

Document

Get the date time as a java.util.Date.

Usage

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

License:Apache License

/**
 * Gets last NonAggregatorForecasts.//from w w  w .jav a 2s  .  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./*  w  w w. ja  va 2 s .co  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/*  ww  w  .  j a va  2  s  . 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//w  w w .ja v a 2  s. c  om
 * @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.//from   ww w  . j  a va  2  s.  co  m
 *
 * @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  ww. j ava 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/*  w w w  .jav a  2s. c o m*/
 * @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);
        }/* w ww  .  j a  v  a  2  s . c o m*/
    } else if (randomInt == CONNECTION_INTERRUPTION_ONLY) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);
    } else if (randomInt == CONNECTION_RESUMPTION_ONLY) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
    }

    return result;
}

From source file:energy.usef.mdc.model.CommonReferenceQueryState.java

License:Apache License

public void setPeriod(LocalDate period) {
    this.period = period == null ? null : period.toDateMidnight().toDate();
}

From source file:energy.usef.mdc.repository.AggregatorConnectionRepository.java

License:Apache License

/**
 * Finds the list of active {@link AggregatorConnection} for the given aggregator at a given time.
 *
 * @param aggregatorDomain {@link String} aggregator domain.
 * @param date {@link org.joda.time.LocalDate} validity date (will be evaluated as current date if <code>null</code>
 *            )./*from w  w w . ja  v a 2s  .c o  m*/
 * @return a {@link java.util.List} of {@link AggregatorConnection} entities.
 */
public List<AggregatorConnection> findActiveAggregatorConnectionsForAggregator(String aggregatorDomain,
        LocalDate date) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT ac FROM AggregatorConnection ac ");
    sql.append("WHERE ac.aggregator.domain = :aggregatorDomain ");
    sql.append("  AND ac.validFrom <= :date ");
    sql.append("  AND (ac.validUntil is null OR ac.validUntil > :date) ");
    return getEntityManager().createQuery(sql.toString(), AggregatorConnection.class)
            .setParameter("aggregatorDomain", aggregatorDomain)
            .setParameter("date", date == null ? DateTimeUtil.getCurrentDate().toDateMidnight().toDate()
                    : date.toDateMidnight().toDate(), TemporalType.DATE)
            .getResultList();
}