public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
public static Offset extractOffset(Request request) { return Offset.from(extractPositiveInteger(request, OFFSET_PARAMETER_NAME)); }
public static Offset none() { return new Offset(0); }
public Optional<List<MailKeyDTO>> listMails(MailRepositoryPath path, Offset offset, Limit limit) throws MailRepositoryStore.MailRepositoryStoreException, MessagingException { Optional<Stream<MailKeyDTO>> maybeMails = Optional.of(getRepositories(path) .flatMap(Throwing.function((MailRepository repository) -> Iterators.toStream(repository.list())).sneakyThrow()) .map(MailKeyDTO::new) .skip(offset.getOffset())); return maybeMails.map(limit::applyOnStream) .map(stream -> stream.collect(ImmutableList.toImmutableList())); }
public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
public static Offset none() { return new Offset(0); }
public static Offset from(Optional<Integer> offset) { return offset.map(Offset::from) .orElse(none()); }
public static Offset none() { return new Offset(0); }
@Test public void extractOffsetShouldReturnNoneWhenNotInParameters() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn(null); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnTheOffsetWhenPresentInParameters() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn("123"); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.from(123)); }
public static Offset from(int offset) { Preconditions.checkArgument(offset >= 0, "offset should be positive"); return new Offset(offset); }
@Test public void extractOffsetShouldReturnNoneWhenZeroLimit() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn("0"); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.none()); }
@Test public void extractOffsetShouldReturnTheOffsetWhenPresentInParameters() { Request request = mock(Request.class); when(request.queryParams("offset")) .thenReturn("123"); Offset offset = ParametersExtractor.extractOffset(request); assertThat(offset).isEqualTo(Offset.from(123)); }
public static Offset from(int offset) { Preconditions.checkArgument(offset >= 0, "offset should be positive"); return new Offset(offset); }