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

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

Introduction

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

Prototype

public JsonNode readTree(URL source) throws IOException, JsonProcessingException 

Source Link

Document

Method to deserialize JSON content as tree expressed using set of JsonNode instances.

Usage

From source file:org.fcrepo.camel.indexing.solr.DeleteProcessorTest.java

@Test
public void testDeleteProcessor() throws Exception {

    final String id = "/foo";
    final String baseUrl = "http://localhost/rest";

    resultEndpoint.expectedMessageCount(2);
    resultEndpoint.expectedHeaderReceived(FcrepoHeaders.FCREPO_IDENTIFIER, id);
    resultEndpoint.expectedHeaderReceived(FcrepoHeaders.FCREPO_BASE_URL, baseUrl);
    resultEndpoint.expectedHeaderReceived(Exchange.HTTP_METHOD, "POST");
    resultEndpoint.expectedHeaderReceived(Exchange.CONTENT_TYPE, "application/json");

    final Map<String, Object> headers = new HashMap<>();
    headers.put(FcrepoHeaders.FCREPO_IDENTIFIER, id);
    headers.put(FcrepoHeaders.FCREPO_BASE_URL, baseUrl);

    template.sendBodyAndHeaders("", headers);

    headers.clear();/*from   ww w. ja  va2s .c  o m*/
    headers.put(JmsHeaders.IDENTIFIER, id);
    headers.put(JmsHeaders.BASE_URL, baseUrl);
    template.sendBodyAndHeaders("", headers);

    final ObjectMapper mapper = new ObjectMapper();

    for (final Exchange e : resultEndpoint.getExchanges()) {
        final JsonNode root = mapper.readTree(e.getIn().getBody(String.class));
        final JsonNode deleteNode = root.get("delete");
        assertNotNull(deleteNode);
        assertNotNull(deleteNode.get("id"));
        assertEquals(deleteNode.get("id").asText(), baseUrl + id);
    }

    assertMockEndpointsSatisfied();
}

From source file:org.onosproject.north.aaa.api.parser.impl.UserParser.java

@Override
public Set<User> parseJson(InputStream stream) throws IOException, ParseException {
    // begin parsing JSON to Application class
    ObjectMapper mapper = new ObjectMapper();
    JsonNode jsonNode = mapper.readTree(stream);
    JsonParser jp = jsonNode.traverse();
    Set<User> userSet = new HashSet<>();

    // continue parsing the token till the end of input is reached
    while (!jp.isClosed()) {
        // get the token
        JsonToken token = jp.nextToken();
        // if its the last token then we are done
        if (token == null) {
            break;
        }/*  w  w w.j  av  a  2s.c  om*/
        if (JsonToken.FIELD_NAME.equals(token) && "users".equals(jp.getCurrentName())) {
            token = jp.nextToken();
            if (!JsonToken.START_ARRAY.equals(token)) {
                // bail out
                throw new ParseException("expected ARRAY after users");
            }

            while (true) {
                token = jp.nextToken();
                if (JsonToken.END_ARRAY.equals(token)) {
                    // bail out
                    break;
                }
                if (JsonToken.START_OBJECT.equals(token)) {
                    User user = jsonToUser(jp);
                    userSet.add(user);
                }
            }
        }
    }
    return userSet;
}

From source file:org.hawkular.metrics.clients.ptrans.backend.RestForwardingHandlerITest.java

private JsonNode findNumericDataOnServer() throws IOException {
    HttpURLConnection urlConnection = (HttpURLConnection) new URL(findNumericDataUrl).openConnection();
    urlConnection.connect();//w ww  .j a v  a2s . c  o m
    int responseCode = urlConnection.getResponseCode();
    if (responseCode != HttpURLConnection.HTTP_OK) {
        return null;
    }
    ObjectMapper objectMapper = new ObjectMapper();
    try (InputStream inputStream = urlConnection.getInputStream()) {
        return objectMapper.readTree(inputStream);
    }
}

From source file:com.auditbucket.test.unit.TestJson.java

@Test
public void compressLotsOfBytes() throws Exception {
    String json = getBigJsonText(99);
    System.out.println("Pretty JSON          - " + json.getBytes().length);
    LogInputBean log = new LogInputBean("", "", null, json);
    System.out.println("JSON Node (unpretty) - " + log.getWhat().getBytes().length);

    CompressionResult result = CompressionHelper.compress(json);
    System.out.println("Compress Pretty      - " + result.length());
    result = CompressionHelper.compress(log.getWhat());
    System.out.println("Compressed JSON      - " + result.length());

    Assert.assertEquals(CompressionResult.Method.GZIP, result.getMethod());

    json = getBigJsonText(99);/*from ww w .  java 2s. c om*/
    String uncompressed = CompressionHelper.decompress(result);

    ObjectMapper mapper = new ObjectMapper();
    JsonNode compareTo = mapper.readTree(json);
    JsonNode other = mapper.readTree(uncompressed);
    Assert.assertTrue(compareTo.equals(other));
}

From source file:com.ejisto.modules.factory.impl.CollectionFactory.java

private void applyExpressions(Collection<Y> in, String expression, ObjectFactory<Y> elementObjectFactory,
        MockedField mockedField, Collection<Y> actualValue) {
    if (StringUtils.isBlank(expression)) {
        return;//  w  w w . j  a v a  2  s. co m
    }
    try {
        final ObjectMapper mapper = new ObjectMapper();
        final JsonNode root = mapper.readTree(expression.getBytes(ConfigurationManager.UTF_8));
        for (JsonNode child : root) {
            @SuppressWarnings("unchecked")
            Y element = (Y) mapper.readValue(child.asText(), elementObjectFactory.getTargetClass());
            in.add(element);
        }
    } catch (Exception e) {
        throw new ApplicationException(e);
    }
}

From source file:com.crushpaper.DbJsonBackupForUserTest.java

@Test
public void test4() throws IOException {
    final TestEntrySet before = new TestEntrySet(new TestEntry[] {
            new TestEntry("1", new TestEntry[] { new TestEntry("2", 2), new TestEntry("3", 3) }) });

    final ObjectMapper mapper = new ObjectMapper();
    final JsonNode node1 = mapper
            .readTree("{\n" + "\"note\": \"3\",\n" + "\"modTime\": 3,\n" + "\"createTime\": 3,\n"
                    + "\"id\": \"S5\",\n" + "\"type\": \"note\",\n" + "\"parentId\": \"S3\"\n" + "}");

    final JsonNode node2 = mapper.readTree("{\n" + "\"note\": \"2\",\n" + "\"modTime\": 2,\n"
            + "\"createTime\": 2,\n" + "\"id\": \"S4\",\n" + "\"type\": \"note\",\n" + "\"parentId\": \"S3\",\n"
            + "\"nextSiblingId\": \"S5\"\n" + "}");

    final JsonNode node3 = mapper.readTree("{\n" + "\"note\": \"1\",\n" + "\"modTime\": 1,\n"
            + "\"createTime\": 1,\n" + "\"id\": \"S3\",\n" + "\"type\": \"root\"\n" + "}\n");

    final Errors errors = new Errors();
    try {/*from  ww w . j a va 2 s.  c o  m*/
        final User user = dbLogic.getOrCreateUser("user");
        assertTrue(dbLogic.addEntries(before, user, createTime, errors));
        dbLogic.commit();
        final StringBuilder result = new StringBuilder();
        dbLogic.backupJsonForUser(user, result);
        final JsonNode resultNode = mapper.readTree(result.toString());
        assertTrue(resultNode.isObject());
        final JsonNode entriesNodes = resultNode.get("entries");
        assertTrue(entriesNodes.isArray());
        assertEquals(3, entriesNodes.size());
        boolean matched1 = false, matched2 = false, matched3 = false;
        for (int i = 0; i < 3; ++i) {
            final JsonNode obj = entriesNodes.get(i);
            if (obj.equals(node1)) {
                matched1 = true;
            } else if (obj.equals(node2)) {
                matched2 = true;
            } else if (obj.equals(node3)) {
                matched3 = true;
            }
        }

        assertTrue(matched1);
        assertTrue(matched2);
        assertTrue(matched3);
    } catch (final IOException e) {
        assertTrue(false);
    }
}

From source file:org.opendaylight.sfc.sbrest.json.RspExporterTest.java

private boolean testExportRspJson(String expectedResultFile, boolean nameOnly) throws IOException {
    RenderedServicePath renderedServicePath;
    String exportedRspString;/*from  ww w  . ja  va 2s  . c om*/
    RspExporterFactory rspExporterFactory = new RspExporterFactory();

    if (nameOnly) {
        renderedServicePath = this.buildRenderedServicePathNameOnly();
        exportedRspString = rspExporterFactory.getExporter().exportJsonNameOnly(renderedServicePath);
    } else {
        renderedServicePath = this.buildRenderedServicePath();
        exportedRspString = rspExporterFactory.getExporter().exportJson(renderedServicePath);
    }

    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode expectedRspJson = objectMapper
            .readTree(this.gatherRenderedServicePathJsonStringFromFile(expectedResultFile));
    JsonNode exportedRspJson = objectMapper.readTree(exportedRspString);

    return expectedRspJson.equals(exportedRspJson);
}

From source file:com.comcast.cdn.traffic_control.traffic_router.core.external.LocationsTest.java

@Test
public void itGetsCachesForALocation() throws Exception {
    HttpGet httpGet = new HttpGet("http://localhost:3333/crs/locations");

    CloseableHttpResponse response = null;
    try {/*from   ww  w .j  a  v  a  2 s  .co  m*/
        response = closeableHttpClient.execute(httpGet);

        ObjectMapper objectMapper = new ObjectMapper(new JsonFactory());
        JsonNode jsonNode = objectMapper.readTree(EntityUtils.toString(response.getEntity()));

        String location = jsonNode.get("locations").get(0).asText();

        httpGet = new HttpGet("http://localhost:3333/crs/locations/" + location + "/caches");

        response = closeableHttpClient.execute(httpGet);

        jsonNode = objectMapper.readTree(EntityUtils.toString(response.getEntity()));

        assertThat(jsonNode.get("caches").isArray(), equalTo(true));
        JsonNode cacheNode = jsonNode.get("caches").get(0);

        assertThat(cacheNode.get("cacheId").asText(), not(equalTo("")));
        assertThat(cacheNode.get("fqdn").asText(), not(equalTo("")));

        assertThat(cacheNode.get("ipAddresses").isArray(), equalTo(true));
        assertThat(cacheNode.has("adminStatus"), equalTo(true));

        assertThat(cacheNode.get("port").asInt(-123456), not(equalTo(-123456)));
        assertThat(cacheNode.get("lastUpdateTime").asInt(-123456), not(equalTo(-123456)));
        assertThat(cacheNode.get("connections").asInt(-123456), not(equalTo(-123456)));
        assertThat(cacheNode.get("currentBW").asInt(-123456), not(equalTo(-123456)));
        assertThat(cacheNode.get("availBW").asInt(-123456), not(equalTo(-123456)));

        assertThat(cacheNode.get("cacheOnline").asText(), anyOf(equalTo("true"), equalTo("false")));
        assertThat(cacheNode.get("lastUpdateHealthy").asText(), anyOf(equalTo("true"), equalTo("false")));

    } finally {
        if (response != null)
            response.close();
    }
}

From source file:UserUpdateTest.java

@Test
public void testUserChangeRole() {
    running(getFakeApplication(), new Runnable() {
        public void run() {
            try {
                //create a user
                String userName = "fake" + UUID.randomUUID().toString();
                String sFakeAdminUserRoute = "/admin/user";
                FakeRequest request = new FakeRequest(POST, sFakeAdminUserRoute);
                request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
                request = request.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree("{\"username\":\"" + userName + "\","
                        + "\"password\":\"test\"," + "\"role\":\"registered\"}");
                request = request.withJsonBody(actualObj);
                request = request.withHeader("Content-Type", "application/json");
                Result result = route(request);
                assertRoute(result, "testUserChangeRole.createUser", Status.CREATED, null, true);

                //change its role
                FakeRequest request1 = new FakeRequest(PUT, "/admin/user/" + userName);
                request1 = request1.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
                request1 = request1.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
                mapper = new ObjectMapper();
                actualObj = mapper.readTree(
                        "{\"role\":\"backoffice\",\"visibleByAnonymousUsers\":{},\"visibleByTheUser\":{},\"visibleByFriends\":{},"
                                + "\"visibleByRegisteredUsers\":{} }");
                request1 = request1.withJsonBody(actualObj, PUT);
                request1 = request1.withHeader("Content-Type", "application/json");
                result = route(request1);
                assertRoute(result, "testUserChangeRole.changeRole", Status.OK,
                        "\"roles\":[{\"name\":\"backoffice\"", true);

            } catch (Exception e) {
                e.printStackTrace();/*from   w w w .  j  a  v  a 2  s  . co  m*/
                fail();
            }
        }
    });
}

From source file:com.cloudmine.api.persistance.CMJacksonModule.java

public CMJacksonModule() {
    super("CustomModule", new Version(1, 0, 0, null));
    addSerializer(new JsonSerializer<Date>() {

        @Override//from ww w.ja v  a2  s  . c  o  m
        public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeStartObject();
            jgen.writeRaw(JsonUtilities.convertDateToUnwrappedJsonClass(value));
            jgen.writeEndObject();
        }

        @Override
        public Class<Date> handledType() {
            return Date.class;
        }
    });

    addDeserializer(Date.class, new JsonDeserializer<Date>() {
        @Override
        public Date deserialize(JsonParser jp, DeserializationContext ctxt)
                throws IOException, JsonProcessingException {
            ObjectMapper mapper = (ObjectMapper) jp.getCodec();
            ObjectNode root = (ObjectNode) mapper.readTree(jp);
            JsonNode classNode = root.get(JsonUtilities.CLASS_KEY);
            boolean isDate = classNode != null && JsonUtilities.DATE_CLASS.equals(classNode.asText());
            if (isDate) {
                JsonNode timeNode = root.get(JsonUtilities.TIME_KEY);
                if (timeNode != null) {
                    Long seconds = timeNode.asLong();
                    Date date = new Date(seconds * 1000);
                    return date;
                }
            }
            return null;
        }
    });
    addSerializer(new JsonSerializer<SimpleCMObject>() {

        @Override
        public void serialize(SimpleCMObject value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException {
            jgen.writeStartObject();
            String json = null;
            try {
                json = value.asUnkeyedObject();
            } catch (ConversionException e) {
                LOG.error("Error while serializing, sending empty json", e);
                json = JsonUtilities.EMPTY_JSON;
            }
            jgen.writeRaw(JsonUtilities.unwrap(json));
            jgen.writeEndObject();
        }

        @Override
        public Class<SimpleCMObject> handledType() {
            return SimpleCMObject.class;
        }
    });

    addSerializer(jsonSerializerForType(CMFile.class));
    addSerializer(jsonSerializerForType(CMSessionToken.class));
    addSerializer(jsonSerializerForType(CMType.class));
    addSerializer(jsonSerializerForType(TransportableString.class));
    addSerializer(jsonSerializerForType(ResponseBase.class));

}