private Observable toObservable(Object obj) { if (Observable.class.isAssignableFrom(obj.getClass())) { return (Observable) obj; } else if (Completable.class.isAssignableFrom(obj.getClass())) { return ((Completable) obj).toObservable(); } else if (Single.class.isAssignableFrom(obj.getClass())) { return ((Single) obj).toObservable(); } else { throw new IllegalStateException("unsupported rx type: " + obj.getClass()); } } }
@Override protected Observable<Integer> construct() { return Completable.complete().toObservable(); } }
@Test public void testGetCompletableUserWithRxFallback() { Completable completable = userService.getCompletableUserWithRxFallback(null, "name: "); completable.<User>toObservable().subscribe(new Action1<User>() { @Override public void call(User user) { assertEquals("default_id", user.getId()); } }); com.netflix.hystrix.HystrixInvokableInfo getUserCommand = getHystrixCommandByKey("getCompletableUserWithRxFallback"); assertTrue(getUserCommand.getExecutionEvents().contains(HystrixEventType.FAILURE)); assertTrue(getUserCommand.getExecutionEvents().contains(HystrixEventType.FALLBACK_SUCCESS)); }
return ((Single) res).toObservable(); } else if (res instanceof Completable) { return ((Completable) res).toObservable(); } else { return Observable.just(res);
@Test public void testGetCompletableUserWithRegularFallback() { Completable completable = userService.getCompletableUserWithRegularFallback(null, "name: "); completable.<User>toObservable().subscribe(new Action1<User>() { @Override public void call(User user) { assertEquals("default_id", user.getId()); } }); com.netflix.hystrix.HystrixInvokableInfo getUserCommand = getHystrixCommandByKey("getCompletableUserWithRegularFallback"); assertTrue(getUserCommand.getExecutionEvents().contains(HystrixEventType.FAILURE)); assertTrue(getUserCommand.getExecutionEvents().contains(HystrixEventType.FALLBACK_SUCCESS)); }
public Observable<String> deleteByNameAsync(List<String> names) { List<Observable<String>> items = new ArrayList<>(); for (final String name : names) { items.add(this.deleteByNameAsync(name).<String>toObservable().map(new Func1<String, String>() { @Override public String call(String s) { return name; } })); } return Observable.mergeDelayError(items); }
public Observable<String> deleteByNameAsync(List<String> names) { List<Observable<String>> items = new ArrayList<>(); for (final String name : names) { items.add(this.deleteByNameAsync(name).<String>toObservable().map(new Func1<String, String>() { @Override public String call(String s) { return name; } })); } return Observable.mergeDelayError(items); }
@Override public void syncTriggers() { syncTriggersAsync().toObservable().toBlocking().subscribe(); }
@Override public Observable<Indexable> call(final Context cxt) { return rbacManager .roleAssignments() .deleteByIdAsync(roleAssignment.id()) .<Indexable>toObservable() .switchIfEmpty(cxt.voidObservable()); } };
@Override public Observable<Indexable> call(Context context) { return manager().eventHubs() .deleteByNameAsync(resourceGroupName(), name(), eventHubName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(Context context) { return manager().eventHubs() .deleteByNameAsync(resourceGroupName(), name(), eventHubName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(Context context) { return manager().namespaceAuthorizationRules() .deleteByNameAsync(resourceGroupName(), name(), ruleName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(final Context context) { return manager.consumerGroups() .deleteByNameAsync(ancestor().resourceGroupName(), ancestor().ancestor1Name(), name(), name) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(final Context context) { return manager.consumerGroups() .deleteByNameAsync(ancestor().resourceGroupName(), ancestor().ancestor1Name(), name(), name) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(Context context) { return manager().namespaceAuthorizationRules() .deleteByNameAsync(resourceGroupName(), name(), ruleName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(final Context context) { return manager.eventHubAuthorizationRules() .deleteByNameAsync(ancestor().resourceGroupName(), ancestor().ancestor1Name(), name(), ruleName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<Indexable> call(final Context context) { return manager.eventHubAuthorizationRules() .deleteByNameAsync(ancestor().resourceGroupName(), ancestor().ancestor1Name(), name(), ruleName) .<Indexable>toObservable() .concatWith(context.voidObservable()); } });
@Override public Observable<T> call(Observable<T> upstream) { return sqlConnection.rxSetAutoCommit(false).toCompletable() .andThen(upstream) .concatWith(sqlConnection.rxCommit().toCompletable().toObservable()) .onErrorResumeNext(throwable -> { return sqlConnection.rxRollback().toCompletable().onErrorComplete() .andThen(sqlConnection.rxSetAutoCommit(true).toCompletable().onErrorComplete()) .andThen(Observable.error(throwable)); }).concatWith(sqlConnection.rxSetAutoCommit(true).toCompletable().toObservable()); } }
@Override public Observable<T> call(Observable<T> upstream) { return sqlConnection.rxSetAutoCommit(false).toCompletable() .andThen(upstream) .concatWith(sqlConnection.rxCommit().toCompletable().toObservable()) .onErrorResumeNext(throwable -> { return sqlConnection.rxRollback().toCompletable().onErrorComplete() .andThen(sqlConnection.rxSetAutoCommit(true).toCompletable().onErrorComplete()) .andThen(Observable.error(throwable)); }).concatWith(sqlConnection.rxSetAutoCommit(true).toCompletable().toObservable()); } }
private Observable<String> inTransaction(Exception e) throws Exception { return client.rxGetConnection().flatMapObservable(conn -> { return rxInsertExtraFolks(conn) .andThen(uniqueNames(conn)) .compose(upstream -> e == null ? upstream : upstream.concatWith(Observable.error(e))) .compose(SQLClientHelper.txObservableTransformer(conn)) .concatWith(rxAssertAutoCommit(conn).toObservable()) .doAfterTerminate(conn::close); }); } }