@Override protected Mappings mapAddress(String user, Domain domain) { return OptionalUtils.orSuppliers( () -> retrieveMappings(MappingSource.fromUser(user, domain)), () -> retrieveMappings(MappingSource.fromDomain(domain))) .orElse(MappingsImpl.empty()); }
@Test void orSuppliersShouldReturnValueWhenValue() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(1))) .contains(1); }
@Test void orSuppliersShouldReturnEmptyWhenBothEmpty() { assertThat( OptionalUtils.orSuppliers( () -> Optional.empty(), () -> Optional.empty())) .isEmpty(); }
@Test public void orSuppliersShouldReturnFirstValueWhenOnlyFirstValue() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(18), Optional::empty)) .contains(18); }
@Test void orSuppliersShouldReturnFirstValueWhenBothValues() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(1), () -> Optional.of(2))) .contains(1); }
@Test public void orSuppliersShouldReturnFirstValueWhenBothValues() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(1), () -> Optional.of(2))) .contains(1); }
@Test public void orSuppliersShouldReturnEmptyWhenBothEmpty() { assertThat( OptionalUtils.orSuppliers( () -> Optional.empty(), () -> Optional.empty())) .isEmpty(); }
@Test void orSuppliersShouldReturnFirstValueWhenOnlyFirstValue() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(18), Optional::empty)) .contains(18); }
@Test void orSuppliersShouldReturnThirdValueWhenOnlyThirdValue() { assertThat( OptionalUtils.orSuppliers( Optional::empty, Optional::empty, () -> Optional.of(1))) .contains(1); }
@Test void orSuppliersShouldReturnSecondValueWhenOnlySecondValue() { assertThat( OptionalUtils.orSuppliers( Optional::empty, () -> Optional.of(18))) .contains(18); }
@Test public void orSuppliersShouldReturnSecondValueWhenOnlySecondValue() { assertThat( OptionalUtils.orSuppliers( Optional::empty, () -> Optional.of(18))) .contains(18); }
@Test public void orSuppliersShouldReturnThirdValueWhenOnlyThirdValue() { assertThat( OptionalUtils.orSuppliers( Optional::empty, Optional::empty, () -> Optional.of(1))) .contains(1); }
@Test public void orSuppliersShouldReturnValueWhenValue() { assertThat( OptionalUtils.orSuppliers( () -> Optional.of(1))) .contains(1); }
@Test public void orSuppliersShouldReturnEmptyWhenEmpty() { assertThat( OptionalUtils.orSuppliers( Optional::empty)) .isEmpty(); }
@Test void orSuppliersShouldReturnEmptyWhenEmpty() { assertThat( OptionalUtils.orSuppliers( Optional::empty)) .isEmpty(); }
@Override protected Mappings mapAddress(String user, Domain domain) { return OptionalUtils.orSuppliers( () -> retrieveMappings(MappingSource.fromUser(User.fromLocalPartWithDomain(user, domain))), () -> retrieveMappings(MappingSource.fromDomain(domain))) .orElse(MappingsImpl.empty()); }
private QuotaSize limitToUser(User user) throws StorageException { return OptionalUtils.orSuppliers( Throwing.supplier(() -> findQuotaForUser(user.asString())).sneakyThrow(), Throwing.supplier(() -> findQuotaForUser(DEFAULT_SIEVE_QUOTA_USERNAME)).sneakyThrow()) .map(JPASieveQuota::toQuotaSize) .orElse(QuotaSize.unlimited()); }
default Optional<QuotaCount> getComputedMaxMessage(Domain domain) throws MailboxException { return OptionalUtils.orSuppliers( Throwing.supplier(() -> getDomainMaxMessage(domain)).sneakyThrow(), Throwing.supplier(this::getGlobalMaxMessage).sneakyThrow()); }
default Optional<QuotaSize> getComputedMaxStorage(Domain domain) throws MailboxException { return OptionalUtils.orSuppliers( Throwing.supplier(() -> getDomainMaxStorage(domain)).sneakyThrow(), Throwing.supplier(this::getGlobalMaxStorage).sneakyThrow()); } }