/** Demonstrates how to use a JsonGenerator to stream output that you then persist to the * server using StringHandle (in this case, implicitly via writeAs). */ @Test public void testWriteStream() throws IOException { JacksonParserHandle handle = new JacksonParserHandle(); handle = docMgr.read(ORDER_URI, handle); JsonParser jp = handle.get(); if (jp.nextToken() != JsonToken.START_OBJECT) { throw new IOException("Expected data to start with an Object"); } StringWriter jsonWriter = new StringWriter(); JsonGenerator jsonStream = (new ObjectMapper()).getFactory().createGenerator(jsonWriter); // in this sample case we're copying everything up to and excluding the order SerializedString order = new SerializedString("order"); do { jsonStream.copyCurrentEvent(jp); } while ( ! jp.nextFieldName(order) ); jsonStream.flush(); jsonStream.close(); docMgr.writeAs("testWriteStream.json", jsonWriter.toString()); JsonNode originalTree = docMgr.readAs(ORDER_URI, JsonNode.class); JsonNode streamedTree = docMgr.readAs("testWriteStream.json", JsonNode.class); assertEquals("customerName fields don't match", originalTree.get("customerName"), streamedTree.get("customerName")); assertEquals("shipToAddress fields don't match", originalTree.get("shipToAddress"), streamedTree.get("shipToAddress")); assertEquals("billingAddressRequired fields don't match", originalTree.get("billingAddressRequired"), streamedTree.get("billingAddressRequired")); }
JsonNode readTree1 = docMgr.readAs("/testWriteParser1.json", JsonNode.class); JsonNode readTree2 = docMgr.readAs("/testWriteParser2.json", JsonNode.class); JsonNode readTree3 = docMgr.readAs("/testWriteParser3.json", JsonNode.class); assertEquals("readTree1 does not match writeTree", writeTree, readTree1); assertEquals("readTree2 does not match writeTree", writeTree, readTree2);
docMgr.readAs(directory + "file1.json", String.class); docMgr.readAs(directory + "file2.json", String.class); docMgr.readAs(directory + "file3.json", String.class); docMgr.readAs(directory + "file4.json", String.class); } catch (ResourceNotFoundException e) { fail("missing a file that should still be there: " + e); docMgr.readAs(directory + "file5.json", String.class); fail("found file5.json which should not be there"); } catch (ResourceNotFoundException e) { } try { docMgr.readAs(directory + "file6.json", String.class); fail("found file6.json which should not be there"); } catch (ResourceNotFoundException e) { } try { docMgr.readAs(directory + "file7.json", String.class); fail("found file7.json which should not be there"); } catch (ResourceNotFoundException e) { } try { docMgr.readAs(directory + "file8.json", String.class); fail("found file8.json which should not be there"); } catch (ResourceNotFoundException e) { }