@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); HttpClientRequest req = client.request(HttpMethod.GET, 8080, "localhost", "/"); req.toObservable(). // Status code check and -> Observable<Buffer> flatMap(resp -> { if (resp.statusCode() != 200) { throw new RuntimeException("Wrong status code " + resp.statusCode()); } return Observable.just(Buffer.buffer()).mergeWith(resp.toObservable()); }). // Reduce all buffers in a single buffer reduce(Buffer::appendBuffer). // Turn in to a string map(buffer -> buffer.toString("UTF-8")). // Get a single buffer subscribe(data -> System.out.println("Server content " + data)); // End request req.end(); } }
.mergeWith(graphManager.markNode((Id) id, createGraphOperationTimestamp())).toBlocking().last(); return id; })
.mergeWith(gm.markNode(entityId, CpNamingUtils.createGraphOperationTimestamp())) .toBlocking().last();
/** * Marks entity for deletion in entity collection manager and graph. * Convert this method to return a list of observables that we can crunch through on return. * Returns merged obversable that will mark the edges in the ecm and the graph manager. * @param entityRef * @return */ private Observable markEntity(EntityRef entityRef){ if(applicationScope == null || entityRef == null){ return Observable.empty(); } GraphManager gm = graphManagerFactory.createEdgeManager( applicationScope ); EntityCollectionManager ecm = managerCache.getEntityCollectionManager( applicationScope ); Id entityId = new SimpleId( entityRef.getUuid(), entityRef.getType() ); //Step 1 & 2 of delete String region = this.lookupAuthoritativeRegionForType( entityRef.getType() ); return ecm.mark( entityId, region ).mergeWith( gm.markNode( entityId, createGraphOperationTimestamp() ) ); }
@Override public void run() { Observable.just(1, 2, 3) .mergeWith(Observable.just(4, 5, 6)) .subscribe(new Action1<Integer>() { @Override public void call(Integer integer) { log(integer); } }); } });
@Override public Observable<InstanceInfo> resolve() { return cachingSubject.asObservable().mergeWith(control); } }
/** * Delete all records */ public void delete(RxTx tx) { // non-blocking needed? scan(tx).toBlocking().forEach(keyValues -> { Observable<byte[]> keys = keyValues.stream() .map(kv -> Observable.just(kv.key())) .reduce(Observable.empty(), (o1, o2) -> o1.mergeWith(o2)); delete(tx, keys); }); }
@Override public Observable<Void> deleteTags(Metric<?> metric, Set<String> tags) { return getMetricTags(metric.getMetricId()) .map(loadedTags -> { loadedTags.keySet().retainAll(tags); return loadedTags; }) .flatMap(tagsToDelete -> { return dataAccess.deleteTags(metric, tagsToDelete.keySet()).mergeWith( dataAccess.deleteFromMetricsTagsIndex(metric.getMetricId(), tagsToDelete)).toList() .map(r -> null); }); }
@Override public Observable<String> streamApplicationLogsAsync() { return functionService.ping() .mergeWith(functionService.getHostStatus()) .last() .flatMap(new Func1<Void, Observable<String>>() { @Override public Observable<String> call(Void aVoid) { return FunctionAppImpl.super.streamApplicationLogsAsync(); } }); }
@Override public Observable<Indexable> call(Context context) { return submitAppSettings().mergeWith(submitConnectionStrings()) .last().flatMap(new Func1<Indexable, Observable<Indexable>>() { @Override public Observable<Indexable> call(Indexable indexable) { return submitStickiness(); } }); } });
@Override public Observable<String> streamTraceLogsAsync() { return functionService.ping() .mergeWith(functionService.getHostStatus()) .last() .flatMap(new Func1<Void, Observable<String>>() { @Override public Observable<String> call(Void aVoid) { return FunctionAppImpl.super.streamTraceLogsAsync(); } }); }
@Override public Observable<String> streamDeploymentLogsAsync() { return functionService.ping() .mergeWith(functionService.getHostStatus()) .last() .flatMap(new Func1<Void, Observable<String>>() { @Override public Observable<String> call(Void aVoid) { return FunctionAppImpl.super.streamDeploymentLogsAsync(); } }); }
@Override public Observable<Void> deleteTags(Metric<?> metric, Set<String> tags) { return getMetricTags(metric.getMetricId()) .map(loadedTags -> { loadedTags.keySet().retainAll(tags); return loadedTags; }) .flatMap(tagsToDelete -> { return dataAccess.deleteTags(metric, tagsToDelete.keySet()).mergeWith( dataAccess.deleteFromMetricsTagsIndex(metric.getMetricId(), tagsToDelete)).toList() .map(r -> null); }); }
@Override public Observable<String> streamHttpLogsAsync() { return functionService.ping() .mergeWith(functionService.getHostStatus()) .last() .flatMap(new Func1<Void, Observable<String>>() { @Override public Observable<String> call(Void aVoid) { return FunctionAppImpl.super.streamHttpLogsAsync(); } }); }
@Override public Observable<String> streamAllLogsAsync() { return functionService.ping() .mergeWith(functionService.getHostStatus()) .last() .flatMap(new Func1<Void, Observable<String>>() { @Override public Observable<String> call(Void aVoid) { return FunctionAppImpl.super.streamAllLogsAsync(); } }); }
@Override public Observable<Row> findAllMetricIdentifiersInData() { return getPrepForAllTempTables(TempStatement.LIST_ALL_METRICS_FROM_TABLE) .flatMap(b -> rxSession.executeAndFetch(b.bind())) .mergeWith(rxSession.executeAndFetch(findAllMetricsInData.bind())) .mergeWith(rxSession.executeAndFetch(findAllMetricsInDataCompressed.bind())); }
@Override public Observable<Row> findAllMetricIdentifiersInData() { return getPrepForAllTempTables(TempStatement.LIST_ALL_METRICS_FROM_TABLE) .flatMap(b -> rxSession.executeAndFetch(b.bind())) .mergeWith(rxSession.executeAndFetch(findAllMetricsInData.bind())) .mergeWith(rxSession.executeAndFetch(findAllMetricsInDataCompressed.bind())); }
@Override public Observable<ActionState<TestAction>> call(Observable<ActionState<TestAction>> observable) { return observable.mergeWith(actionPipe.observe()); } })
@Override public Observable<List<AstrixServiceInvocationResponse>> submitRoutedRequests( Collection<RoutedServiceInvocationRequest> requests) { Observable<AstrixServiceInvocationResponse> result = Observable.empty(); for (RoutedServiceInvocationRequest request : requests) { result = result.mergeWith(submitRoutedRequest(request.getRequest(), request.getRoutingkey())); } return result.toList(); }
private Observable<List<AstrixServiceInvocationResponse>> observeRoutedReqeuests(Collection<RoutedServiceInvocationRequest> requests) { Observable<AstrixServiceInvocationResponse> result = Observable.empty(); for (RoutedServiceInvocationRequest request : requests) { result = result.mergeWith(spaceTaskDispatcher.observe(new AstrixServiceInvocationTask(request.getRequest()), request.getRoutingkey())); } return result.toList(); }