Example usage for java.time.temporal ChronoUnit HOURS

List of usage examples for java.time.temporal ChronoUnit HOURS

Introduction

In this page you can find the example usage for java.time.temporal ChronoUnit HOURS.

Prototype

ChronoUnit HOURS

To view the source code for java.time.temporal ChronoUnit HOURS.

Click Source Link

Document

Unit that represents the concept of an hour.

Usage

From source file:org.silverpeas.core.calendar.ical4j.ICal4JImporter.java

private Period extractPeriod(final Mutable<ZoneId> zoneId, final VEvent vEvent) {
    final Date startDate = vEvent.getStartDate().getDate();
    Date endDate = vEvent.getEndDate().getDate();
    if (endDate == null && !(startDate instanceof DateTime)) {
        endDate = startDate;//from   w ww. j av a  2  s  . co m
    }
    Temporal startTemporal = iCal4JDateCodec.decode(startDate, zoneId.get());
    Temporal endTemporal = iCal4JDateCodec.decode(endDate, zoneId.get());
    if (endTemporal instanceof OffsetDateTime && startTemporal.equals(endTemporal)) {
        endTemporal = endTemporal.plus(1, ChronoUnit.HOURS);
    }
    return Period.between(startTemporal, endTemporal);
}

From source file:org.talend.dataprep.transformation.actions.date.ComputeTimeSince.java

@Override
public List<Parameter> getParameters() {
    List<Parameter> parameters = super.getParameters();

    parameters.add(SelectParameter.Builder.builder() //
            .name(TIME_UNIT_PARAMETER) //
            .item(ChronoUnit.YEARS.name(), "years") //
            .item(ChronoUnit.MONTHS.name(), "months") //
            .item(ChronoUnit.DAYS.name(), "days") //
            .item(ChronoUnit.HOURS.name(), "hours") //
            .defaultValue(ChronoUnit.HOURS.name()) //
            .build());//  ww  w  .  java2s . co m

    parameters.add(SelectParameter.Builder.builder() //
            .name(SINCE_WHEN_PARAMETER) //
            .canBeBlank(false) //
            .item(NOW_SERVER_SIDE_MODE, NOW_SERVER_SIDE_MODE) //
            .item(SPECIFIC_DATE_MODE, SPECIFIC_DATE_MODE, new Parameter(SPECIFIC_DATE_PARAMETER, //
                    ParameterType.DATE, //
                    StringUtils.EMPTY, //
                    false, //
                    false)) //
            .item(OTHER_COLUMN_MODE, OTHER_COLUMN_MODE, new Parameter(SELECTED_COLUMN_PARAMETER, //
                    ParameterType.COLUMN, //
                    StringUtils.EMPTY, //
                    false, //
                    false)) //
            .defaultValue(NOW_SERVER_SIDE_MODE) //
            .build());

    return ActionsBundle.attachToAction(parameters, this);
}

From source file:org.talend.dataprep.transformation.actions.date.ComputeTimeSinceTest.java

@Test
public void should_compute_hours() throws IOException {
    //given//from  w ww.ja  va 2 s  .  co  m
    final String date = "07/16/2015 13:00";
    final String result = computeTimeSince(date, "MM/dd/yyyy HH:mm", ChronoUnit.HOURS);

    final DataSetRow row = getDefaultRow("statistics_MM_dd_yyyy_HH_mm.json");
    row.set("0001", date);

    final Map<String, String> expectedValues = new HashMap<>();
    expectedValues.put("0000", "lorem bacon");
    expectedValues.put("0001", date);
    expectedValues.put("0003", result);
    expectedValues.put("0002", "Bacon");

    parameters.put(TIME_UNIT_PARAMETER, HOURS.name());

    //when
    ActionTestWorkbench.test(row, actionRegistry, factory.create(action, parameters));

    //then
    assertEquals(expectedValues, row.values());
}

From source file:org.talend.dataprep.transformation.actions.date.ComputeTimeSinceTest.java

@Test
public void should_compute_hours_on_date_without_hours() throws IOException {
    // given//from   ww w .j av  a  2  s.c  o  m
    final String date = "07/16/2015";
    final String result = computeTimeSince(date, "MM/dd/yyyy", ChronoUnit.HOURS);

    final DataSetRow row = getDefaultRow("statistics_MM_dd_yyyy.json");
    row.set("0001", date);

    final Map<String, String> expectedValues = new HashMap<>();
    expectedValues.put("0000", "lorem bacon");
    expectedValues.put("0001", date);
    expectedValues.put("0003", result);
    expectedValues.put("0002", "Bacon");

    parameters.put(TIME_UNIT_PARAMETER, HOURS.name());

    // when
    ActionTestWorkbench.test(row, actionRegistry, factory.create(action, parameters));

    // then
    assertEquals(expectedValues, row.values());
}

From source file:org.talend.dataprep.transformation.actions.date.ComputeTimeSinceTest.java

@Test
public void should_compute_hours_twice() throws IOException {
    //given//from w ww .  ja  va2s. c om
    final String date = "07/16/2015 13:00";
    final String result = computeTimeSince(date, "MM/dd/yyyy HH:mm", ChronoUnit.HOURS);

    final DataSetRow row = getDefaultRow("statistics_MM_dd_yyyy_HH_mm.json");
    row.set("0001", date);

    final Map<String, String> expectedValues = new HashMap<>();
    expectedValues.put("0000", "lorem bacon");
    expectedValues.put("0001", date);
    expectedValues.put("0004", result);
    expectedValues.put("0003", result);
    expectedValues.put("0002", "Bacon");

    parameters.put(TIME_UNIT_PARAMETER, HOURS.name());

    //when
    ActionTestWorkbench.test(row, actionRegistry, factory.create(action, parameters),
            factory.create(action, parameters));

    //then
    assertEquals(expectedValues, row.values());
}

From source file:org.tightblog.rendering.generators.WeblogEntryListGeneratorTest.java

@Test
public void getPermalinkPager() {
    // Showing SCHEDULED entries allowed with canShowUnpublishedEntries = false
    WeblogEntry entryToShow = WebloggerTest.genWeblogEntry(weblog, "day1story1", twoDaysAgo);
    entryToShow.setStatus(PubStatus.SCHEDULED);
    WeblogEntry weNext = WebloggerTest.genWeblogEntry(weblog, "nextStory", oneDayAgo);
    weNext.setTitle("My Next Story");
    WeblogEntry wePrev = WebloggerTest.genWeblogEntry(weblog, "prevStory", threeDaysAgo);
    wePrev.setTitle("My Prev Story");
    when(mockWEM.getWeblogEntryByAnchor(weblog, "day1story1")).thenReturn(entryToShow);
    when(mockWEM.getNextPublishedEntry(entryToShow)).thenReturn(weNext);
    when(mockWEM.getPreviousPublishedEntry(entryToShow)).thenReturn(wePrev);
    when(mockUrlService.getWeblogEntryURL(weNext)).thenReturn("nextUrl");
    when(mockUrlService.getWeblogEntryURL(wePrev)).thenReturn("prevUrl");

    WeblogEntryListData data = generator.getPermalinkPager(weblog, "day1story1", true);
    assertEquals(1, data.getEntries().size());
    assertEquals("entry not added to map", entryToShow, data.getEntries().values().iterator().next().get(0));
    assertEquals("entry not in list", entryToShow, data.getEntriesAsList().get(0));
    assertEquals("entriesAsList() not constant w/multiple calls", entryToShow, data.getEntriesAsList().get(0));
    assertEquals("key not set correctly to entry publish time", entryToShow,
            data.getEntries()/*from   www.ja v  a2  s  . com*/
                    .get(WeblogEntryListGenerator.instantToWeblogLocalDate(entryToShow.getWeblog(), twoDaysAgo))
                    .get(0));

    assertEquals("nextUrl", data.getNextLink());
    assertTrue(data.getNextLabel().contains("My Next Story"));
    assertNotNull("prevUrl", data.getPrevLink());
    assertTrue(data.getPrevLabel().contains("My Prev Story"));

    // Test entry still retrievable if no publish time
    entryToShow.setPubTime(null);
    data = generator.getPermalinkPager(weblog, "day1story1", true);
    assertEquals(1, data.getEntries().size());
    assertEquals("unpublished entry not added to map", entryToShow,
            data.getEntries().values().iterator().next().get(0));
    assertEquals("unpublished entry not in list", entryToShow, data.getEntriesAsList().get(0));

    // Test SCHEDULED entries not allowed with canShowUnpublishedEntries = false
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNull(data.getEntries());
    assertNull(data.getNextLabel());
    assertNull(data.getPrevLabel());

    // Showing DRAFT entries not allowed with canShowUnpublishedEntries = false
    entryToShow.setStatus(PubStatus.DRAFT);
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNull(data.getEntries());
    assertNull(data.getNextLabel());
    assertNull(data.getPrevLabel());

    // Showing PUBLISHED entries allowed with canShowUnpublishedEntries = false
    entryToShow.setStatus(PubStatus.PUBLISHED);
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNotNull(data.getEntries());
    assertNotNull(data.getNextLabel());
    assertNotNull(data.getPrevLabel());

    // Test next, prev link info empty if entries in the future
    Instant oneHourLater = Instant.now().plus(1, ChronoUnit.HOURS);
    weNext.setPubTime(oneHourLater);
    wePrev.setPubTime(oneHourLater);
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNotNull(data.getEntries());
    assertNull(data.getNextLabel());
    assertNull(data.getNextLink());
    assertNull(data.getPrevLabel());
    assertNull(data.getPrevLink());

    // Test next link info empty if no next link
    when(mockWEM.getNextPublishedEntry(entryToShow)).thenReturn(null);
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNotNull(data.getEntries());
    assertNull(data.getNextLabel());
    assertNull(data.getNextLink());

    // Test prev link info empty if no prev link
    when(mockWEM.getPreviousPublishedEntry(entryToShow)).thenReturn(null);
    data = generator.getPermalinkPager(weblog, "day1story1", false);
    assertNotNull(data.getEntries());
    assertNull(data.getPrevLabel());
    assertNull(data.getPrevLink());

    // Showing data is empty if anchor cannot be found for weblog
    data = generator.getPermalinkPager(weblog, "anchorNotFound", false);
    assertNull(data.getEntries());
    assertTrue(StringUtils.isEmpty(data.getNextLabel()));
    assertTrue(StringUtils.isEmpty(data.getNextLink()));
    assertTrue(StringUtils.isEmpty(data.getPrevLabel()));
    assertTrue(StringUtils.isEmpty(data.getPrevLink()));
    assertNull(data.getEntriesAsList());
}