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.opendaylight.sfc.sbrest.json.ExporterUtilTest.java

private boolean testExportUtilTransportJson(String transportTypeName, String expectedResultFile)
        throws IOException {
    DataPlaneLocator dataPlaneLocator = this.buildDataPlaneLocatorTransport(transportTypeName);

    ObjectMapper objectMapper = new ObjectMapper();

    JsonNode expectedLocatorJson = objectMapper.readTree(this.gatherUtilJsonStringFromFile(expectedResultFile));
    JsonNode exportedLocatorJson = ExporterUtil.getDataPlaneLocatorObjectNode(dataPlaneLocator);

    return expectedLocatorJson.equals(exportedLocatorJson);
}

From source file:com.arpnetworking.test.junitbenchmarks.JsonBenchmarkConsumerTest.java

@Test
public void testNormalBenchmarkCase() throws IOException {
    final Path path = Paths.get("target/tmp/test/testConsumer.json");
    path.toFile().deleteOnExit();/*from ww w.  j  a v  a 2s.  c om*/
    Files.deleteIfExists(path);
    final JsonBenchmarkConsumer consumer = new JsonBenchmarkConsumer(path);

    final Result result = DataCreator.createResult();
    consumer.accept(result);
    consumer.close();

    // Read the file back in as json
    final ObjectMapper mapper = ObjectMapperFactory.getInstance();
    final JsonNode resultsArray = mapper.readTree(path.toFile());
    Assert.assertEquals(1, resultsArray.size());
    final JsonNode augmentedResultNode = resultsArray.get(0);
    Assert.assertTrue(augmentedResultNode.isObject());
    final JsonNode resultNode = augmentedResultNode.get("result");
    Assert.assertTrue(resultNode.isObject());

    Assert.assertEquals("com.arpnetworking.test.junitbenchmarks.JsonBenchmarkConsumerTest",
            resultNode.get("testClassName").asText());
    Assert.assertEquals("testNormalBenchmarkCase", resultNode.get("testMethodName").asText());

    Assert.assertEquals(result.benchmarkRounds, resultNode.get("benchmarkRounds").asInt());
    Assert.assertEquals(result.warmupRounds, resultNode.get("warmupRounds").asInt());
    Assert.assertEquals(result.warmupTime, resultNode.get("warmupTime").asInt());
    Assert.assertEquals(result.benchmarkTime, resultNode.get("benchmarkTime").asInt());

    Assert.assertTrue(resultNode.get("roundAverage").isObject());
    final ObjectNode roundAverageNode = (ObjectNode) resultNode.get("roundAverage");
    Assert.assertEquals(result.roundAverage.avg, roundAverageNode.get("avg").asDouble(), 0.0001d);
    Assert.assertEquals(result.roundAverage.stddev, roundAverageNode.get("stddev").asDouble(), 0.0001d);

    Assert.assertTrue(resultNode.get("blockedAverage").isObject());
    final ObjectNode blockedAverageNode = (ObjectNode) resultNode.get("blockedAverage");
    Assert.assertEquals(result.blockedAverage.avg, blockedAverageNode.get("avg").asDouble(), 0.0001d);
    Assert.assertEquals(result.blockedAverage.stddev, blockedAverageNode.get("stddev").asDouble(), 0.0001d);

    Assert.assertTrue(resultNode.get("gcAverage").isObject());
    final ObjectNode gcAverageNode = (ObjectNode) resultNode.get("gcAverage");
    Assert.assertEquals(result.gcAverage.avg, gcAverageNode.get("avg").asDouble(), 0.0001d);
    Assert.assertEquals(result.gcAverage.stddev, gcAverageNode.get("stddev").asDouble(), 0.0001d);

    Assert.assertTrue(resultNode.get("gcInfo").isObject());
    final ObjectNode gcInfoNode = (ObjectNode) resultNode.get("gcInfo");
    Assert.assertEquals(result.gcInfo.accumulatedInvocations(),
            gcInfoNode.get("accumulatedInvocations").asInt());
    Assert.assertEquals(result.gcInfo.accumulatedTime(), gcInfoNode.get("accumulatedTime").asInt());

    Assert.assertEquals(result.getThreadCount(), resultNode.get("threadCount").asInt());
}

From source file:master.utilities.PopulationFunctionFromJSON.java

@Override
public void initAndValidate() throws Exception {

    // Read in JSON file:
    ObjectMapper mapper = new ObjectMapper();
    JsonNode rootNode = mapper.readTree(new FileInputStream(fileNameInput.get()));

    JsonNode trajRootNode;/*from w  w w.j  a  v  a  2 s.co m*/
    if (rootNode.has("trajectories"))
        trajRootNode = rootNode.get("trajectories").get(trajNumInput.get());
    else
        trajRootNode = rootNode;

    // Read in times
    times = new Double[trajRootNode.get("t").size()];
    for (int i = 0; i < times.length; i++)
        times[i] = trajRootNode.get("t").get(i).asDouble();

    // Build AST of population size expression
    ANTLRInputStream input = new ANTLRInputStream(popSizeExpressionInput.get());
    PFExpressionLexer lexer = new PFExpressionLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    PFExpressionParser parser = new PFExpressionParser(tokens);
    ParseTree tree = parser.start();

    // Calculate population sizes
    PFEJSONVisitor visitor = new PFEJSONVisitor(trajRootNode);
    popSizes = visitor.visit(tree);

    // Numerically integrate to get intensities:
    //        intensities = new Double[times.length];
    //        intensities[times.length-1] = 0.0;
    //        for (int i=times.length-1; i>0; i--) {
    //            intensities[i-1] = intensities[i]
    //                    + (times[i]-times[i-1])/popSizes[i-1];
    //        }

    // Find peak population size
    peakIdx = -1;
    double peakVal = 0.0;
    for (int i = 0; i < times.length; i++) {
        if (popSizes[i] > peakVal) {
            peakIdx = i;
            peakVal = popSizes[i];
        }
    }

    // Numerically integrate intensities from peak population size
    intensities = new Double[times.length];
    intensities[peakIdx] = 0.0;
    for (int i = peakIdx; i > 0; i--) {
        intensities[i - 1] = intensities[i] + (times[i] - times[i - 1]) / popSizes[i - 1];
    }
    for (int i = peakIdx; i < times.length - 1; i++) {
        intensities[i + 1] = intensities[i] + (times[i] - times[i + 1]) / popSizes[i];
    }

    // Copy to reversed intensities array needed for binary search
    intensitiesRev = new Double[times.length];
    for (int i = 0; i < times.length / 2; i++) {
        int j = times.length - 1 - i;
        intensitiesRev[i] = intensities[j];
        intensitiesRev[j] = intensities[i];
    }
    if (times.length % 2 > 0)
        intensitiesRev[times.length / 2] = intensities[times.length / 2];
}

From source file:com.github.alexfalappa.nbspringboot.projects.initializr.InitializrService.java

public JsonNode getMetadata() throws Exception {
    if (metadata == null) {
        // set connection timeouts
        timeoutFromPrefs();//from ww w . ja v  a2  s .  c om
        // prepare request
        final String serviceUrl = NbPreferences.forModule(PrefConstants.class).get(PREF_INITIALIZR_URL,
                "http://start.spring.io");
        RequestEntity<Void> req = RequestEntity.get(new URI(serviceUrl))
                .accept(MediaType.valueOf("application/vnd.initializr.v2.1+json"))
                .header("User-Agent", REST_USER_AGENT).build();
        // connect
        logger.log(INFO, "Getting Spring Initializr metadata from: {0}", serviceUrl);
        logger.log(INFO, "Asking metadata as: {0}", REST_USER_AGENT);
        long start = System.currentTimeMillis();
        ResponseEntity<String> respEntity = rt.exchange(req, String.class);
        // analyze response
        final HttpStatus statusCode = respEntity.getStatusCode();
        if (statusCode == OK) {
            ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
            metadata = mapper.readTree(respEntity.getBody());
            logger.log(INFO, "Retrieved Spring Initializr service metadata. Took {0} msec",
                    System.currentTimeMillis() - start);
            if (logger.isLoggable(FINE)) {
                logger.fine(mapper.writeValueAsString(metadata));
            }
        } else {
            // log status code
            final String errMessage = String.format(
                    "Spring initializr service connection problem. HTTP status code: %s",
                    statusCode.toString());
            logger.severe(errMessage);
            // throw exception in order to set error message
            throw new RuntimeException(errMessage);
        }
    }
    return metadata;
}

From source file:com.jaredjstewart.SampleSecurityManager.java

boolean initializeFromJson(final String json) {
    try {/* w  ww . ja  va 2 s .com*/
        ObjectMapper mapper = new ObjectMapper();
        JsonNode jsonNode = mapper.readTree(json);
        this.userNameToUser = new HashMap<>();
        Map<String, Role> roleMap = readRoles(jsonNode);
        readUsers(this.userNameToUser, jsonNode, roleMap);
        return true;
    } catch (IOException ex) {
        return false;
    }
}

From source file:fr.paris.lutece.portal.web.upload.UploadServletTest.java

public void testDoPost_NoFiles_Handler() throws Exception {
    final String BEAN_NAME = "testAsyncUpNetSf";
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    Map<String, List<FileItem>> mapFiles = new HashMap<>();
    Map<String, String[]> mapParameters = new HashMap<>();
    mapParameters.put("handler", new String[] { BEAN_NAME });
    MultipartHttpServletRequest multipartRequest = new MultipartHttpServletRequest(request, mapFiles,
            mapParameters);//from w w  w .j a v a2  s.  co m

    clearLuteceSpringCache();
    ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) SpringContextService
            .getContext()).getBeanFactory();
    beanFactory.registerSingleton(BEAN_NAME, new IAsynchronousUploadHandler() {
        @Override
        public void process(HttpServletRequest request, HttpServletResponse response, JSONObject mainObject,
                List<FileItem> fileItems) {
            mainObject.clear();
            mainObject.element("testnetsf", "valuetestnetsf");
        }

        @Override
        public boolean isInvoked(HttpServletRequest request) {
            return BEAN_NAME.equals(request.getParameter("handler"));
        }
    });

    try {
        new UploadServlet().doPost(multipartRequest, response);
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        ((DefaultListableBeanFactory) beanFactory).destroySingleton(BEAN_NAME);
        clearLuteceSpringCache();
    }

    String strResponseJson = response.getContentAsString();
    System.out.println(strResponseJson);

    String strRefJson = "{\"testnetsf\":\"valuetestnetsf\"}";
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode objectNodeRef = objectMapper.readTree(strRefJson);
    JsonNode objectNodeJson = objectMapper.readTree(strResponseJson);

    assertEquals(objectNodeRef, objectNodeJson);
}

From source file:fr.paris.lutece.portal.web.upload.UploadServletTest.java

public void testDoPost_NoFiles_Handler2() throws Exception {
    final String BEAN_NAME = "testAsyncUpMap";
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    Map<String, List<FileItem>> mapFiles = new HashMap<>();
    Map<String, String[]> mapParameters = new HashMap<>();
    mapParameters.put("handler", new String[] { BEAN_NAME });
    MultipartHttpServletRequest multipartRequest = new MultipartHttpServletRequest(request, mapFiles,
            mapParameters);// w  w  w. ja  v a  2s.c  o m

    clearLuteceSpringCache();
    ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) SpringContextService
            .getContext()).getBeanFactory();
    beanFactory.registerSingleton(BEAN_NAME, new IAsynchronousUploadHandler2() {
        @Override
        public void process(HttpServletRequest request, HttpServletResponse response,
                Map<String, Object> mainObject, List<FileItem> fileItems) {
            mainObject.clear();
            mainObject.put("testmap", "valuetestmap");
        }

        @Override
        public boolean isInvoked(HttpServletRequest request) {
            return BEAN_NAME.equals(request.getParameter("handler"));
        }
    });

    try {
        new UploadServlet().doPost(multipartRequest, response);
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        ((DefaultListableBeanFactory) beanFactory).destroySingleton(BEAN_NAME);
        clearLuteceSpringCache();
    }

    String strResponseJson = response.getContentAsString();
    System.out.println(strResponseJson);

    String strRefJson = "{\"testmap\":\"valuetestmap\"}";
    ObjectMapper objectMapper = new ObjectMapper();
    JsonNode objectNodeRef = objectMapper.readTree(strRefJson);
    JsonNode objectNodeJson = objectMapper.readTree(strResponseJson);

    assertEquals(objectNodeRef, objectNodeJson);
}

From source file:org.gameontext.mediator.events.MediatorEvents.java

private void handlePlayerEvent(GameOnEvent goe, PlayerEventHandler peh) {
    ObjectMapper om = new ObjectMapper();
    JsonNode tree;/*from  w  ww .j  av  a  2 s .  c om*/
    try {
        // the value in the GameOnEvent is JSON, with a type field that
        // dictates the content.
        tree = om.readTree(goe.getValue());
        String type = tree.get("type").asText();
        // current known values for type.. may change if we start using more
        // refined events.
        switch (type) {
        case "UPDATE": {
            // update(_*) and create, have the player json as a value under
            // the key 'player' this may change, to at least obscure/remove 
            // restricted info like apikey but for now, this is ok while we 
            // figure out events, since messagehub is not webfacing.

            // get the player json, and parse it to a JsonNode
            JsonNode player = tree.get("player");
            // grab the name field from the json..
            String username = player.get("name").asText();
            String color = player.get("favoriteColor").asText();

            peh.playerUpdated(goe.getKey(), username, color);
            break;
        }
        case "DELETE": {
            // note JSON only has id field.. rest is already deleted.
            break;
        }
        case "UPDATE_LOCATION": {
            JsonNode player = tree.get("player");
            String location = player.get("location").asText();
            peh.locationUpdated(goe.getKey(), location);
            break;
        }
        case "UPDATE_APIKEY": {
            break;
        }
        case "CREATE": {
            break;
        }
        default:
            break;
        }
    } catch (IOException e) {
        Log.log(Level.SEVERE, this, "Error parsing event", e);
    }
}

From source file:org.jasig.cas.support.oauth.web.OAuth20RevokeClientPrincipalTokensControllerTests.java

@Test
public void verifyNoTokenOrAuthHeader() throws Exception {
    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.REVOKE_URL);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);/*from w  w  w.j av  a2  s . co  m*/
    assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
    assertEquals(CONTENT_TYPE, mockResponse.getContentType());

    final String expected = "{\"error\":\"" + OAuthConstants.INVALID_REQUEST + "\",\"error_description\":\""
            + OAuthConstants.MISSING_ACCESS_TOKEN_DESCRIPTION + "\"}";

    final ObjectMapper mapper = new ObjectMapper();
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());
    assertEquals(expectedObj.get("error").asText(), receivedObj.get("error").asText());
    assertEquals(expectedObj.get("error_description").asText(), receivedObj.get("error_description").asText());
}

From source file:org.jasig.cas.support.oauth.web.OAuth20RevokeClientPrincipalTokensControllerTests.java

@Test
public void verifyNoTokenAndAuthHeaderIsBlank() throws Exception {
    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.REVOKE_URL);
    mockRequest.addHeader("Authorization", "");
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);//w  w  w .ja va  2 s . com
    assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
    assertEquals(CONTENT_TYPE, mockResponse.getContentType());

    final String expected = "{\"error\":\"" + OAuthConstants.INVALID_REQUEST + "\",\"error_description\":\""
            + OAuthConstants.MISSING_ACCESS_TOKEN_DESCRIPTION + "\"}";

    final ObjectMapper mapper = new ObjectMapper();
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());
    assertEquals(expectedObj.get("error").asText(), receivedObj.get("error").asText());
    assertEquals(expectedObj.get("error_description").asText(), receivedObj.get("error_description").asText());
}