Example usage for com.fasterxml.jackson.databind ObjectMapper writer

List of usage examples for com.fasterxml.jackson.databind ObjectMapper writer

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper writer.

Prototype

public ObjectWriter writer(ContextAttributes attrs) 

Source Link

Document

Factory method for constructing ObjectWriter that will use specified default attributes.

Usage

From source file:org.apache.asterix.test.common.ResultExtractor.java

public static InputStream extract(InputStream resultStream) throws Exception {
    ObjectMapper om = new ObjectMapper();
    String resultStr = IOUtils.toString(resultStream, Charset.defaultCharset());
    PrettyPrinter singleLine = new SingleLinePrettyPrinter();
    ObjectNode result = om.readValue(resultStr, ObjectNode.class);

    LOGGER.fine("+++++++\n" + result + "\n+++++++\n");

    String type = "";
    String status = "";
    String results = "";
    String field = "";
    for (Iterator<String> sIter = result.fieldNames(); sIter.hasNext();) {
        field = sIter.next();/*from  w w  w. jav  a 2 s  .co  m*/
        switch (field) {
        case "requestID":
            break;
        case "clientContextID":
            break;
        case "signature":
            break;
        case "status":
            status = om.writeValueAsString(result.get(field));
            break;
        case "type":
            type = om.writeValueAsString(result.get(field));
            break;
        case "metrics":
            LOGGER.fine(om.writeValueAsString(result.get(field)));
            break;
        case "errors":
            JsonNode errors = result.get(field).get(0).get("msg");
            throw new AsterixException(errors.asText());
        case "results":
            if (result.get(field).size() <= 1) {
                if (result.get(field).size() == 0) {
                    results = "";
                } else if (result.get(field).isArray()) {
                    if (result.get(field).get(0).isTextual()) {
                        results = result.get(field).get(0).asText();
                    } else {
                        ObjectMapper omm = new ObjectMapper();
                        omm.setDefaultPrettyPrinter(singleLine);
                        omm.enable(SerializationFeature.INDENT_OUTPUT);
                        results = omm.writer(singleLine).writeValueAsString(result.get(field));
                    }
                } else {
                    results = om.writeValueAsString(result.get(field));
                }
            } else {
                StringBuilder sb = new StringBuilder();
                JsonNode[] fields = Iterators.toArray(result.get(field).elements(), JsonNode.class);
                if (fields.length > 1) {
                    for (JsonNode f : fields) {
                        if (f.isObject()) {
                            sb.append(om.writeValueAsString(f));
                        } else {
                            sb.append(f.asText());
                        }
                    }
                }
                results = sb.toString();
            }
            break;
        default:
            throw new AsterixException("Unanticipated field \"" + field + "\"");
        }
    }

    return IOUtils.toInputStream(results);
}

From source file:org.apereo.portal.dao.usertype.StatisticsJacksonColumnMapper.java

@Override
protected ObjectWriter createObjectWriter(ObjectMapper mapper) {
    return mapper.writer(filters);
}

From source file:org.apereo.portal.events.aggr.JpaStatisticalSummaryTest.java

public void testStorelessUnivariateStatistic(StorelessUnivariateStatistic sus, double expected)
        throws Exception {

    assertEquals(expected, sus.getResult(), 0.1);

    final ObjectMapper mapper = new ObjectMapper();
    mapper.findAndRegisterModules();/*from   w w w . j  a  v  a  2 s . com*/

    //Configure Jackson to just use fields
    mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
    mapper.setVisibility(PropertyAccessor.GETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.IS_GETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.SETTER, Visibility.NONE);
    mapper.setVisibility(PropertyAccessor.CREATOR, Visibility.NONE);

    mapper.addMixInAnnotations(Object.class, IgnoreTypeMixIn.class);

    final FilterProvider filters = new SimpleFilterProvider().addFilter("storedDataFilter",
            SimpleBeanPropertyFilter.serializeAllExcept("storedData"));

    final ObjectWriter ssWriter = mapper.writer(filters);
    final ObjectReader ssReader = mapper.reader(sus.getClass());

    final String susString = ssWriter.writeValueAsString(sus);
    System.out.println(susString);
    final StorelessUnivariateStatistic newSus = ssReader.readValue(susString);

    assertEquals(expected, newSus.getResult(), 0.1);
}