/** * Exercises an economic control for the current timeslot. */ void exerciseEconomicControl (EconomicControlEvent event) { Tariff tariff = tariffRepo.findTariffById(event.getTariffId()); if (null == tariff) { // should not happen log.error("Null tariff " + event.getTariffId() + " for economic control"); return; } List<TariffSubscription> subs = tariffSubscriptionRepo.findSubscriptionsForTariff(tariff); for (TariffSubscription sub : subs) { sub.postRatioControl(event.getCurtailmentRatio()); } }
@Override public boolean apply (TariffSubscription sub) { return (null != tariffRepo.findTariffById(sub.getTariff().getId()) && sub.getTariff().getState() == Tariff.State.KILLED && sub.getCustomersCommitted() > 0); } });
@Override public RegulationAccumulator getRegulationCapacity (BalancingOrder order) { Tariff tariff = tariffRepo.findTariffById(order.getTariffId()); if (null == tariff) { // broker error, most likely log.warn("Null tariff " + order.getTariffId() + " for balancing order"); return new RegulationAccumulator(0.0, 0.0); } RegulationAccumulator result = new RegulationAccumulator(0.0, 0.0); List<TariffSubscription> subs = tariffSubscriptionRepo.findSubscriptionsForTariff(tariff); for (TariffSubscription sub : subs) { result.add(sub.getRemainingRegulationCapacity()); } log.info("BalancingOrder " + order.getId() + " capacity = (" + result.getUpRegulationCapacity() + "," + result.getDownRegulationCapacity() + ")"); return result; }
Tariff tariff = tariffRepo.findTariffById(order.getTariffId()); if (null == tariff) {
if (null != controls) { for (EconomicControlEvent event : controls) { Tariff tariff = tariffRepo.findTariffById(event.getTariffId()); if (null == tariff) {
/** * Handles pending vru messages */ private void processPendingVrus () { for (VariableRateUpdate vru: getVruList()) { Tariff tariff = tariffRepo.findTariffById(vru.getTariffId()); if (tariff.addHourlyCharge(vru.getHourlyCharge(), vru.getRateId())) { success(vru); } else { // failed to add hourly charge send(new TariffStatus(vru.getBroker(), vru.getTariffId(), vru.getId(), TariffStatus.Status.invalidUpdate) .withMessage("update: could not add hourly charge")); } } }
private ValidationResult validateUpdate (TariffUpdate update) { Broker broker = update.getBroker(); Tariff tariff = tariffRepo.findTariffById(update.getTariffId()); if (tariff == null) { log.error("update - no such tariff " + update.getTariffId() + ", broker " + update.getBroker().getUsername()); return new ValidationResult(null, new TariffStatus(broker, update.getTariffId(), update.getId(), TariffStatus.Status.noSuchTariff)); } if (broker != tariff.getBroker()) { log.error("update - attempt by " + broker.getUsername() + " to revoke " + tariff.getBroker() + "'s tariff"); return new ValidationResult(null, new TariffStatus(broker, update.getTariffId(), update.getId(), TariffStatus.Status.invalidTariff)); } return new ValidationResult(tariff, new TariffStatus(broker, update.getTariffId(), update.getId(), TariffStatus.Status.success)); }