List of usage examples for org.joda.time LocalDate toDate
@SuppressWarnings("deprecation") public Date toDate()
java.util.Date
. 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(); }