Example usage for com.fasterxml.jackson.databind.ser.impl SimpleFilterProvider addFilter

List of usage examples for com.fasterxml.jackson.databind.ser.impl SimpleFilterProvider addFilter

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.ser.impl SimpleFilterProvider addFilter.

Prototype

public SimpleFilterProvider addFilter(String id, SimpleBeanPropertyFilter filter) 

Source Link

Document

Overloaded variant just to resolve "ties" when using SimpleBeanPropertyFilter .

Usage

From source file:com.github.darwinevolution.darwin.jackson.JacksonEvolutionResultConsumer.java

@Override
public void consumeResults(ComparisonResult<T> comparisonResult,
        ResultConsumerConfiguration resultConsumerConfiguration) {
    try {//from   ww  w.j a  va2s .  c o m
        SimpleFilterProvider fp = new SimpleFilterProvider();
        Set<String> includedFields = new HashSet<String>();
        includedFields.add("name");
        includedFields.add("implementationPreference");
        includedFields.add("timestamp");
        includedFields.add("resultType");
        includedFields.add("protoplastDurationNs");
        includedFields.add("evolvedDurationNs");

        if (comparisonResult.getResultType().isError()
                && resultConsumerConfiguration.shouldPrintDetailsOnError()) {
            includedFields.add("protoplastArguments");
            includedFields.add("protoplastValue");
            includedFields.add("protplastException");

            includedFields.add("evolvedArguments");
            includedFields.add("evolvedValue");
            includedFields.add("evolvedException");
        }

        if (resultConsumerConfiguration.shouldPrintBothArguments()) {
            includedFields.add("protoplastArguments");
            includedFields.add("evolvedArguments");
        }

        if (resultConsumerConfiguration.shouldPrintResults()) {
            includedFields.add("protoplastValue");
            includedFields.add("protplastException");
            includedFields.add("evolvedValue");
            includedFields.add("evolvedException");
        }

        fp.addFilter(FILTER_NAME, SimpleBeanPropertyFilter.filterOutAllExcept(includedFields));
        String json = objectMapper.writer(fp)
                .writeValueAsString(JsonComparisonResult.from(comparisonResult, resultConsumerConfiguration));
        evolutionLog.debug(json);
    } catch (JsonProcessingException e) {
        log.error("Error creating json comparison result", e);
    }
}