List of usage examples for org.springframework.boot.json JacksonJsonParser JacksonJsonParser
public JacksonJsonParser()
From source file:be.ordina.msdashboard.aggregators.health.HealthIndicatorsAggregator.java
private Observable<Node> getHealthNodesFromService(String serviceId, String url) { HttpClientRequest<ByteBuf> request = HttpClientRequest.createGet(url); for (Entry<String, String> header : properties.getRequestHeaders().entrySet()) { request.withHeader(header.getKey(), header.getValue()); }/*from w ww .j a va 2s . c o m*/ return RxNetty.createHttpRequest(request).doOnError(el -> { String error = MessageFormat.format("Error retrieving healthnodes in url {} with headers {}: {}", request.getUri(), request.getHeaders().entries(), el); logger.error(error); publisher.publishEvent(new NodeEvent(serviceId, error)); }).onErrorResumeNext(Observable.empty()).filter(r -> { if (r.getStatus().code() < 400) { return true; } else { String warning = "Exception " + r.getStatus() + " for call " + url + " with headers " + r.getHeaders().entries(); logger.warn(warning); publisher.publishEvent(new NodeEvent(serviceId, warning)); return false; } }).flatMap(AbstractHttpContentHolder::getContent).map(data -> data.toString(Charset.defaultCharset())) .map(response -> { JacksonJsonParser jsonParser = new JacksonJsonParser(); return jsonParser.parseMap(response); }).map((source) -> HealthToNodeConverter.convertToNodes(serviceId, source)).flatMap(el -> el) .filter(node -> !HYSTRIX.equals(node.getId()) && !DISK_SPACE.equals(node.getId()) && !DISCOVERY.equals(node.getId()) && !CONFIGSERVER.equals(node.getId())) //TODO: .map(node -> toolBoxDependenciesModifier.modify(node)) .doOnNext(el -> logger.info("Health node {} discovered in url: {}", el.getId(), url)).doOnCompleted( () -> logger.info("Completed emission of a health node observable from url: " + url)); }