List of usage examples for org.apache.commons.lang3.time DateUtils addDays
public static Date addDays(final Date date, final int amount)
From source file:alfio.manager.TicketReservationManagerIntegrationTest.java
@Test(expected = TicketReservationManager.NotEnoughTicketsException.class) public void testTicketSelectionNotEnoughTicketsAvailable() { List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null, "default", AVAILABLE_SEATS, new DateTimeModification(LocalDate.now(), LocalTime.now()), new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "", false, null, null, null, null, null)); Event event = initEvent(categories, organizationRepository, userManager, eventManager, eventRepository) .getKey();/*w ww. j a v a 2 s .c o m*/ TicketCategory unbounded = ticketCategoryRepository.findByEventId(event.getId()).stream() .filter(t -> !t.isBounded()).findFirst().orElseThrow(IllegalStateException::new); TicketReservationModification tr = new TicketReservationModification(); tr.setAmount(AVAILABLE_SEATS + 1); tr.setTicketCategoryId(unbounded.getId()); TicketReservationWithOptionalCodeModification mod = new TicketReservationWithOptionalCodeModification(tr, Optional.empty()); ticketReservationManager.createTicketReservation(event, Collections.singletonList(mod), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); }
From source file:alfio.manager.WaitingQueueManagerIntegrationTest.java
@Test public void testAssignTicketToWaitingQueueBoundedCategory() { LocalDateTime start = LocalDateTime.now().minusMinutes(2); LocalDateTime end = LocalDateTime.now().plusMinutes(20); List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null, "default", AVAILABLE_SEATS, new DateTimeModification(start.toLocalDate(), start.toLocalTime()), new DateTimeModification(end.toLocalDate(), end.toLocalTime()), DESCRIPTION, BigDecimal.TEN, false, "", true, null, null, null, null, null)); configurationManager.saveSystemConfiguration(ConfigurationKeys.ENABLE_WAITING_QUEUE, "true"); Event event = initEvent(categories, organizationRepository, userManager, eventManager, eventRepository) .getKey();/*from www . ja v a 2s .com*/ TicketCategory bounded = ticketCategoryRepository.findByEventId(event.getId()).get(0); TicketReservationModification tr = new TicketReservationModification(); tr.setAmount(AVAILABLE_SEATS - 1); tr.setTicketCategoryId(bounded.getId()); TicketReservationModification tr2 = new TicketReservationModification(); tr2.setAmount(1); tr2.setTicketCategoryId(bounded.getId()); TicketReservationWithOptionalCodeModification multi = new TicketReservationWithOptionalCodeModification(tr, Optional.empty()); TicketReservationWithOptionalCodeModification single = new TicketReservationWithOptionalCodeModification( tr2, Optional.empty()); String reservationId = ticketReservationManager.createTicketReservation(event, Collections.singletonList(multi), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); TotalPrice reservationCost = ticketReservationManager.totalReservationCostWithVAT(reservationId); PaymentResult result = ticketReservationManager.confirm("", null, event, reservationId, "test@test.ch", new CustomerName("Full Name", "Full", "Name", event), Locale.ENGLISH, "", reservationCost, Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null, null, null); assertTrue(result.isSuccessful()); String reservationIdSingle = ticketReservationManager.createTicketReservation(event, Collections.singletonList(single), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); TotalPrice reservationCostSingle = ticketReservationManager .totalReservationCostWithVAT(reservationIdSingle); PaymentResult resultSingle = ticketReservationManager.confirm("", null, event, reservationIdSingle, "test@test.ch", new CustomerName("Full Name", "Full", "Name", event), Locale.ENGLISH, "", reservationCostSingle, Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null, null, null); assertTrue(resultSingle.isSuccessful()); assertEquals(0, eventRepository.findStatisticsFor(event.getId()).getDynamicAllocation()); assertTrue( waitingQueueManager.subscribe(event, customerJohnDoe(event), "john@doe.com", null, Locale.ENGLISH)); ticketReservationManager.deleteOfflinePayment(event, reservationIdSingle, false); List<Triple<WaitingQueueSubscription, TicketReservationWithOptionalCodeModification, ZonedDateTime>> subscriptions = waitingQueueManager .distributeSeats(event).collect(Collectors.toList()); assertEquals(1, subscriptions.size()); Triple<WaitingQueueSubscription, TicketReservationWithOptionalCodeModification, ZonedDateTime> subscriptionDetail = subscriptions .get(0); assertEquals("john@doe.com", subscriptionDetail.getLeft().getEmailAddress()); TicketReservationWithOptionalCodeModification reservation = subscriptionDetail.getMiddle(); assertEquals(Integer.valueOf(bounded.getId()), reservation.getTicketCategoryId()); assertEquals(Integer.valueOf(1), reservation.getAmount()); assertTrue(subscriptionDetail.getRight().isAfter(ZonedDateTime.now())); }
From source file:com.inkubator.hrm.service.impl.WtScheduleShiftServiceImpl.java
@Override @Cacheable(value = "allRegulerOffDaysBetween") @Transactional(readOnly = true, isolation = Isolation.REPEATABLE_READ, propagation = Propagation.SUPPORTS, timeout = 50) public Set<Date> getAllRegulerOffDaysBetween(Date startDate, Date endDate) throws Exception { Set<Date> offDays = new HashSet<Date>(); List<TempJadwalKaryawan> tempJadwalKaryawans = new ArrayList<TempJadwalKaryawan>(); WtGroupWorking workingGroup = wtGroupWorkingDao.getByCode(HRMConstant.WORKING_GROUP_CODE_DEFAULT); //loop date-nya, check jadwal berdasarkan kelompok kerja if (workingGroup != null) { for (Date loop = startDate; loop.before(endDate) || DateUtils.isSameDay(loop, endDate); loop = DateUtils.addDays(loop, 1)) { TempJadwalKaryawan jadwal = Lambda.selectFirst(tempJadwalKaryawans, Lambda.having(Lambda.on(TempJadwalKaryawan.class).getTanggalWaktuKerja().getTime(), Matchers.equalTo(loop.getTime()))); if (jadwal == null) { //jika tidak terdapat jadwal kerja di date tersebut, maka generate jadwal kerja temporary-nya, lalu check kembali jadwal kerja-nya List<TempJadwalKaryawan> jadwalKaryawans = this.getAllScheduleForView(workingGroup.getId(), loop, null);//from w w w. j a v a 2 s. c om tempJadwalKaryawans.addAll(jadwalKaryawans); jadwal = Lambda.selectFirst(tempJadwalKaryawans, Lambda.having(Lambda.on(TempJadwalKaryawan.class).getTanggalWaktuKerja().getTime(), Matchers.equalTo(loop.getTime()))); } //hanya yg "OFF"(hari libur) saja if (jadwal != null) { if (StringUtils.equals(jadwal.getWtWorkingHour().getCode(), "OFF")) { offDays.add(jadwal.getTanggalWaktuKerja()); } } } } //loop holiday nya List<WtHoliday> listHoliday = wtHolidayDao.getBetweenDate(startDate, endDate); for (WtHoliday holiday : listHoliday) { offDays.add(holiday.getHolidayDate()); } return offDays; }
From source file:de.tor.tribes.util.algo.types.TimeFrame.java
public List<Range<Long>> arriveTimespansToRanges() { List<Range<Long>> ranges = new LinkedList<>(); Date arriveDate = DateUtils.truncate(new Date(arriveNotBefore), Calendar.DAY_OF_MONTH); for (TimeSpan span : arriveTimeSpans) { if (!span.isValidAtEveryDay()) { Range<Long> range; //just copy range range = Range.between(span.getSpan().getMinimum(), span.getSpan().getMaximum()); if (range.getMaximum() > System.currentTimeMillis()) { if (range.getMinimum() <= System.currentTimeMillis()) { //rebuild Range range = Range.between(System.currentTimeMillis(), range.getMaximum()); }//from w w w . j a va 2s. c o m //add range only if it is in future ranges.add(range); } } else { //span is valid for every day Date thisDate = new Date(arriveDate.getTime()); //go through all days from start to end while (thisDate.getTime() < arriveNotAfter) { long spanStart = thisDate.getTime() + span.getSpan().getMinimum(); long spanEnd = thisDate.getTime() + span.getSpan().getMaximum(); Range<Long> newRange = null; //check span location relative to start frame if (spanStart >= arriveNotBefore && spanEnd > arriveNotBefore && spanStart < arriveNotAfter && spanEnd <= arriveNotAfter) { //|----------| (startNotBefore - startNotAfter) // |----| (SpanStart - SpanEnd) newRange = Range.between(spanStart, spanEnd); } else if (spanStart < arriveNotBefore && spanEnd > arriveNotBefore && spanStart < arriveNotAfter && spanEnd <= arriveNotAfter) { // |----------| (startNotBefore - startNotAfter) //|----| (SpanStart - SpanEnd) //set span start to 'startNotBefore' newRange = Range.between(arriveNotBefore, spanEnd); } else if (spanStart <= arriveNotBefore && spanEnd > arriveNotBefore && spanStart > arriveNotAfter && spanEnd >= arriveNotAfter) { // |----------| (startNotBefore - startNotAfter) //|--------------| (SpanStart - SpanEnd) //set span start to 'startNotBefore' newRange = Range.between(arriveNotBefore, arriveNotAfter); } else if (spanStart >= arriveNotBefore && spanEnd > arriveNotBefore && spanStart < arriveNotAfter && spanEnd >= arriveNotAfter) { //|----------| (startNotBefore - startNotAfter) // |---------| (SpanStart - SpanEnd) //set span start to 'startNotBefore' newRange = Range.between(spanStart, arriveNotAfter); } if (newRange != null) { if (newRange.getMinimum() < System.currentTimeMillis()) { //check minimum as current minimum is in past if (newRange.getMaximum() > System.currentTimeMillis()) { newRange = Range.between(System.currentTimeMillis(), newRange.getMaximum()); ranges.add(newRange); } //ignore as entire range is in past } else { //add range as it is in future ranges.add(newRange); } } //increment current date by one day thisDate = DateUtils.addDays(thisDate, 1); } } } Collections.sort(ranges, new Comparator<Range<Long>>() { @Override public int compare(Range<Long> o1, Range<Long> o2) { return o1.getMinimum().compareTo(o2.getMinimum()); } }); return ranges; }
From source file:gov.nih.nci.firebird.service.annual.registration.AnnualRegistrationServiceBean.java
@SuppressWarnings("unchecked") // Hibernate list() method is untyped private List<AnnualRegistration> getUnSubmittedWithoutReminderSentRegistrationsWithinSecondNotificationWindow() { Query query = getSession()//from ww w . j av a2s. c o m .createQuery(UNSUBMITTED_WITHOUT_REMINDER_SENT_REGISTRATIONS_WITH_DUE_DATES_BEFORE_DATE_HQL); Date date = DateUtils.addDays(new Date(), daysBeforeDueDateToSendSecondNotification); query.setDate("date", date); return query.list(); }
From source file:alfio.manager.TicketReservationManagerIntegrationTest.java
@Test public void testDeletePendingPaymentUnboundedCategory() { List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null, "default", AVAILABLE_SEATS, new DateTimeModification(LocalDate.now(), LocalTime.now()), new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "", false, null, null, null, null, null)); Event event = initEvent(categories, organizationRepository, userManager, eventManager, eventRepository) .getKey();/* ww w.j a v a2 s .co m*/ TicketCategory unbounded = ticketCategoryRepository.findByEventId(event.getId()).get(0); TicketReservationModification tr = new TicketReservationModification(); tr.setAmount(AVAILABLE_SEATS / 2 + 1); tr.setTicketCategoryId(unbounded.getId()); TicketReservationWithOptionalCodeModification mod = new TicketReservationWithOptionalCodeModification(tr, Optional.empty()); String reservationId = ticketReservationManager.createTicketReservation(event, Collections.singletonList(mod), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); TotalPrice reservationCost = ticketReservationManager.totalReservationCostWithVAT(reservationId); PaymentResult result = ticketReservationManager.confirm("", null, event, reservationId, "test@test.ch", new CustomerName("full name", "full", "name", event), Locale.ENGLISH, "", reservationCost, Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null, null, null); assertTrue(result.isSuccessful()); ticketReservationManager.deleteOfflinePayment(event, reservationId, false); waitingQueueManager.distributeSeats(event); mod = new TicketReservationWithOptionalCodeModification(tr, Optional.empty()); reservationId = ticketReservationManager.createTicketReservation(event, Collections.singletonList(mod), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); reservationCost = ticketReservationManager.totalReservationCostWithVAT(reservationId); result = ticketReservationManager.confirm("", null, event, reservationId, "test@test.ch", new CustomerName("full name", "full", "name", event), Locale.ENGLISH, "", reservationCost, Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null, null, null); assertTrue(result.isSuccessful()); }
From source file:com.feilong.core.date.DateUtil.java
/** * <code>date</code>? ( {@link java.util.Calendar#DAY_OF_MONTH}?,??),,. * //from w ww . j a va2s . com * <p> * ?<code>date</code>?? * </p> * * <h3>:</h3> * * <blockquote> * * <pre class="code"> * DateUtil.addDay(2012-06-29 00:42:26,5) =2012-07-04 00:42:26 * DateUtil.addDay(2012-06-29 00:42:26,-5) =2012-06-24 00:42:26 * DateUtil.addDay(2014-12-31 02:10:05,5) =2015-01-05 02:10:05.000 * DateUtil.addDay(2014-01-01 02:10:05,-5) =2013-12-27 02:10:05.000 * </pre> * * </blockquote> * * @param date * ? * @param day * ??,<span style="color:red">?</span>,??<br> * @return <code>date</code>null, {@link java.lang.IllegalArgumentException} * @see Calendar#DAY_OF_MONTH * @see org.apache.commons.lang3.time.DateUtils#addDays(Date, int) */ public static Date addDay(Date date, int day) { // Calendar.DAY_OF_MONTH Calendar.DATE ??. 1. return DateUtils.addDays(date, day); }
From source file:alfio.manager.AdminReservationManagerIntegrationTest.java
private Triple<Event, String, TicketReservation> performExistingCategoryTest( List<TicketCategoryModification> categories, boolean bounded, List<Integer> attendeesNr, boolean addSeatsIfNotAvailable, boolean expectSuccess, int reservedTickets, int expectedEventSeats) { assertEquals("Test error: categories' size must be equal to attendees' size", categories.size(), attendeesNr.size());//w ww . j av a 2s. c o m Pair<Event, String> eventWithUsername = initEvent(categories, organizationRepository, userManager, eventManager, eventRepository); Event event = eventWithUsername.getKey(); String username = eventWithUsername.getValue(); DateTimeModification expiration = DateTimeModification.fromZonedDateTime(ZonedDateTime.now().plusDays(1)); CustomerData customerData = new CustomerData("Integration", "Test", "integration-test@test.ch", "Billing Address", "en"); Iterator<Integer> attendeesIterator = attendeesNr.iterator(); List<TicketCategory> existingCategories = ticketCategoryRepository.findByEventId(event.getId()); List<Attendee> allAttendees = new ArrayList<>(); List<TicketsInfo> ticketsInfoList = existingCategories.stream().map(existingCategory -> { Category category = new Category(existingCategory.getId(), existingCategory.getName(), existingCategory.getPrice()); List<Attendee> attendees = generateAttendees(attendeesIterator.next()); allAttendees.addAll(attendees); return new TicketsInfo(category, attendees, addSeatsIfNotAvailable, false); }).collect(toList()); AdminReservationModification modification = new AdminReservationModification(expiration, customerData, ticketsInfoList, "en", false, null); if (reservedTickets > 0) { TicketReservationModification trm = new TicketReservationModification(); trm.setAmount(reservedTickets); trm.setTicketCategoryId(existingCategories.get(0).getId()); TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.empty()); ticketReservationManager.createTicketReservation(event, Collections.singletonList(r), Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(), Locale.ENGLISH, false); } Result<Pair<TicketReservation, List<Ticket>>> result = adminReservationManager .createReservation(modification, event.getShortName(), username); if (expectSuccess) { validateSuccess(bounded, attendeesNr, event, username, existingCategories, result, allAttendees, expectedEventSeats, reservedTickets); } else { assertFalse(result.isSuccess()); return null; } return Triple.of(eventWithUsername.getLeft(), eventWithUsername.getRight(), result.getData().getKey()); }
From source file:com.silverpeas.gallery.dao.MediaDaoTest.java
@Test public void getAllMediaIdByUserId() throws Exception { performDAOTest(new DAOTest() { @Override/* ww w . j a va 2s. c om*/ public void test(final Connection connection) throws Exception { Date beginDate = DateUtils.addDays(CREATE_DATE, +1); Date endDate = DateUtils.addDays(CREATE_DATE, +2); List<SocialInformation> socialInformationList = MediaDAO.getAllMediaIdByUserId(connection, writerUser.getId(), Period.from(beginDate, endDate)); assertThat(socialInformationList, hasSize(0)); beginDate = DateUtils.addDays(CREATE_DATE, 0); endDate = DateUtils.addDays(CREATE_DATE, +2); socialInformationList = MediaDAO.getAllMediaIdByUserId(connection, writerUser.getId(), Period.from(beginDate, endDate)); assertThat(socialInformationList, hasSize(1)); beginDate = DateUtils.addDays(LAST_UPDATE_DATE, -2); endDate = DateUtils.addDays(LAST_UPDATE_DATE, +2); socialInformationList = MediaDAO.getAllMediaIdByUserId(connection, writerUser.getId(), Period.from(beginDate, endDate)); assertThat(socialInformationList, hasSize(1)); } }); }
From source file:alfio.manager.system.DataMigratorIntegrationTest.java
@Test public void testFixStuckTickets() { List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null, "default", AVAILABLE_SEATS, new DateTimeModification(LocalDate.now(), LocalTime.now()), new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "", false, null, null, null, null, null)); Pair<Event, String> eventUsername = initEvent(categories); Event event = eventUsername.getKey(); TicketReservationModification trm = new TicketReservationModification(); trm.setAmount(1);//www. j av a 2s .c o m trm.setTicketCategoryId(eventManager.loadTicketCategories(event).get(0).getId()); TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.empty()); Date expiration = DateUtils.addDays(new Date(), 1); String reservationId = ticketReservationManager.createTicketReservation(event, Collections.singletonList(r), Collections.emptyList(), expiration, Optional.empty(), Optional.empty(), Locale.ENGLISH, false); //simulate the effect of a reservation cancellation after #392, as described in #391 ticketReservationRepository.updateReservationStatus(reservationId, TicketReservation.TicketReservationStatus.CANCELLED.name()); List<Ticket> ticketsInReservation = ticketRepository.findTicketsInReservation(reservationId); assertEquals(1, ticketsInReservation.size()); String uuid = ticketsInReservation.get(0).getUuid(); assertTrue(ticketsInReservation.stream().allMatch(t -> t.getStatus() == Ticket.TicketStatus.PENDING)); dataMigrator.fixStuckTickets(event.getId()); assertTrue(ticketRepository.findByUUID(uuid).getStatus() == Ticket.TicketStatus.RELEASED); }