List of usage examples for org.joda.time Months ONE
Months ONE
To view the source code for org.joda.time Months ONE.
Click Source Link
From source file:energy.usef.brp.workflow.settlement.send.BrpSendSettlementMessagesCoordinator.java
License:Apache License
/** * This method starts the workflow when triggered by an event. * * @param event {@link SendSettlementMessageEvent} event which starts the workflow. *//*from w ww. j av a 2 s . c o m*/ public void invokeWorkflow(@Observes SendSettlementMessageEvent event) { LOGGER.debug(USEFConstants.LOG_COORDINATOR_START_HANDLING_EVENT, event); LocalDate dateFrom = new LocalDate(event.getYear(), event.getMonth(), 1); LocalDate dateUntil = dateFrom.plus(Months.ONE).minusDays(1); LOGGER.debug("SendSettlementMessageEvent for {} until {}.", dateFrom, dateUntil); // Fetch all aggregators having active connections in the period defined by [dateFrom, dateUntil] . List<String> aggregators = corePlanboardBusinessService .findConnectionGroupWithConnectionsWithOverlappingValidity(dateFrom, dateUntil).values().stream() .flatMap(map -> map.keySet().stream()) .map(connectionGroup -> ((AgrConnectionGroup) connectionGroup).getAggregatorDomain()).distinct() .collect(Collectors.toList()); // Fetch all FlexOrderSettlement for the period Map<String, List<energy.usef.core.model.FlexOrderSettlement>> flexOrderSettlementPerAggregator = coreSettlementBusinessService .findFlexOrderSettlementsForPeriod(dateFrom, dateUntil, Optional.empty(), Optional.empty()).stream() .collect(Collectors.groupingBy( flexOrderSettlement -> flexOrderSettlement.getFlexOrder().getParticipantDomain())); if (aggregators.isEmpty()) { LOGGER.error( "SendSettlementMessageEvent triggered while there are no aggregators eligible for settlement."); return; } for (String aggregator : aggregators) { SettlementMessage settlementMessage = buildSettlementMessage( flexOrderSettlementPerAggregator.get(aggregator), dateFrom); populateSettlementMessageData(settlementMessage, aggregator, dateFrom, dateUntil); storeSettlementMessage(aggregator, flexOrderSettlementPerAggregator.get(aggregator)); jmsHelperService.sendMessageToOutQueue(XMLUtil.messageObjectToXml(settlementMessage)); } LOGGER.debug(USEFConstants.LOG_COORDINATOR_FINISHED_HANDLING_EVENT, event); }
From source file:energy.usef.dso.workflow.settlement.send.DsoSendSettlementMessagesCoordinator.java
License:Apache License
/** * This method starts the workflow when triggered by an event. * * @param event {@link SendSettlementMessageEvent} event which starts the workflow. */// w ww . j ava 2 s . c o m public void invokeWorkflow(@Observes SendSettlementMessageEvent event) { LOGGER.debug(USEFConstants.LOG_COORDINATOR_START_HANDLING_EVENT, event); LocalDate dateFrom = new LocalDate(event.getYear(), event.getMonth(), 1); LocalDate dateUntil = dateFrom.plus(Months.ONE).minusDays(1); // Fetch all aggregators having ptusettlement in the period defined by [dateFrom, dateUntil]. List<String> aggregators = dsoPlanboardBusinessService .findAggregatorsWithOverlappingActivityForPeriod(dateFrom, dateUntil).stream() .map(AggregatorOnConnectionGroupState::getAggregator).map(Aggregator::getDomain).distinct() .collect(Collectors.toList()); // Fetch all FlexOrderSettlement for the period Map<String, List<energy.usef.core.model.FlexOrderSettlement>> flexOrderSettlementPerAggregator = coreSettlementBusinessService .findFlexOrderSettlementsForPeriod(dateFrom, dateUntil, Optional.empty(), Optional.empty()).stream() .collect(Collectors.groupingBy( flexOrderSettlement -> flexOrderSettlement.getFlexOrder().getParticipantDomain())); for (String aggregator : aggregators) { SettlementMessage settlementMessage = buildSettlementMessage( flexOrderSettlementPerAggregator.get(aggregator), dateFrom); populateSettlementMessageData(settlementMessage, aggregator, dateFrom, dateUntil); storeSettlementMessage(aggregator, flexOrderSettlementPerAggregator.get(aggregator)); jmsHelperService.sendMessageToOutQueue(XMLUtil.messageObjectToXml(settlementMessage)); } LOGGER.debug(USEFConstants.LOG_COORDINATOR_FINISHED_HANDLING_EVENT, event); }
From source file:net.schweerelos.timeline.model.Timeline.java
License:Open Source License
private void recalculate() { if (start == null || end == null) { logger.warn("recalculating aborted, start and/or end is null"); numSlices = 0;/*from w ww. ja v a 2 s. c o m*/ return; } Interval interval = new Interval(start, end); if (Years.yearsIn(interval).isGreaterThan(Years.ZERO)) { // make it start at the start of the current increment mode start = start.withDayOfYear(start.dayOfYear().getMinimumValue()); end = end.withDayOfYear(end.dayOfYear().getMaximumValue()); interval = new Interval(start, end); // figure out number of slices numSlices = Years.yearsIn(interval).getYears(); if (start.plusYears(numSlices).isBefore(end)) { numSlices += 1; } // update label extractor sliceLabelExtractor = new SliceLabelExtractor() { @Override public String extractLabel(DateTime from) { return from.year().getAsShortText(); } }; // update increment increment = Years.ONE.toPeriod(); incrementMode = Mode.Years; } else if (Months.monthsIn(interval).isGreaterThan(Months.ZERO)) { // make it start at the start of the current increment mode start = start.withDayOfMonth(start.dayOfMonth().getMinimumValue()); end = end.withDayOfMonth(end.dayOfMonth().getMaximumValue()); interval = new Interval(start, end); numSlices = Months.monthsIn(interval).getMonths(); if (start.plusMonths(numSlices).isBefore(end)) { numSlices += 1; } sliceLabelExtractor = new SliceLabelExtractor() { @Override public String extractLabel(DateTime from) { return from.monthOfYear().getAsShortText(); } }; increment = Months.ONE.toPeriod(); incrementMode = Mode.Months; } else if (Weeks.weeksIn(interval).isGreaterThan(Weeks.ZERO)) { start = start.withDayOfWeek(start.dayOfWeek().getMinimumValue()); end = end.withDayOfWeek(end.dayOfWeek().getMaximumValue()); interval = new Interval(start, end); numSlices = Weeks.weeksIn(interval).getWeeks(); if (start.plusWeeks(numSlices).isBefore(end)) { numSlices += 1; } sliceLabelExtractor = new SliceLabelExtractor() { @Override public String extractLabel(DateTime from) { return "W" + from.weekOfWeekyear().getAsShortText(); } }; increment = Weeks.ONE.toPeriod(); incrementMode = Mode.Weeks; } else { numSlices = Days.daysIn(interval).getDays(); if (start.plusDays(numSlices).isBefore(end)) { numSlices += 1; } if (numSlices == 0) { // force at least one day to be drawn numSlices = 1; } sliceLabelExtractor = new SliceLabelExtractor() { @Override public String extractLabel(DateTime from) { return from.dayOfMonth().getAsShortText(); } }; increment = Days.ONE.toPeriod(); incrementMode = Mode.Days; } // reset time of day too start = start.withMillisOfDay(start.millisOfDay().getMinimumValue()); end = end.withMillisOfDay(end.millisOfDay().getMaximumValue()); // recalculate which intervals are within range intervalsWithinRange.clear(); intervalsWithinRange.addAll(calculateIntervalsWithinRange(start, end)); // notify listeners changeSupport.firePropertyChange(INTERVAL_PROPERTY_KEY, interval, new Interval(start, end)); }
From source file:org.whole.lang.xsd.parsers.SchemaDataTypeParsers.java
License:Open Source License
public static IDataTypeParser yearMonth() { if (yearMonthDataTypeParser == null) { yearMonthDataTypeParser = new AbstractISO8601DataTypeParser(yearMonthFormatter()) { protected Object parseWithTimeZone(DateTimeParserBucket bucket) { DateTimeZone zone = DateTimeZone.forOffsetMillis(bucket.getOffset()); return new Interval(new DateTime(bucket.computeMillis(), validate(zone)), Months.ONE); }/*from w w w. j ava 2s . c o m*/ protected Object parseWithoutTimeZone(DateTimeParserBucket bucket) { return new LocalDate(bucket.computeMillis()); } }; } return yearMonthDataTypeParser; }
From source file:org.whole.lang.xsd.parsers.SchemaDataTypeParsers.java
License:Open Source License
public static IDataTypeParser month() { if (monthDataTypeParser == null) { monthDataTypeParser = new AbstractISO8601DataTypeParser(monthFormatter()) { protected Object parseWithTimeZone(DateTimeParserBucket bucket) { DateTimeZone zone = DateTimeZone.forOffsetMillis(bucket.getOffset()); return new Interval(new DateTime(bucket.computeMillis(), validate(zone)), Months.ONE); }// w w w.j ava 2 s.c om protected Object parseWithoutTimeZone(DateTimeParserBucket bucket) { return new LocalDate(bucket.computeMillis()); } }; } return monthDataTypeParser; }
From source file:org.zkoss.ganttz.timetracker.zoom.DetailFourTimeTrackerState.java
License:Open Source License
@Override protected Iterator<LocalDate> getPeriodsFirstLevelGenerator(LocalDate start) { return new LazyGenerator<LocalDate>(start) { @Override/* w w w . ja va2 s . c o m*/ protected LocalDate next(LocalDate last) { return last.plus(Months.ONE); } }; }