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.mdc.repository.AggregatorConnectionRepository.java

License:Apache License

/**
 * Finds the active {@link AggregatorConnection} for the given connection at a given time.
 *
 * @param connectionEntityAddress {@link java.lang.String} entity address of the connection.
 * @param date {@link org.joda.time.LocalDate} validity date (will be evaluated as current date if <code>null</code>
 *            ).//w ww .ja  v  a 2s  . c  o  m
 * @return a unique {@link AggregatorConnection} or <code>null</code> if not in the database.
 */
public AggregatorConnection findActiveAggregatorConnectionForConnection(String connectionEntityAddress,
        LocalDate date) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT ac FROM AggregatorConnection ac ");
    sql.append("WHERE ac.connection.entityAddress = :connectionEntityAddress ");
    sql.append("  AND ac.validFrom <= :date ");
    sql.append("  AND (ac.validUntil is null OR ac.validUntil > :date) ");
    List<AggregatorConnection> resultList = getEntityManager()
            .createQuery(sql.toString(), AggregatorConnection.class)
            .setParameter("connectionEntityAddress", connectionEntityAddress)
            .setParameter("date", date == null ? DateTimeUtil.getCurrentDate().toDateMidnight().toDate()
                    : date.toDateMidnight().toDate(), TemporalType.DATE)
            .getResultList();
    if (resultList == null || resultList.isEmpty()) {
        return null;
    }
    return resultList.get(0);
}

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

License:Apache License

/**
 * Finds the list of {@link AggregatorConnection} for the give Common Reference Operator domain.
 *
 * @param croDomain {@link java.lang.String} domain name of the Common Reference Operator.
 * @param date {@link org.joda.time.LocalDate} validity date (will be evaluated as current date if <code>null</code>
 *            )./*from w  w w . ja  va  2 s .c om*/
 * @return a {@link java.util.List} of {@link AggregatorConnection}.
 */
public List<AggregatorConnection> findActiveAggregatorConnectionsForCommonReferenceOperator(String croDomain,
        LocalDate date) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT ac FROM AggregatorConnection ac ");
    sql.append("WHERE ac.commonReferenceOperator.domain = :croDomain ");
    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("croDomain", croDomain)
            .setParameter("date", date == null ? DateTimeUtil.getCurrentDate().toDateMidnight().toDate()
                    : date.toDateMidnight().toDate(), TemporalType.DATE)
            .getResultList();
}

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

License:Apache License

/**
 * Find the list of aggregator entity addresses and domains valid on a given date for a list of connections.
 *
 * @param date//from w  w  w  .j a  v  a  2 s  .  c  o m
 * @param connectionEntityAddressList
 * @return
 */
@SuppressWarnings("unchecked")
public Map<String, String> findAggregatorForEachConnection(LocalDate date,
        List<String> connectionEntityAddressList) {
    StringBuilder sql = new StringBuilder();
    sql.append("SELECT ac.connection.entityAddress, ac.aggregator.domain ");
    sql.append(" FROM AggregatorConnection ac ");
    sql.append("WHERE ac.connection.entityAddress IN (:connectionEntityAddressList) ");
    sql.append("  AND ac.validFrom <= :date ");
    sql.append("  AND (ac.validUntil is null OR ac.validUntil > :date) ");
    Query query = getEntityManager().createQuery(sql.toString());
    query.setParameter("date", date.toDateMidnight().toDate());
    query.setParameter("connectionEntityAddressList", connectionEntityAddressList);
    return ((List<Object[]>) query.getResultList()).stream()
            .collect(Collectors.toMap(record -> (String) record[0], record -> (String) record[1]));
}

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

License:Apache License

/**
 * Delete all {@link AggregatorConnection}s for a given period.
 *
 * @param period//from w  w  w .j a v a2 s.  c  o  m
 * @return the number of {@link AggregatorConnection}s deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM AggregatorConnection ac WHERE ac.validUntil = :validUntil");

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

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

License:Apache License

/**
 * Delete all {@link CommonReferenceQueryState}s for a certain date.
 *
 * @param period//from   w  w  w  .ja v  a2 s. co m
 * @return the number of {@link CommonReferenceQueryState}s deleted.
 */
public int cleanup(LocalDate period) {
    StringBuilder sql = new StringBuilder();
    sql.append("DELETE FROM CommonReferenceQueryState crqs WHERE crqs.period = :period");

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

From source file:energy.usef.mdc.workflow.altstep.MdcMeterDataQueryStubFail.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 = 1;
    if (randomInt == 0) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
        connectionMeterEventDto1.setEventData(eventData);

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

        connectionMeterEventDto2.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
        result.add(connectionMeterEventDto2);
    } else if (randomInt == 2) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        if (RANDOM.nextBoolean()) {
            BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
            connectionMeterEventDto1.setEventData(eventData);
        }/*w  ww . j a  v a 2s  .  co m*/
    } else if (randomInt == 3) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);
    } else {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
    }

    return result;
}

From source file:energy.usef.mdc.workflow.altstep.MdcMeterDataQueryStubFixedActual.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(FLIP_THE_COIN_SIDES);
    if (randomInt == 0) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
        connectionMeterEventDto1.setEventData(eventData);

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

        connectionMeterEventDto2.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
        result.add(connectionMeterEventDto2);
    } else if (randomInt == 2) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        if (RANDOM.nextBoolean()) {
            BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
            connectionMeterEventDto1.setEventData(eventData);
        }/* w  w  w . j a  va 2  s .c o m*/
    } else if (randomInt == 3) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);
    } else {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
    }

    return result;
}

From source file:energy.usef.mdc.workflow.altstep.MdcMeterDataQueryStubSuccess.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 = 0;
    if (randomInt == 0) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
        connectionMeterEventDto1.setEventData(eventData);

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

        connectionMeterEventDto2.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
        result.add(connectionMeterEventDto2);
    } else if (randomInt == 2) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CAPACITY_MANAGEMENT);
        if (RANDOM.nextBoolean()) {
            BigInteger eventData = BigInteger.valueOf(generateRandomNumber(-500, 500));
            connectionMeterEventDto1.setEventData(eventData);
        }// www .  jav  a2  s .co m
    } else if (randomInt == 3) {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_INTERRUPTION);
    } else {
        connectionMeterEventDto1.setEventType(MeterEventTypeDto.CONNECTION_RESUMPTION);
    }

    return result;
}

From source file:energy.usef.mdc.workflow.step.MdcMeterDataQueryStub.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 = BigInteger
                .valueOf(generateRandomNumber(MIN_UNCONTROLLED_LOAD, MAX_UNCONTROLLED_LOAD));
        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 = BigInteger.valueOf(generateRandomNumber(MIN_POWER, MAX_POWER));
            connectionMeterEventDto1.setEventData(eventData);
        }/*from  www. j a v  a2 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.pbcfeeder.PbcFeeder.java

License:Apache License

/**
 * @param date/*from   w  w  w .  j a v  a  2s .c  om*/
 * @param startPtuIndex of the list starting from 1 till 96 (PTU_PER_DAY).
 * @param amount
 * @return
 */
public List<PbcStubDataDto> getStubRowInputList(LocalDate date, int startPtuIndex, int amount) {
    if (startPtuIndex > PTU_PER_DAY) {
        date = date.plusDays((int) Math.floor(startPtuIndex / PTU_PER_DAY));
        startPtuIndex = startPtuIndex % PTU_PER_DAY;
    }

    // Match PTU-index with requested startIndex and date from ExcelSheet.
    LocalDate epochDate = new LocalDate("1970-01-01");
    int daysDif = Days.daysBetween(epochDate, date).getDays();
    int ptuOffset = (daysDif % DAYS_IN_SPREADSHEET) * PTU_PER_DAY + startPtuIndex - 1;
    List<PbcStubDataDto> pbcStubDataDtoList = new ArrayList<>();

    // Loop over stubRowInputList, if necessary, to get requested amount of ptus.
    do {
        int toIndex = 0;
        if (ptuOffset + amount > stubRowInputList.size()) {
            toIndex = stubRowInputList.size();
        } else {
            toIndex = ptuOffset + amount;
        }
        amount -= (toIndex - ptuOffset);

        pbcStubDataDtoList.addAll(stubRowInputList.subList(ptuOffset, toIndex));
        ptuOffset = 0;
    } while (amount > 0);

    // Create and set PtuContainer for pbcStubDataDto.

    int lastPtuIndex = 0;
    for (PbcStubDataDto pbcStubDataDto : pbcStubDataDtoList) {
        int ptuIndex = pbcStubDataDto.getIndex() % PTU_PER_DAY;
        if (ptuIndex == 0) {
            ptuIndex = PTU_PER_DAY;
        }
        if (ptuIndex < lastPtuIndex) {
            date = date.plusDays(1);
        }
        PbcPtuContainerDto ptuContainerDto = new PbcPtuContainerDto(date.toDateMidnight().toDate(), ptuIndex);
        pbcStubDataDto.setPtuContainer(ptuContainerDto);
        lastPtuIndex = ptuIndex;
    }
    return pbcStubDataDtoList;
}