Example usage for org.springframework.boot.json JacksonJsonParser JacksonJsonParser

List of usage examples for org.springframework.boot.json JacksonJsonParser JacksonJsonParser

Introduction

In this page you can find the example usage for org.springframework.boot.json JacksonJsonParser JacksonJsonParser.

Prototype

public JacksonJsonParser() 

Source Link

Document

Creates an instance with a default ObjectMapper that is created lazily.

Usage

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));
}