@Override public Maybe<Boolean> apply(Maybe<Object> m) throws Exception { return m.isEmpty().toMaybe(); } });
@Override public Maybe<Boolean> apply(Maybe<Object> f) throws Exception { return f.isEmpty().toMaybe(); } });
@Test public void fusedBackToMaybe() { assertTrue(Maybe.just(1) .isEmpty() .toMaybe() instanceof MaybeIsEmpty); }
@Test public void singleToMaybe() { Single.just(1) .toMaybe() .test() .assertResult(1); }
@Test public void normalToMaybe() { Maybe.just(1) .isEmpty() .toMaybe() .test() .assertResult(false); }
@Test public void emptyToMaybe() { Maybe.empty() .isEmpty() .toMaybe() .test() .assertResult(true); }
@Test public void isDisposedToMaybe() { PublishProcessor<Integer> pp = PublishProcessor.create(); TestHelper.checkDisposed(pp.singleElement().isEmpty().toMaybe()); }
@Test public void singleToMaybeError() { Single.error(new TestException()) .toMaybe() .test() .assertFailure(TestException.class); }
@Test public void singleMaybeSingle() { Single.just(1).toMaybe().toSingle().test().assertResult(1); }
@Test public void errorToMaybe() { Maybe.error(new TestException()) .isEmpty() .toMaybe() .test() .assertFailure(TestException.class); }
/** * Check if we can load it from the cache (forceLoad parameter), if we can't, * load from the network (Single loadFromNetwork) * and put the results in the cache. */ private static <I extends Info> Single<I> checkCache(boolean forceLoad, int serviceId, String url, Single<I> loadFromNetwork) { checkServiceId(serviceId); loadFromNetwork = loadFromNetwork.doOnSuccess(info -> cache.putInfo(serviceId, url, info)); Single<I> load; if (forceLoad) { cache.removeInfo(serviceId, url); load = loadFromNetwork; } else { load = Maybe.concat(ExtractorHelper.loadFromCache(serviceId, url), loadFromNetwork.toMaybe()) .firstElement() //Take the first valid .toSingle(); } return load; }
@Override public Maybe<T> toMaybe() { return toSingle().toMaybe(); } }
@Override public Maybe<T> toMaybe() { return toSingle().toMaybe(); } }
@Override public Maybe<User> get(String userId, String baseUrl) { LOGGER.debug("Find user by id : {}", userId); return userRepository.findById(userId) .map(user1 -> convert(user1, baseUrl, false)) .flatMap(scimUser -> setGroups(scimUser).toMaybe()) .onErrorResumeNext(ex -> { LOGGER.error("An error occurs while trying to find a user using its ID", userId, ex); return Maybe.error(new TechnicalManagementException( String.format("An error occurs while trying to find a user using its ID: %s", userId), ex)); }); }
public Observable<UnencryptedData> getReadableData(RadixAddress address) { return getData(address) .flatMapMaybe(data -> identity.decrypt(data).toMaybe().onErrorComplete()); }
private Maybe<Buffer> download(Long albumId) { return dbClient.rxGetConnection().flatMap(sqlConnection -> { return findAlbum(sqlConnection, albumId).doAfterTerminate(sqlConnection::close); }).flatMapMaybe(album -> { String mbAlbumId = album.getString("mbAlbumId"); return mbAlbumId == null ? Maybe.empty() : Maybe.just(mbAlbumId); }).flatMap(mbAlbumId -> { return sendGetRequest(mbAlbumId).toMaybe(); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "token " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }
private Maybe<User> profile(String accessToken) { return client.getAbs(configuration.getUserProfileUri()) .putHeader(HttpHeaders.AUTHORIZATION, "token " + accessToken) .rxSend() .toMaybe() .map(httpClientResponse -> { if (httpClientResponse.statusCode() != 200) { throw new BadCredentialsException(httpClientResponse.statusMessage()); } return createUser(httpClientResponse.bodyAsJsonObject()); }); }