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

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

Introduction

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

Prototype

public ObjectReader reader(ContextAttributes attrs) 

Source Link

Document

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

Usage

From source file:org.wikidata.wdtk.client.JsonSerializationActionTest.java

@Test
public void testJsonGzipOutput() throws IOException {
    String[] args = new String[] { "-a", "json", "-o", "/path/to/output.json", "-z", "gz" };

    DirectoryManagerFactory.setDirectoryManagerClass(MockDirectoryManager.class);

    ClientConfiguration config = new ClientConfiguration(args);
    JsonSerializationAction jsa = (JsonSerializationAction) config.getActions().get(0);

    ItemIdValue subject1 = Datamodel.makeWikidataItemIdValue("Q42");
    MonolingualTextValue mtv1 = Datamodel.makeMonolingualTextValue("Test1", "en");
    MonolingualTextValue mtv2 = Datamodel.makeMonolingualTextValue("Test2", "fr");

    ItemDocument id1 = Datamodel.makeItemDocument(subject1, Arrays.asList(mtv1, mtv2), Arrays.asList(mtv1),
            Collections.<MonolingualTextValue>emptyList(), Collections.<StatementGroup>emptyList(),
            Collections.<String, SiteLink>emptyMap());

    jsa.open();/*w ww  .  ja  v  a 2  s. c  om*/
    jsa.processItemDocument(id1);
    jsa.close();

    MockDirectoryManager mdm = new MockDirectoryManager(Paths.get("/path/to/"), false);

    ObjectMapper mapper = new ObjectMapper();
    ObjectReader documentReader = mapper.reader(JacksonTermedStatementDocument.class);
    MappingIterator<JacksonTermedStatementDocument> documentIterator = documentReader
            .readValues(mdm.getInputStreamForFile("output.json.gz", CompressionType.GZIP));

    List<EntityDocument> results = new ArrayList<>();
    while (documentIterator.hasNextValue()) {
        JacksonTermedStatementDocument document = documentIterator.nextValue();
        document.setSiteIri(Datamodel.SITE_WIKIDATA);
        results.add(document);
    }
    documentIterator.close();

    assertEquals(1, results.size());
    assertEquals(id1, results.get(0));
}

From source file:org.wikidata.wdtk.client.JsonSerializationActionTest.java

@Test
public void testJsonBz2Output() throws IOException {
    String[] args = new String[] { "-a", "json", "-o", "output.json", "-z", "bz2" };

    DirectoryManagerFactory.setDirectoryManagerClass(MockDirectoryManager.class);

    ClientConfiguration config = new ClientConfiguration(args);
    JsonSerializationAction jsa = (JsonSerializationAction) config.getActions().get(0);

    ItemIdValue subject1 = Datamodel.makeWikidataItemIdValue("Q42");
    MonolingualTextValue mtv1 = Datamodel.makeMonolingualTextValue("Test1", "en");
    MonolingualTextValue mtv2 = Datamodel.makeMonolingualTextValue("Test2", "fr");

    ItemDocument id1 = Datamodel.makeItemDocument(subject1, Arrays.asList(mtv1, mtv2), Arrays.asList(mtv1),
            Collections.<MonolingualTextValue>emptyList(), Collections.<StatementGroup>emptyList(),
            Collections.<String, SiteLink>emptyMap());

    jsa.open();//from  www . j a  va 2s .co m
    jsa.processItemDocument(id1);
    jsa.close();

    MockDirectoryManager mdm = new MockDirectoryManager(Paths.get("."), false);

    ObjectMapper mapper = new ObjectMapper();
    ObjectReader documentReader = mapper.reader(JacksonTermedStatementDocument.class);
    MappingIterator<JacksonTermedStatementDocument> documentIterator = documentReader
            .readValues(mdm.getInputStreamForFile("output.json.bz2", CompressionType.BZ2));

    List<EntityDocument> results = new ArrayList<>();
    while (documentIterator.hasNextValue()) {
        JacksonTermedStatementDocument document = documentIterator.nextValue();
        document.setSiteIri(Datamodel.SITE_WIKIDATA);
        results.add(document);
    }
    documentIterator.close();

    assertEquals(1, results.size());
    assertEquals(id1, results.get(0));
}

From source file:org.agorava.facebook.jackson.TagListDeserializer.java

@SuppressWarnings("unchecked")
@Override//from w  w  w. j  ava  2 s.c  o  m
public List<Tag> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = BeanResolver.getInstance().resolve(ObjectMapper.class);
    jp.setCodec(mapper);
    if (jp.hasCurrentToken()) {
        JsonNode dataNode = (JsonNode) jp.readValueAs(JsonNode.class).get("data");
        return (List<Tag>) mapper.reader(new TypeReference<List<Tag>>() {
        }).readValue(dataNode);
    }

    return null;
}

From source file:org.wikidata.wdtk.client.JsonSerializationActionTest.java

@Test
public void testJsonOutput() throws IOException {
    String[] args = new String[] { "-a", "json", "-o", "/path/to/output.json" };

    DirectoryManagerFactory.setDirectoryManagerClass(MockDirectoryManager.class);

    ClientConfiguration config = new ClientConfiguration(args);
    JsonSerializationAction jsa = (JsonSerializationAction) config.getActions().get(0);

    ItemIdValue subject1 = Datamodel.makeWikidataItemIdValue("Q42");
    ItemIdValue subject2 = Datamodel.makeWikidataItemIdValue("Q43");
    MonolingualTextValue mtv1 = Datamodel.makeMonolingualTextValue("Test1", "en");
    MonolingualTextValue mtv2 = Datamodel.makeMonolingualTextValue("Test2", "fr");

    ItemDocument id1 = Datamodel.makeItemDocument(subject1, Arrays.asList(mtv1, mtv2), Arrays.asList(mtv1),
            Collections.<MonolingualTextValue>emptyList(), Collections.<StatementGroup>emptyList(),
            Collections.<String, SiteLink>emptyMap());

    ItemDocument id2 = Datamodel.makeItemDocument(subject2, Collections.<MonolingualTextValue>emptyList(),
            Arrays.asList(mtv2), Collections.<MonolingualTextValue>emptyList(),
            Collections.<StatementGroup>emptyList(), Collections.<String, SiteLink>emptyMap());

    PropertyDocument pd1 = Datamodel.makePropertyDocument(Datamodel.makeWikidataPropertyIdValue("P31"),
            Arrays.asList(mtv1), Collections.<MonolingualTextValue>emptyList(), Arrays.asList(mtv1),
            Datamodel.makeDatatypeIdValue(DatatypeIdValue.DT_MONOLINGUAL_TEXT));

    jsa.open();/*from  w w  w.j  a v a 2s. c  o  m*/
    jsa.processItemDocument(id1);
    jsa.processPropertyDocument(pd1);
    jsa.processItemDocument(id2);
    jsa.close();

    MockDirectoryManager mdm = new MockDirectoryManager(Paths.get("/path/to/"), false);

    ObjectMapper mapper = new ObjectMapper();
    ObjectReader documentReader = mapper.reader(JacksonTermedStatementDocument.class);
    MappingIterator<JacksonTermedStatementDocument> documentIterator = documentReader
            .readValues(mdm.getInputStreamForFile("output.json", CompressionType.NONE));

    List<EntityDocument> results = new ArrayList<>();
    while (documentIterator.hasNextValue()) {
        JacksonTermedStatementDocument document = documentIterator.nextValue();
        document.setSiteIri(Datamodel.SITE_WIKIDATA);
        results.add(document);
    }
    documentIterator.close();

    assertEquals(3, results.size());
    assertEquals(id1, results.get(0));
    assertEquals(pd1, results.get(1));
    assertEquals(id2, results.get(2));

}

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

public PropertiesSearch(final ElasticSearchClient elasticSearchClient) {
    ObjectMapper objectMapper = Jackson.newObjectMapper();
    JavaType type = objectMapper.getTypeFactory().constructParametricType(ElasticSearchResponse.class,
            PropertiesSearchResponse.class);
    this.elasticSearchPropertiesReader = objectMapper.reader(type);
    this.elasticSearchClient = elasticSearchClient;
}

From source file:org.springframework.social.facebook.api.impl.json.TagListDeserializer.java

@SuppressWarnings("unchecked")
@Override/*from  w  ww . j  a va 2  s . c o m*/
public List<Tag> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new FacebookModule());
    jp.setCodec(mapper);
    if (jp.hasCurrentToken()) {
        JsonNode dataNode = (JsonNode) jp.readValueAs(JsonNode.class).get("data");
        return (List<Tag>) mapper.reader(new TypeReference<List<Tag>>() {
        }).readValue(dataNode);
    }

    return null;
}

From source file:org.agorava.linkedin.jackson.RecommendationsListDeserializer.java

@Override
public List<Recommendation> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = BeanResolver.getInstance().resolve(ObjectMapper.class);
    jp.setCodec(mapper);/*from  w  w w.java2s . c om*/
    if (jp.hasCurrentToken()) {
        JsonNode dataNode = jp.readValueAs(JsonNode.class).get("values");
        if (dataNode != null) {
            return mapper.reader(new TypeReference<List<Recommendation>>() {
            }).readValue(dataNode);
        }
    }
    return null;
}

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

public ModuleSearch(final ElasticSearchClient elasticSearchClient) {
    ObjectMapper objectMapper = Jackson.newObjectMapper();
    JavaType type = objectMapper.getTypeFactory().constructParametricType(ElasticSearchResponse.class,
            ModuleSearchResponse.class);
    this.elasticSearchModuleReader = objectMapper.reader(type);
    this.elasticSearchClient = elasticSearchClient;
}

From source file:org.springframework.social.linkedin.api.impl.json.RecommendationsListDeserializer.java

public List<Recommendation> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new LinkedInModule());
    jp.setCodec(mapper);/*from www. ja v  a 2s .c  o  m*/
    if (jp.hasCurrentToken()) {
        JsonNode dataNode = jp.readValueAs(JsonNode.class).get("values");
        if (dataNode != null) {
            return mapper.reader(new TypeReference<List<Recommendation>>() {
            }).readValue(dataNode);
        }
    }
    return null;
}

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

public TemplateSearch(final ElasticSearchClient elasticSearchClient) {
    ObjectMapper objectMapper = Jackson.newObjectMapper();
    JavaType type = objectMapper.getTypeFactory().constructParametricType(ElasticSearchResponse.class,
            TemplateSearchResponse.class);
    this.elasticSearchTemplateReader = objectMapper.reader(type);
    this.elasticSearchClient = elasticSearchClient;
}