Example usage for org.apache.commons.lang3.time DateUtils addDays

List of usage examples for org.apache.commons.lang3.time DateUtils addDays

Introduction

In this page you can find the example usage for org.apache.commons.lang3.time DateUtils addDays.

Prototype

public static Date addDays(final Date date, final int amount) 

Source Link

Document

Adds a number of days to a date returning a new object.

Usage

From source file:alfio.manager.TicketReservationManagerIntegrationTest.java

@Test
public void testTicketSelection() {
    List<TicketCategoryModification> categories = Arrays.asList(
            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),
            new TicketCategoryModification(null, "default", 10,
                    new DateTimeModification(LocalDate.now(), LocalTime.now()),
                    new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN,
                    false, "", true, null, null, null, null, null));
    Pair<Event, String> eventAndUsername = initEvent(categories, organizationRepository, userManager,
            eventManager, eventRepository);
    Event event = eventAndUsername.getKey();

    TicketCategory bounded = ticketCategoryRepository.findByEventId(event.getId()).stream()
            .filter(TicketCategory::isBounded).findFirst().orElseThrow(IllegalStateException::new);
    TicketCategory unbounded = ticketCategoryRepository.findByEventId(event.getId()).stream()
            .filter(t -> !t.isBounded()).findFirst().orElseThrow(IllegalStateException::new);

    assertEquals(0, eventStatisticsManager.loadModifiedTickets(event.getId(), bounded.getId(), 0, null).size());
    assertEquals(Integer.valueOf(0),
            eventStatisticsManager.countModifiedTicket(event.getId(), bounded.getId(), null));
    assertEquals(0,//  ww w  .j  a v a  2s. c  o m
            eventStatisticsManager.loadModifiedTickets(event.getId(), unbounded.getId(), 0, null).size());

    TicketReservationModification tr = new TicketReservationModification();
    tr.setAmount(10);
    tr.setTicketCategoryId(bounded.getId());

    TicketReservationModification tr2 = new TicketReservationModification();
    tr2.setAmount(9);
    tr2.setTicketCategoryId(unbounded.getId());

    TicketReservationWithOptionalCodeModification mod = new TicketReservationWithOptionalCodeModification(tr,
            Optional.empty());
    TicketReservationWithOptionalCodeModification mod2 = new TicketReservationWithOptionalCodeModification(tr2,
            Optional.empty());
    String reservationId = ticketReservationManager.createTicketReservation(event, Arrays.asList(mod, mod2),
            Collections.emptyList(), DateUtils.addDays(new Date(), 1), Optional.empty(), Optional.empty(),
            Locale.ENGLISH, false);

    List<TicketReservation> reservations = ticketReservationManager
            .findAllReservationsInEvent(event.getId(), 0, null, null).getKey();
    assertTrue(reservations.size() == 1);
    assertEquals(reservationId, reservations.get(0).getId());

    List<Ticket> pendingTickets = ticketRepository
            .findPendingTicketsInCategories(Arrays.asList(bounded.getId(), unbounded.getId()));
    assertEquals(19, pendingTickets.size());
    pendingTickets.forEach(t -> assertEquals(1000, t.getFinalPriceCts()));
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertEquals(1, tickets.size());
    assertTrue(tickets.stream().allMatch(t -> t.getCategoryId() == null));

    TotalPrice totalPrice = ticketReservationManager.totalReservationCostWithVAT(reservationId);

    assertEquals(0, ticketReservationManager.getPendingPayments(event).size());

    PaymentResult confirm = ticketReservationManager.confirm(null, null, event, reservationId,
            "email@example.com", new CustomerName("full name", "full", "name", event), Locale.ENGLISH,
            "billing address", totalPrice, Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null,
            null, null);

    assertTrue(confirm.isSuccessful());

    assertEquals(TicketReservation.TicketReservationStatus.OFFLINE_PAYMENT,
            ticketReservationManager.findById(reservationId).get().getStatus());

    assertEquals(1, ticketReservationManager.getPendingPayments(event).size());

    Date now = new Date();
    Date from = DateUtils.addDays(now, -1);
    Date to = DateUtils.addDays(now, 1);

    assertTrue(ticketReservationRepository.getSoldStatistic(event.getId(), from, to).isEmpty()); // -> no reservations
    ticketReservationManager.validateAndConfirmOfflinePayment(reservationId, event, new BigDecimal("190.00"),
            eventAndUsername.getValue());

    assertEquals(19,
            ticketReservationRepository.getSoldStatistic(event.getId(), from, to).get(0).getTicketSoldCount()); // -> 19 tickets reserved

    assertEquals(10,
            eventStatisticsManager.loadModifiedTickets(event.getId(), bounded.getId(), 0, null).size());
    assertEquals(Integer.valueOf(10),
            eventStatisticsManager.countModifiedTicket(event.getId(), bounded.getId(), null));
    assertEquals(9,
            eventStatisticsManager.loadModifiedTickets(event.getId(), unbounded.getId(), 0, null).size());
    assertEquals(Integer.valueOf(9),
            eventStatisticsManager.countModifiedTicket(event.getId(), unbounded.getId(), null));

    assertEquals(TicketReservation.TicketReservationStatus.COMPLETE,
            ticketReservationManager.findById(reservationId).get().getStatus());

    //-------------------

    TicketReservationModification trForDelete = new TicketReservationModification();
    trForDelete.setAmount(1);
    trForDelete.setTicketCategoryId(unbounded.getId());
    TicketReservationWithOptionalCodeModification modForDelete = new TicketReservationWithOptionalCodeModification(
            trForDelete, Optional.empty());
    String reservationId2 = ticketReservationManager.createTicketReservation(event,
            Collections.singletonList(modForDelete), Collections.emptyList(), DateUtils.addDays(new Date(), 1),
            Optional.empty(), Optional.empty(), Locale.ENGLISH, false);

    ticketReservationManager.confirm(null, null, event, reservationId2, "email@example.com",
            new CustomerName("full name", "full", "name", event), Locale.ENGLISH, "billing address", totalPrice,
            Optional.empty(), Optional.of(PaymentProxy.OFFLINE), false, null, null, null);

    assertTrue(ticketReservationManager.findById(reservationId2).isPresent());

    ticketReservationManager.deleteOfflinePayment(event, reservationId2, false);

    Assert.assertFalse(ticketReservationManager.findById(reservationId2).isPresent());
}

From source file:io.lavagna.service.EventRepositoryTest.java

@Test
public void testGetLatestActivity() {
    Date yesterday = DateUtils.addDays(new Date(), -1);
    List<Event> events = eventRepository.getLatestActivity(user.getId(), yesterday);
    Assert.assertEquals(1, events.size());
}

From source file:io.lavagna.service.EventRepositoryTest.java

@Test
public void testGetLatestActivityByProjects() {
    Date yesterday = DateUtils.addDays(new Date(), -1);
    List<Event> events = eventRepository.getLatestActivityByProjects(user.getId(), yesterday,
            Arrays.asList(project.getId()));
    Assert.assertEquals(1, events.size());
}

From source file:alfio.controller.ReservationFlowIntegrationTest.java

/**
 * Test a complete offline payment flow.
 * Will not check in detail...// ww w.jav a 2  s  . c om
 */
@Test
public void reservationFlowTest() throws Exception {

    String eventName = event.getShortName();

    assertTrue(checkInManager.findAllFullTicketInfo(event.getId()).isEmpty());

    List<EventStatistic> eventStatistic = eventStatisticsManager.getAllEventsWithStatistics(user);
    assertEquals(1, eventStatistic.size());
    assertTrue(eventStatisticsManager
            .getTicketSoldStatistics(event.getId(), new Date(0), DateUtils.addDays(new Date(), 1)).isEmpty());
    EventWithAdditionalInfo eventWithAdditionalInfo = eventStatisticsManager
            .getEventWithAdditionalInfo(event.getShortName(), user);
    assertEquals(0, eventWithAdditionalInfo.getNotSoldTickets());
    assertEquals(0, eventWithAdditionalInfo.getSoldTickets());
    assertEquals(20, eventWithAdditionalInfo.getAvailableSeats());

    eventManager.toggleActiveFlag(event.getId(), user, true);
    // list events
    String eventList = eventController.listEvents(new BindingAwareModelMap(), Locale.ENGLISH);
    if (eventManager.getPublishedEvents().size() == 1) {
        Assert.assertTrue(eventList.startsWith("redirect:/"));
    } else {
        assertEquals("/event/event-list", eventList);
    }
    //

    // show event
    String showEvent = eventController.showEvent(eventName, new BindingAwareModelMap(),
            new MockHttpServletRequest(), Locale.ENGLISH);
    assertEquals("/event/show-event", showEvent);
    //

    // check calendar
    checkCalendar(eventName);
    //

    String redirectResult = reserveTicket(eventName);
    String redirectStart = "redirect:/event/" + eventName + "/reservation/";
    // check reservation success
    Assert.assertTrue(redirectResult.startsWith(redirectStart));
    Assert.assertTrue(redirectResult.endsWith("/book"));
    //

    String reservationIdentifier = redirectResult.substring(redirectStart.length()).replace("/book", "");

    // check that the payment page is shown
    String reservationPage = reservationController.showPaymentPage(eventName, reservationIdentifier, null, null,
            null, null, null, null, null, null, null, null, null, new BindingAwareModelMap(), Locale.ENGLISH);
    assertEquals("/event/reservation-page", reservationPage);
    //

    // pay offline
    String successPage = payOffline(eventName, reservationIdentifier);
    assertEquals("redirect:/event/" + eventName + "/reservation/" + reservationIdentifier + "/success",
            successPage);
    //

    //go to success page, payment is still pending
    String confirmationPage = reservationController.showConfirmationPage(eventName, reservationIdentifier,
            false, false, new BindingAwareModelMap(), Locale.ENGLISH, new MockHttpServletRequest());
    Assert.assertTrue(confirmationPage.endsWith("/waitingPayment"));

    assertEquals("/event/reservation-waiting-for-payment", reservationController.showWaitingPaymentPage(
            eventName, reservationIdentifier, new BindingAwareModelMap(), Locale.ENGLISH));

    //
    validatePayment(eventName, reservationIdentifier);
    //

    Assert.assertTrue(reservationController.showWaitingPaymentPage(eventName, reservationIdentifier,
            new BindingAwareModelMap(), Locale.ENGLISH).endsWith("/success"));

    //
    TicketDecorator ticketDecorator = checkReservationComplete(eventName, reservationIdentifier);
    //

    String ticketIdentifier = ticketDecorator.getUuid();

    //ticket is still not assigned, will redirect
    Assert.assertTrue(ticketController
            .showTicket(eventName, ticketIdentifier, false, Locale.ENGLISH, new BindingAwareModelMap())
            .startsWith("redirect:/event/"));
    Assert.assertTrue(ticketController
            .showTicketForUpdate(eventName, ticketIdentifier, new BindingAwareModelMap(), Locale.ENGLISH)
            .startsWith("redirect:/event/"));
    //

    String fname1 = "Test";
    String lname1 = "McTest";

    //assign ticket to person
    assignTicket(eventName, reservationIdentifier, ticketIdentifier, fname1, lname1);

    assertEquals(1, checkInManager.findAllFullTicketInfo(event.getId()).size());

    assertEquals("/event/update-ticket", ticketController.showTicketForUpdate(eventName, ticketIdentifier,
            new BindingAwareModelMap(), Locale.ENGLISH));

    //
    assertEquals("/event/show-ticket", ticketController.showTicket(eventName, ticketIdentifier, false,
            Locale.ENGLISH, new BindingAwareModelMap()));
    //
    checkCSV(eventName, ticketIdentifier, fname1 + " " + lname1);

    // use api to update
    UpdateTicketOwnerForm updateTicketOwnerForm = new UpdateTicketOwnerForm();
    updateTicketOwnerForm.setFirstName("Test");
    updateTicketOwnerForm.setLastName("Testson");
    updateTicketOwnerForm.setEmail("testmctest@test.com");
    updateTicketOwnerForm.setUserLanguage("en");
    reservationApiController.assignTicketToPerson(eventName, ticketIdentifier, true, updateTicketOwnerForm,
            new BeanPropertyBindingResult(updateTicketOwnerForm, "updateTicketForm"),
            new MockHttpServletRequest(), new BindingAwareModelMap(), null);
    checkCSV(eventName, ticketIdentifier, "Test Testson");
    //

    //update
    String fname2 = "Test";
    String lname2 = "OTest";
    assignTicket(eventName, reservationIdentifier, ticketIdentifier, fname2, lname2);
    checkCSV(eventName, ticketIdentifier, fname2 + " " + lname2);

    //lock ticket
    Principal principal = Mockito.mock(Principal.class);
    Mockito.when(principal.getName()).thenReturn(user);
    eventApiController.toggleTicketLocking(eventName, ticketDecorator.getCategoryId(), ticketDecorator.getId(),
            principal);

    assignTicket(eventName, reservationIdentifier, ticketIdentifier, fname1, fname2);
    checkCSV(eventName, ticketIdentifier, fname2 + " " + lname2);

    //ticket has changed, update
    ticketDecorator = checkReservationComplete(eventName, reservationIdentifier);

    // check stats after selling one ticket
    assertFalse(eventStatisticsManager
            .getTicketSoldStatistics(event.getId(), new Date(0), DateUtils.addDays(new Date(), 2)).isEmpty());
    EventWithAdditionalInfo eventWithAdditionalInfo2 = eventStatisticsManager
            .getEventWithAdditionalInfo(event.getShortName(), user);
    assertEquals(0, eventWithAdditionalInfo2.getNotSoldTickets());
    assertEquals(1, eventWithAdditionalInfo2.getSoldTickets());
    assertEquals(20, eventWithAdditionalInfo2.getAvailableSeats());
    assertEquals(0, eventWithAdditionalInfo2.getCheckedInTickets());

    //--- check in sequence
    String ticketCode = ticketDecorator.ticketCode(event.getPrivateKey());
    TicketAndCheckInResult ticketAndCheckInResult = checkInApiController.findTicketWithUUID(event.getId(),
            ticketIdentifier, ticketCode);
    assertEquals(CheckInStatus.OK_READY_TO_BE_CHECKED_IN, ticketAndCheckInResult.getResult().getStatus());
    CheckInApiController.TicketCode tc = new CheckInApiController.TicketCode();
    tc.setCode(ticketCode);
    assertEquals(CheckInStatus.SUCCESS, checkInApiController
            .checkIn(event.getId(), ticketIdentifier, tc, new TestingAuthenticationToken("ciccio", "ciccio"))
            .getResult().getStatus());
    List<ScanAudit> audits = scanAuditRepository.findAllForEvent(event.getId());
    assertFalse(audits.isEmpty());
    assertTrue(audits.stream().anyMatch(sa -> sa.getTicketUuid().equals(ticketIdentifier)));

    TicketAndCheckInResult ticketAndCheckInResultOk = checkInApiController.findTicketWithUUID(event.getId(),
            ticketIdentifier, ticketCode);
    assertEquals(CheckInStatus.ALREADY_CHECK_IN, ticketAndCheckInResultOk.getResult().getStatus());

    // check stats after check in one ticket
    assertFalse(eventStatisticsManager
            .getTicketSoldStatistics(event.getId(), new Date(0), DateUtils.addDays(new Date(), 1)).isEmpty());
    EventWithAdditionalInfo eventWithAdditionalInfo3 = eventStatisticsManager
            .getEventWithAdditionalInfo(event.getShortName(), user);
    assertEquals(0, eventWithAdditionalInfo3.getNotSoldTickets());
    assertEquals(0, eventWithAdditionalInfo3.getSoldTickets());
    assertEquals(20, eventWithAdditionalInfo3.getAvailableSeats());
    assertEquals(1, eventWithAdditionalInfo3.getCheckedInTickets());

    //test revert check in
    assertTrue(checkInApiController.revertCheckIn(event.getId(), ticketIdentifier, principal));
    assertFalse(checkInApiController.revertCheckIn(event.getId(), ticketIdentifier, principal));
    TicketAndCheckInResult ticketAndCheckInResult2 = checkInApiController.findTicketWithUUID(event.getId(),
            ticketIdentifier, ticketCode);
    assertEquals(CheckInStatus.OK_READY_TO_BE_CHECKED_IN, ticketAndCheckInResult2.getResult().getStatus());

    UsersApiController.UserWithPasswordAndQRCode sponsorUser = usersApiController
            .insertUser(new UserModification(null, event.getOrganizationId(), "SPONSOR", "sponsor", "first",
                    "last", "email@email.com"), "http://localhost:8080", principal);
    Principal sponsorPrincipal = Mockito.mock(Principal.class);
    Mockito.when(sponsorPrincipal.getName()).thenReturn(sponsorUser.getUsername());

    // check failures
    assertEquals(CheckInStatus.EVENT_NOT_FOUND,
            attendeeApiController.scanBadge(
                    new AttendeeApiController.SponsorScanRequest("not-existing-event", "not-existing-ticket"),
                    sponsorPrincipal).getBody().getResult().getStatus());
    assertEquals(CheckInStatus.TICKET_NOT_FOUND,
            attendeeApiController
                    .scanBadge(new AttendeeApiController.SponsorScanRequest(eventName, "not-existing-ticket"),
                            sponsorPrincipal)
                    .getBody().getResult().getStatus());
    assertEquals(CheckInStatus.INVALID_TICKET_STATE,
            attendeeApiController
                    .scanBadge(new AttendeeApiController.SponsorScanRequest(eventName, ticketIdentifier),
                            sponsorPrincipal)
                    .getBody().getResult().getStatus());
    //

    // check stats after revert check in one ticket
    assertFalse(eventStatisticsManager
            .getTicketSoldStatistics(event.getId(), new Date(0), DateUtils.addDays(new Date(), 1)).isEmpty());
    EventWithAdditionalInfo eventWithAdditionalInfo4 = eventStatisticsManager
            .getEventWithAdditionalInfo(event.getShortName(), user);
    assertEquals(0, eventWithAdditionalInfo4.getNotSoldTickets());
    assertEquals(1, eventWithAdditionalInfo4.getSoldTickets());
    assertEquals(20, eventWithAdditionalInfo4.getAvailableSeats());
    assertEquals(0, eventWithAdditionalInfo4.getCheckedInTickets());

    CheckInApiController.TicketCode tc2 = new CheckInApiController.TicketCode();
    tc2.setCode(ticketCode);
    TicketAndCheckInResult ticketAndcheckInResult = checkInApiController.checkIn(event.getId(),
            ticketIdentifier, tc2, new TestingAuthenticationToken("ciccio", "ciccio"));
    assertEquals(CheckInStatus.SUCCESS, ticketAndcheckInResult.getResult().getStatus());
    //

    //
    List<Integer> offlineIdentifiers = checkInApiController.getOfflineIdentifiers(event.getShortName(), 0L,
            new MockHttpServletResponse(), principal);
    assertTrue(offlineIdentifiers.isEmpty());
    configurationRepository.insertEventLevel(event.getOrganizationId(), event.getId(),
            ConfigurationKeys.OFFLINE_CHECKIN_ENABLED.name(), "true", null);
    configurationRepository.insert(ConfigurationKeys.ALFIO_PI_INTEGRATION_ENABLED.name(), "true", null);
    offlineIdentifiers = checkInApiController.getOfflineIdentifiers(event.getShortName(), 0L,
            new MockHttpServletResponse(), principal);
    assertFalse(offlineIdentifiers.isEmpty());
    Map<String, String> payload = checkInApiController.getOfflineEncryptedInfo(event.getShortName(),
            Collections.emptyList(), offlineIdentifiers, principal);
    assertEquals(1, payload.size());
    Ticket ticket = ticketAndcheckInResult.getTicket();
    String ticketKey = ticket.hmacTicketInfo(event.getPrivateKey());
    String hashedTicketKey = DigestUtils.sha256Hex(ticketKey);
    String encJson = payload.get(hashedTicketKey);
    assertNotNull(encJson);
    String ticketPayload = CheckInManager.decrypt(ticket.getUuid() + "/" + ticketKey, encJson);
    Map<String, String> jsonPayload = Json.fromJson(ticketPayload, new TypeReference<Map<String, String>>() {
    });
    assertNotNull(jsonPayload);
    assertEquals(8, jsonPayload.size());
    assertEquals("Test", jsonPayload.get("firstName"));
    assertEquals("OTest", jsonPayload.get("lastName"));
    assertEquals("Test OTest", jsonPayload.get("fullName"));
    assertEquals(ticket.getUuid(), jsonPayload.get("uuid"));
    assertEquals("testmctest@test.com", jsonPayload.get("email"));
    assertEquals("CHECKED_IN", jsonPayload.get("status"));
    String categoryName = ticketCategoryRepository.findByEventId(event.getId()).stream().findFirst()
            .orElseThrow(IllegalStateException::new).getName();
    assertEquals(categoryName, jsonPayload.get("category"));
    //

    // check register sponsor scan success flow
    assertTrue(attendeeApiController.getScannedBadges(event.getShortName(),
            EventUtil.JSON_DATETIME_FORMATTER.format(LocalDateTime.of(1970, 1, 1, 0, 0)), sponsorPrincipal)
            .getBody().isEmpty());
    assertEquals(CheckInStatus.SUCCESS,
            attendeeApiController
                    .scanBadge(new AttendeeApiController.SponsorScanRequest(eventName, ticket.getUuid()),
                            sponsorPrincipal)
                    .getBody().getResult().getStatus());
    assertEquals(1,
            attendeeApiController.getScannedBadges(event.getShortName(),
                    EventUtil.JSON_DATETIME_FORMATTER.format(LocalDateTime.of(1970, 1, 1, 0, 0)),
                    sponsorPrincipal).getBody().size());
    //

    eventManager.deleteEvent(event.getId(), principal.getName());

}

From source file:gov.nih.nci.firebird.nes.common.AbstractBaseNesService.java

/**
 * Indicates whether a record is stale according to the lastNesRefresh date.
 * //from w  ww . j av a  2s  .c o  m
 * @param lastNesRefresh date of last NES refresh
 * @return true if record is considered stale and requires refresh
 */
protected boolean isStale(Date lastNesRefresh) {
    Date now = new Date();
    return lastNesRefresh == null || now.after(DateUtils.addDays(lastNesRefresh, 1));
}

From source file:gov.nih.nci.caintegrator.external.caarray.CaArrayFacadeTest.java

/**
 * Sets up objects necessary for unit testing.
 * @throws Exception on error//from  w w  w . j a  v a  2  s  .  co m
 */
@SuppressWarnings("unchecked")
@Before
public void setUp() throws Exception {
    caArrayFacade = new CaArrayFacadeImpl();

    dataService = mock(DataService.class);
    when(dataService.getDataSet(any(DataSetRequest.class))).thenAnswer(new Answer<DataSet>() {
        @SuppressWarnings("unused")
        @Override
        public DataSet answer(InvocationOnMock invocation) throws Throwable {
            DataSetRequest r = (DataSetRequest) invocation.getArguments()[0];
            DataSet result = new DataSet();
            result.getDesignElements().add(probeSet1);
            result.getDesignElements().add(probeSet2);
            for (CaArrayEntityReference ref : r.getHybridizations()) {
                ArrayDesign design = new ArrayDesign();
                design.setName("test design");
                Hybridization hybridization = new Hybridization();
                hybridization.setArrayDesign(design);

                HybridizationData data = new HybridizationData();
                data.setHybridization(hybridization);
                result.getDatas().add(data);
                FloatColumn column = new FloatColumn();
                column.setValues(new float[] { 1.1f, 2.2f });
                data.getDataColumns().add(column);
            }
            return result;
        }
    });
    when(dataService.streamFileContents(any(CaArrayEntityReference.class), anyBoolean()))
            .thenAnswer(new Answer<FileStreamableContents>() {

                @Override
                public FileStreamableContents answer(InvocationOnMock invocation) throws Throwable {
                    StringBuffer dataFile = new StringBuffer();
                    dataFile.append("ID\tChromosome\tPhysical.Position\tlogratio\n");
                    dataFile.append("A_probeSet1\t1\t123456\t0.05\n");
                    dataFile.append("DarkCorner\t1\t56789\t-0.0034\n");
                    dataFile.append("*\n");
                    dataFile.append("A_probeSet2\t1\t98765\t-0.1234\n");

                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    GZIPOutputStream gzos = new GZIPOutputStream(baos);
                    IOUtils.write(dataFile.toString().getBytes(), gzos);

                    byte[] gzippedBytes = baos.toByteArray();
                    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(gzippedBytes);
                    FileStreamableContents contents = new FileStreamableContents();
                    contents.setContentStream(new DirectRemoteInputStream(byteArrayInputStream, false));
                    return contents;
                }
            });

    searchService = mock(SearchService.class);
    when(searchService.searchForExperiments(any(ExperimentSearchCriteria.class), any(LimitOffset.class)))
            .thenAnswer(new Answer<SearchResult<Experiment>>() {

                @Override
                public SearchResult<Experiment> answer(InvocationOnMock invocation) throws Throwable {
                    SearchResult<Experiment> result = new SearchResult<Experiment>();
                    ExperimentSearchCriteria crit = (ExperimentSearchCriteria) invocation.getArguments()[0];
                    if (!StringUtils.equals("no-experiment", crit.getPublicIdentifier())) {
                        Experiment experiment = new Experiment();
                        experiment.setPublicIdentifier(crit.getPublicIdentifier());
                        experiment.setId(crit.getPublicIdentifier());
                        experiment.setLastDataModificationDate(DateUtils.addDays(new Date(), -1));
                        result.getResults().add(experiment);
                    }
                    return result;
                }
            });
    when(searchService.searchForBiomaterials(any(BiomaterialSearchCriteria.class), any(LimitOffset.class)))
            .thenAnswer(new Answer<SearchResult<Biomaterial>>() {
                @Override
                public SearchResult<Biomaterial> answer(InvocationOnMock invocation) throws Throwable {
                    Biomaterial sample = new Biomaterial();
                    sample.setName("sample");
                    sample.setLastModifiedDataTime(DateUtils.addDays(new Date(), -1));
                    SearchResult<Biomaterial> result = new SearchResult<Biomaterial>();
                    result.getResults().add(sample);
                    result.setMaxAllowedResults(-1);
                    return result;
                }
            });
    when(searchService.searchForFiles(any(FileSearchCriteria.class), any(LimitOffset.class)))
            .then(new Answer<SearchResult<File>>() {
                @Override
                public SearchResult<File> answer(InvocationOnMock invocation) throws Throwable {
                    SearchResult<File> result = new SearchResult<File>();
                    File file = new File();
                    file.setMetadata(new FileMetadata());
                    file.getMetadata().setName("filename");
                    result.getResults().add(file);
                    return result;
                }
            });
    when(searchService.searchForHybridizations(any(HybridizationSearchCriteria.class), any(LimitOffset.class)))
            .thenAnswer(new Answer<SearchResult<Hybridization>>() {
                @Override
                public SearchResult<Hybridization> answer(InvocationOnMock invocation) throws Throwable {
                    ArrayDesign design = new ArrayDesign();
                    design.setName("test design");

                    Hybridization hybridization = new Hybridization();
                    hybridization.setArrayDesign(design);

                    SearchResult<Hybridization> result = new SearchResult<Hybridization>();
                    result.getResults().add(hybridization);
                    return result;
                }
            });
    when(searchService.searchByExample(any(ExampleSearchCriteria.class), any(LimitOffset.class)))
            .then(new Answer<SearchResult<AbstractCaArrayEntity>>() {
                @Override
                public SearchResult<AbstractCaArrayEntity> answer(InvocationOnMock invocation)
                        throws Throwable {
                    ExampleSearchCriteria<AbstractCaArrayEntity> crit = (ExampleSearchCriteria<AbstractCaArrayEntity>) invocation
                            .getArguments()[0];
                    SearchResult<AbstractCaArrayEntity> result = new SearchResult<AbstractCaArrayEntity>();
                    result.getResults().add(crit.getExample());
                    return result;
                }
            });
    when(searchService.searchForQuantitationTypes(any(QuantitationTypeSearchCriteria.class)))
            .thenAnswer(new Answer<List<QuantitationType>>() {
                @Override
                public List<QuantitationType> answer(InvocationOnMock invocation) throws Throwable {
                    List<QuantitationType> results = new ArrayList<QuantitationType>();
                    QuantitationType quantitationType = new QuantitationType();
                    quantitationType.setName("DataMatrixCopyNumber.Log2Ratio");
                    results.add(quantitationType);
                    return results;
                }
            });

    CaArrayServiceFactory factory = mock(CaArrayServiceFactory.class);
    when(factory.createDataService(any(ServerConnectionProfile.class))).thenReturn(dataService);
    when(factory.createSearchService(any(ServerConnectionProfile.class))).thenReturn(searchService);
    caArrayFacade.setServiceFactory(factory);

    CaIntegrator2Dao dao = mock(CaIntegrator2Dao.class);
    when(dao.getPlatform(anyString())).thenReturn(createTestPlatform());
    caArrayFacade.setDao(dao);
}

From source file:gov.nih.nci.firebird.service.periodic.DailyJobServiceBean.java

@Inject
void setInitialExpiration(@Named("daily.job.runtime") String startTimeExpression) throws ParseException {
    Calendar startTime = DateUtils.toCalendar(DateUtils.parseDate(startTimeExpression, "H:mm"));
    initialExpiration = new Date();
    initialExpiration = DateUtils.setHours(initialExpiration, startTime.get(Calendar.HOUR_OF_DAY));
    initialExpiration = DateUtils.setMinutes(initialExpiration, startTime.get(Calendar.MINUTE));
    initialExpiration = DateUtils.setSeconds(initialExpiration, 0);
    initialExpiration = DateUtils.setMilliseconds(initialExpiration, 0);
    if (initialExpiration.before(new Date())) {
        initialExpiration = DateUtils.addDays(initialExpiration, 1);
    }/*w  w w  .j a  v  a 2  s .c o  m*/
}

From source file:io.lavagna.service.NotificationService.java

/**
 * Send email (if all the conditions are met) to the user.
 *
 * @param userId//from  w  w  w  . jav  a 2s.co m
 * @param upTo
 * @param emailEnabled
 * @param mailConfig
 */
public void notifyUser(int userId, Date upTo, boolean emailEnabled, MailConfig mailConfig) {
    Date lastSent = queries.lastEmailSent(userId);

    User user = userRepository.findById(userId);

    Date fromDate = ObjectUtils.firstNonNull(lastSent, DateUtils.addDays(upTo, -1));

    List<Event> events = user.isSkipOwnNotifications()
            ? queries.eventsForUserWithoutHisOwns(userId, fromDate, upTo)
            : queries.eventsForUser(userId, fromDate, upTo);

    if (!events.isEmpty() && mailConfig != null && mailConfig.isMinimalConfigurationPresent() && emailEnabled
            && user.canSendEmail()) {
        try {
            sendEmailToUser(user, events, mailConfig);
        } catch (MustacheException | IOException | MailException e) {
            LOG.warn("Error while sending an email to user with id " + user.getId(), e);
        }
    }

    //
    queries.updateSentEmailDate(upTo, userId);
}

From source file:io.lavagna.service.EventRepositoryTest.java

@Test
public void testGetLatestActivityByProjectsOnFakeProject() {
    List<Event> events = eventRepository.getLatestActivityByProjects(user.getId(),
            DateUtils.addDays(new Date(), 1), Arrays.asList(-1));
    Assert.assertEquals(0, events.size());
}

From source file:models.MilestoneTest.java

@Test
public void untilOver() {
    // Given//from  w w w  . j a va2 s .  com
    int days = 3;
    Milestone milestone = new Milestone();
    milestone.dueDate = DateUtils.truncate(DateUtils.addDays(new Date(), -days), Calendar.DATE);

    // When
    String until = milestone.until();

    // Then
    assertThat(until).isEqualTo(Messages.get("common.time.overday", days));
}