Example usage for com.fasterxml.jackson.databind ObjectReader readValue

List of usage examples for com.fasterxml.jackson.databind ObjectReader readValue

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectReader readValue.

Prototype

@SuppressWarnings("unchecked")
public <T> T readValue(JsonNode src) throws IOException, JsonProcessingException 

Source Link

Document

Convenience method for converting results from given JSON tree into given value type.

Usage

From source file:org.freelectron.leobel.testlwa.models.AlertsFileDataStore.java

@Override
public synchronized void loadFromDisk(final AlertManager manager, final ResultListener listener) {
    sExecutor.execute(new Runnable() {
        @Override/*from w ww  .j av  a  2s. com*/
        public void run() {
            FileReader fis = null;
            BufferedReader br = null;
            JsonReader parser = null;

            ObjectReader reader = ObjectMapperFactory.getObjectReader()
                    .forType(new TypeReference<List<Alert>>() {
                    });
            List<Alert> droppedAlerts = new LinkedList<Alert>();
            try {
                fis = new FileReader(ALARM_FILE);
                br = new BufferedReader(fis);

                List<Alert> alerts = reader.readValue(br);
                for (Alert alert : alerts) {
                    // Only add alerts that are within the expiration window
                    if (alert.getScheduledTime()
                            .isAfter(DateTime.now().minusMinutes(MINUTES_AFTER_PAST_ALERT_EXPIRES))) {
                        manager.add(alert, true);
                    } else {
                        droppedAlerts.add(alert);
                    }
                }
                // Now that all the valid alerts have been re-added to the alarm manager,
                // go through and explicitly drop all the alerts that were not added
                for (Alert alert : droppedAlerts) {
                    manager.drop(alert);
                }
                listener.onSuccess();
            } catch (FileNotFoundException e) {
                // This is not a fatal error
                // The alarm file might not have been created yet
                listener.onSuccess();
            } catch (IOException e) {
                Log.d("Fail", "Failed to load alerts from disk." + e.getMessage(), e);
                listener.onFailure();
            } finally {
                IOUtils.closeQuietly(parser);
                IOUtils.closeQuietly(br);
            }
        }
    });
}

From source file:cf.nats.message.Demarshalling.java

@Test
public void deaStart() throws Exception {
    final ObjectReader reader = mapper.reader(DeaStart.class);
    final String deaStartMessage = "{\"droplet\":\"060e10ec-3c2c-461e-890b-e630e86163ff\",\"name\":\"cf-app\",\"services\":[{\"credentials\":{\"name\":\"Dude\"},\"options\":{},\"label\":\"servicemanager-service-0.1\",\"name\":\"sm\"}],\"vcap_application\":{\"name\":\"cf-app\",\"space_name\":\"test\",\"space_id\":\"b327c22e-879c-4a10-80dc-3b72173bbdfd\"},\"index\":1}";
    final DeaStart deaStart = reader.readValue(deaStartMessage);
    assertNotNull(deaStart);// w  w  w .  j a  va 2  s. co m
    assertEquals("060e10ec-3c2c-461e-890b-e630e86163ff", deaStart.getDroplet());
    assertEquals(1, deaStart.getServices().length);
    assertEquals("sm", deaStart.getServices()[0].getName());
    assertNotNull(deaStart.getServices()[0].getCredentials());
    assertEquals("test", deaStart.getVcapApplication().getSpaceName());
    assertEquals(1, deaStart.getIndex().intValue());
}

From source file:com.spotify.docgenerator.DocgeneratorMojo.java

private List<ResourceMethod> readResourceMethods(ObjectMapper mapper, FileInputStream ist)
        throws JsonProcessingException, IOException {
    final ObjectReader reader = mapper.reader(new TypeReference<List<ResourceMethod>>() {
    });//from w w  w  .  j  a  v  a 2  s.  co  m
    return reader.readValue(ist);
}

From source file:com.spotify.docgenerator.DocgeneratorMojo.java

private Map<String, TransferClass> readTransferClasses(final ObjectMapper mapper, FileInputStream ist)
        throws IOException, JsonProcessingException {
    final ObjectReader reader = mapper.reader(new TypeReference<Map<String, TransferClass>>() {
    });//from  w ww .j a va 2 s . co m
    return reader.readValue(ist);
}

From source file:com.marklogic.client.test.JacksonDatabindTest.java

/** Demonstrate using Jackson's CSV mapper directly to simplify reading in data, populating a 
 * third-party pojo (one we cannot annotate) then writing it out
 * via JacksonDatabindHandle with configuration provided by mix-in annotations.
 **//*from  ww  w  .ja v a 2 s  .  com*/
@Test
public void testDatabindingThirdPartyPojoWithMixinAnnotations() throws JsonProcessingException, IOException {
    CsvSchema schema = CsvSchema.builder().setColumnSeparator('\t').addColumn("geoNameId").addColumn("name")
            .addColumn("asciiName").addColumn("alternateNames")
            .addColumn("latitude", CsvSchema.ColumnType.NUMBER)
            .addColumn("longitude", CsvSchema.ColumnType.NUMBER).addColumn("featureClass")
            .addColumn("featureCode").addColumn("countryCode").addColumn("countryCode2").addColumn("adminCode1")
            .addColumn("adminCode2").addColumn("adminCode3").addColumn("adminCode4").addColumn("population")
            .addColumn("elevation", CsvSchema.ColumnType.NUMBER).addColumn("dem", CsvSchema.ColumnType.NUMBER)
            .addColumn("timezoneCode").addColumn("lastModified").build();
    CsvMapper mapper = new CsvMapper();
    mapper.addMixInAnnotations(Toponym.class, ToponymMixIn1.class);
    ObjectReader reader = mapper.reader(Toponym.class).with(schema);
    BufferedReader cityReader = new BufferedReader(Common.testFileToReader(CITIES_FILE));
    GenericDocumentManager docMgr = Common.client.newDocumentManager();
    DocumentWriteSet set = docMgr.newWriteSet();
    String line = null;
    for (int numWritten = 0; numWritten < MAX_TO_WRITE
            && (line = cityReader.readLine()) != null; numWritten++) {
        Toponym city = reader.readValue(line);
        JacksonDatabindHandle handle = new JacksonDatabindHandle(city);
        handle.getMapper().addMixInAnnotations(Toponym.class, ToponymMixIn2.class);
        set.add(DIRECTORY + "/thirdPartyJsonCities/" + city.getGeoNameId() + ".json", handle);
    }
    docMgr.write(set);
    cityReader.close();
    // we can add assertions later, for now this test just serves as example code and 
    // ensures no exceptions are thrown
}

From source file:cf.nats.message.Demarshalling.java

@Test
public void deaHeartbeat() throws Exception {
    final ObjectReader reader = mapper.reader(DeaHeartbeat.class);
    final String deaHeartbeatMessage = "{\"droplets\":[{\"cc_partition\":\"default\",\"droplet\":\"060e10ec-3c2c-461e-890b-e630e86163ff\",\"version\":\"90dfa9bd-3406-44c0-b1b6-bfdeccac4777\",\"instance\":\"37468705e1794e17be17a31f19c9fe99\",\"index\":0,\"state\":\"RUNNING\",\"state_timestamp\":1401124825.6917121},{\"cc_partition\":\"default\",\"droplet\":\"9887245b-7af0-4b63-b0bb-d0f2baf6c34d\",\"version\":\"18de2fb1-2f47-4910-b391-2c985f0a9bf9\",\"instance\":\"7e823ec1080e4bc284a669398f045dd9\",\"index\":0,\"state\":\"CRASHED\",\"state_timestamp\":1401124844.5487561}],\"dea\":\"0-7b8ba7d0e9f9411188b223dc462bb330\"}";
    final DeaHeartbeat deaHeartbeat = reader.readValue(deaHeartbeatMessage);
    assertNotNull(deaHeartbeat);/*from  ww  w  .ja  v a  2  s . co  m*/
    assertEquals("0-7b8ba7d0e9f9411188b223dc462bb330", deaHeartbeat.getDea());
    assertEquals(2, deaHeartbeat.getDroplets().length);
    assertEquals("060e10ec-3c2c-461e-890b-e630e86163ff", deaHeartbeat.getDroplets()[0].getDroplet());
    assertEquals("37468705e1794e17be17a31f19c9fe99", deaHeartbeat.getDroplets()[0].getInstance());
    assertEquals(0, deaHeartbeat.getDroplets()[0].getIndex().intValue());
    assertEquals(DeaHeartbeat.Droplet.RUNNING, deaHeartbeat.getDroplets()[0].getState());
    assertEquals("9887245b-7af0-4b63-b0bb-d0f2baf6c34d", deaHeartbeat.getDroplets()[1].getDroplet());
}

From source file:com.basistech.rosette.dm.json.plain.JsonTest.java

@Test
public void roundTripOldEntities() throws Exception {
    StringWriter writer = new StringWriter();
    ObjectMapper mapper = AnnotatedDataModelModule.setupObjectMapper(new ObjectMapper());
    ObjectWriter objectWriter = mapper.writer();
    objectWriter.writeValue(writer, referenceTextOldEntities);

    ObjectReader reader = mapper.readerFor(AnnotatedText.class);
    AnnotatedText read = reader.readValue(writer.toString());

    ListAttribute<BaseNounPhrase> bnpList = read.getBaseNounPhrases();
    assertNotNull(bnpList);/*from www .j av a 2s  .  co  m*/
    assertEquals(1, bnpList.size());
    BaseNounPhrase bnp = bnpList.get(0);
    assertEquals(baseNounPhrase, bnp);

    ListAttribute<com.basistech.rosette.dm.EntityMention> emList = read.getEntityMentions();
    assertNotNull(emList);
    assertEquals(1, emList.size());
    com.basistech.rosette.dm.EntityMention em = emList.get(0);
    assertEquals(entityMention, em);

    ListAttribute<RelationshipMention> rmList = read.getRelationshipMentions();
    assertNotNull(rmList);
    assertEquals(1, rmList.size());
    RelationshipMention rm = rmList.get(0);
    assertEquals(relationshipMention, rm);

    ListAttribute<com.basistech.rosette.dm.ResolvedEntity> resolvedEntityList = read.getResolvedEntities();
    assertNotNull(resolvedEntityList);
    assertEquals(1, resolvedEntityList.size());
    com.basistech.rosette.dm.ResolvedEntity e = resolvedEntityList.get(0);
    assertEquals(resolvedEntity, e);

    ListAttribute<LanguageDetection> languageDetectionList = read.getLanguageDetectionRegions();
    assertNotNull(languageDetectionList);
    assertEquals(1, languageDetectionList.size());

    assertEquals(languageDetectionRegion, languageDetectionList.get(0));
    assertEquals(languageDetection, read.getWholeTextLanguageDetection());

    ListAttribute<ScriptRegion> scriptRegionList = read.getScriptRegions();
    assertNotNull(scriptRegionList);
    assertEquals(1, scriptRegionList.size());

    assertEquals(scriptRegion, scriptRegionList.get(0));

    ListAttribute<Sentence> sentences = read.getSentences();
    assertNotNull(sentences);

    assertEquals(sentence, sentences.get(0));

    ListAttribute<Token> tokenList = read.getTokens();
    assertNotNull(tokenList);
    assertEquals(1, tokenList.size());
    assertEquals(token, tokenList.get(0));

    ListAttribute<TranslatedData> dataTranslations = read.getTranslatedData();
    assertEquals(germanTranslatedData, dataTranslations.get(0));
    assertEquals(spanishTranslatedData, dataTranslations.get(1));

    ListAttribute<TranslatedTokens> translatedTokens = read.getTranslatedTokens();
    assertEquals(germanTranslation, translatedTokens.get(0));
    assertEquals(spanishTranslation, translatedTokens.get(1));

    assertEquals(categoryResult, read.getCategorizerResults().get(0));

    assertEquals(sentimentResult, read.getSentimentResults().get(0));

    assertEquals(topicResult, read.getTopicResults().get(0));
}