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

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

Introduction

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

Prototype

public TypeFactory getTypeFactory() 

Source Link

Document

Accessor for getting currently configured TypeFactory instance.

Usage

From source file:co.rsk.core.NetworkStateExporterTest.java

private Map writeAndReadJson(Repository repository) throws Exception {
    NetworkStateExporter nse = new NetworkStateExporter(repository);
    Assert.assertTrue(nse.exportStatus(jsonFileName));

    InputStream inputStream = new FileInputStream(jsonFileName);
    String json = new String(ByteStreams.toByteArray(inputStream));

    ObjectMapper mapper = new ObjectMapper();
    JavaType type = mapper.getTypeFactory().constructType(HashMap.class);
    Map result = new ObjectMapper().readValue(json, type);
    return result;
}

From source file:com.vsct.dt.hesperides.indexation.search.ApplicationSearch.java

/**
 * Main constructor.//from  ww  w.ja  v a 2  s  .com
 *
 * @param elasticSearchClient
 */
public ApplicationSearch(final ElasticSearchClient elasticSearchClient) {
    ObjectMapper objectMapper = Jackson.newObjectMapper();
    JavaType searchType = objectMapper.getTypeFactory().constructParametricType(ElasticSearchResponse.class,
            ApplicationSearchResponse.class);
    this.elasticSearchVsctApplicationReader = objectMapper.reader(searchType);
    JavaType searchTypePlatform = objectMapper.getTypeFactory()
            .constructParametricType(ElasticSearchResponse.class, PlatformSearchResponse.class);
    this.elasticSearchVsctPlatformReader = objectMapper.reader(searchTypePlatform);
    JavaType searchTypePlatformApplication = objectMapper.getTypeFactory()
            .constructParametricType(ElasticSearchResponse.class, PlatformApplicationSearchResponse.class);
    this.elasticSearchVsctPlatformApplicationReader = objectMapper.reader(searchTypePlatformApplication);
    this.elasticSearchClient = elasticSearchClient;
}

From source file:org.apache.streams.data.MoreoverJsonActivitySerializer.java

@Override
public Activity deserialize(String serialized) {
    serialized = serialized.replaceAll("\\[[ ]*\\]", "null");

    System.out.println(serialized);

    ObjectMapper mapper = new ObjectMapper();
    AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(mapper.getTypeFactory());
    mapper.setAnnotationIntrospector(introspector);
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, Boolean.FALSE);
    mapper.configure(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE, Boolean.FALSE);
    mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, Boolean.TRUE);
    mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, Boolean.TRUE);
    mapper.configure(DeserializationFeature.WRAP_EXCEPTIONS, Boolean.TRUE);

    Article article;//from w  w w . j av  a 2 s.co  m
    try {
        ObjectNode node = (ObjectNode) mapper.readTree(serialized);
        node.remove("tags");
        node.remove("locations");
        node.remove("companies");
        node.remove("topics");
        node.remove("media");
        node.remove("outboundUrls");
        ObjectNode jsonNodes = (ObjectNode) node.get("source").get("feed");
        jsonNodes.remove("editorialTopics");
        jsonNodes.remove("tags");
        jsonNodes.remove("autoTopics");
        article = mapper.convertValue(node, Article.class);
    } catch (IOException e) {
        throw new IllegalArgumentException("Unable to deserialize", e);
    }
    return MoreoverUtils.convert(article);
}

From source file:org.talend.dataprep.schema.html.HtmlSerializerTest.java

@Test
public void html_serializer_with_jira_export() throws Exception {

    final SchemaParser.Request request;
    final Schema result;
    try (InputStream inputStream = this.getClass().getResourceAsStream("jira_export.xls")) {
        // We do know the format and therefore we go directly to the HTML schema guessing
        request = getRequest(inputStream, "#2");
        request.getMetadata().setEncoding("UTF-16");

        result = htmlSchemaGuesser.parse(request);
    }/*from  w w w . j  a v  a 2  s. c  o  m*/

    try (InputStream inputStream = this.getClass().getResourceAsStream("jira_export.xls")) {

        final List<ColumnMetadata> columns = result.getSheetContents().get(0).getColumnMetadatas();
        Assert.assertThat(columns.size(), is(98));
        request.getMetadata().getRowMetadata().setColumns(columns);

        InputStream jsonStream = htmlSerializer.serialize(inputStream, request.getMetadata(), -1);

        String json = IOUtils.toString(jsonStream);
        ObjectMapper mapper = new ObjectMapper();
        CollectionType collectionType = mapper.getTypeFactory().constructCollectionType(ArrayList.class,
                TreeMap.class);
        List<Map<String, String>> values = mapper.readValue(json, collectionType);
        Map<String, String> row0 = values.get(0);
        for (String s : row0.keySet()) {
            row0.put(s, row0.get(s).trim());
        }
        Assertions.assertThat(row0).contains(MapEntry.entry("0001", "TDP-1"));
    }
}

From source file:org.apache.streams.moreover.MoreoverJsonActivitySerializer.java

@Override
public Activity deserialize(String serialized) {
    serialized = serialized.replaceAll("\\[[ ]*\\]", "null");

    LOGGER.debug(serialized);//from ww  w. j a  v a2 s. c o m

    ObjectMapper mapper = new ObjectMapper();
    AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(mapper.getTypeFactory());
    mapper.setAnnotationIntrospector(introspector);
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, Boolean.FALSE);
    mapper.configure(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE, Boolean.FALSE);
    mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, Boolean.TRUE);
    mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, Boolean.TRUE);
    mapper.configure(DeserializationFeature.WRAP_EXCEPTIONS, Boolean.TRUE);

    Article article;
    try {
        ObjectNode node = (ObjectNode) mapper.readTree(serialized);
        node.remove("tags");
        node.remove("locations");
        node.remove("companies");
        node.remove("topics");
        node.remove("media");
        node.remove("outboundUrls");
        ObjectNode jsonNodes = (ObjectNode) node.get("source").get("feed");
        jsonNodes.remove("editorialTopics");
        jsonNodes.remove("tags");
        jsonNodes.remove("autoTopics");
        article = mapper.convertValue(node, Article.class);
    } catch (IOException ex) {
        throw new IllegalArgumentException("Unable to deserialize", ex);
    }
    return MoreoverUtils.convert(article);
}

From source file:net.mostlyharmless.jghservice.connector.jira.SearchIssues.java

@Override
public List<JiraEvent.Issue> processResponse(String jsonResponse) throws IOException {
    ObjectMapper m = new ObjectMapperProvider().getContext(JiraEvent.Issue.class);
    ObjectNode root = (ObjectNode) m.readTree(jsonResponse);
    JavaType t = m.getTypeFactory().constructCollectionType(List.class, JiraEvent.Issue.class);
    return m.convertValue(root.get("issues"), t);
}

From source file:io.syndesis.jsondb.dao.JsonDbDao.java

@Override
public ListResult<T> fetchAll() {
    try {/*from  w  w w.  j  a  va2  s. c  om*/
        // get the data out..
        byte[] json = jsondb.getAsByteArray(getCollectionPath());
        if (json != null && json.length > 0) {

            // Lets use jackson to parse the map of keys to our model instances
            ObjectMapper mapper = Json.mapper();
            TypeFactory typeFactory = mapper.getTypeFactory();
            MapType mapType = typeFactory.constructMapType(LinkedHashMap.class, String.class, getType());
            LinkedHashMap<String, T> map = mapper.readValue(json, mapType);

            return ListResult.of(map.values());
        }

        return ListResult.of(Collections.<T>emptyList());
    } catch (@SuppressWarnings("PMD.AvoidCatchingGenericException") RuntimeException | IOException e) {
        throw SyndesisServerException.launderThrowable(e);
    }
}

From source file:org.talend.dataprep.schema.html.HtmlSerializerTest.java

@Test
public void html_serializer() throws Exception {

    final SchemaParser.Request request;
    final Schema result;
    try (InputStream inputStream = this.getClass().getResourceAsStream("sales-force.xls")) {
        // We do know the format and therefore we go directly to the HTML schema guessing
        request = getRequest(inputStream, "#2");
        request.getMetadata().setEncoding("UTF-16");

        result = htmlSchemaGuesser.parse(request);
    }/* w w w.j a  v a  2  s . c om*/

    try (InputStream inputStream = this.getClass().getResourceAsStream("sales-force.xls")) {

        request.getMetadata().getRowMetadata()
                .setColumns(result.getSheetContents().get(0).getColumnMetadatas());

        InputStream jsonStream = htmlSerializer.serialize(inputStream, request.getMetadata(), -1);

        String json = IOUtils.toString(jsonStream);

        logger.debug("json: {}", json);

        ObjectMapper mapper = new ObjectMapper();

        CollectionType collectionType = mapper.getTypeFactory().constructCollectionType(ArrayList.class,
                TreeMap.class);

        List<Map<String, String>> values = mapper.readValue(json, collectionType);

        logger.debug("values: {}", values);

        Map<String, String> row0 = values.get(0);

        Assertions.assertThat(row0).contains(MapEntry.entry("0000", "000001"), //
                MapEntry.entry("0001", "Jennifer BOS"), //
                MapEntry.entry("0002", "France"), //
                MapEntry.entry("0003", "jbos@talend.com"));
    }
}

From source file:uk.gov.gchq.gaffer.rest.service.GraphConfigurationService.java

@SuppressFBWarnings(value = "REC_CATCH_EXCEPTION", justification = "Need to wrap all runtime exceptions before they are given to the user")
@Override//ww w  .  j  av a 2  s.  c o  m
public Set<String> getSerialisedFields(final String className) {
    final Class<?> clazz;
    try {
        clazz = Class.forName(className);
    } catch (final Exception e) {
        throw new IllegalArgumentException("Class name was not recognised: " + className, e);
    }

    final ObjectMapper mapper = new ObjectMapper();
    final JavaType type = mapper.getTypeFactory().constructType(clazz);
    final BeanDescription introspection = mapper.getSerializationConfig().introspect(type);
    final List<BeanPropertyDefinition> properties = introspection.findProperties();

    final Set<String> fields = new HashSet<>();
    for (final BeanPropertyDefinition property : properties) {
        fields.add(property.getName());
    }

    return fields;
}

From source file:org.axiom_tools.codecs.ModelCodec.java

/**
 * Returns a new JSON object mapper.//from w w  w.  j  ava  2 s . c  o m
 */
private ObjectMapper buildObjectMapper() {
    ObjectMapper result = new ObjectMapper();
    result.setAnnotationIntrospector(new JaxbAnnotationIntrospector(result.getTypeFactory()));
    result.enable(SerializationFeature.INDENT_OUTPUT);
    return result;
}