List of usage examples for org.joda.time LocalDate toDateMidnight
@Deprecated
public DateMidnight toDateMidnight()
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; }