List of usage examples for com.fasterxml.jackson.databind ObjectReader readValue
@SuppressWarnings("unchecked") public <T> T readValue(JsonNode src) throws IOException, JsonProcessingException
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)); }