List of usage examples for com.fasterxml.jackson.databind ObjectMapper readTree
public JsonNode readTree(URL source) throws IOException, JsonProcessingException
From source file:org.springframework.security.jackson2.UsernamePasswordAuthenticationTokenDeserializer.java
/** * This method construct {@link UsernamePasswordAuthenticationToken} object from serialized json. *//*from ww w. jav a 2 s .c o m*/ @Override public UsernamePasswordAuthenticationToken deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException { UsernamePasswordAuthenticationToken token; ObjectMapper mapper = (ObjectMapper) jsonParser.getCodec(); JsonNode jsonNode = mapper.readTree(jsonParser); Boolean authenticated = readJsonNode(jsonNode, "authenticated").asBoolean(); JsonNode principalNode = readJsonNode(jsonNode, "principal"); Object principal; if (principalNode.isObject()) { Class principalClass = LinkedHashMap.class; if (principalNode.hasNonNull("@class")) { try { principalClass = Class.forName(principalNode.get("@class").asText()); } catch (ClassNotFoundException e) { throw new RuntimeException( "Could not load principal class [" + principalNode.get("@class").asText() + "]", e); } } principal = mapper.readValue(principalNode.toString(), principalClass); } else { principal = principalNode.asText(); } Object credentials = readJsonNode(jsonNode, "credentials").asText(); List<GrantedAuthority> authorities = mapper.readValue(readJsonNode(jsonNode, "authorities").toString(), new TypeReference<List<GrantedAuthority>>() { }); if (authenticated) { token = new UsernamePasswordAuthenticationToken(principal, credentials, authorities); } else { token = new UsernamePasswordAuthenticationToken(principal, credentials); } token.setDetails(readJsonNode(jsonNode, "details")); return token; }
From source file:io.github.azige.moebooruviewer.MoebooruAPITest.java
@Test public void testListPostsOrder() throws IOException { String resourceName = "/postV2_limit100.json"; byte[] resourceBytes; {//from ww w . j a v a2 s. c o m ByteArrayOutputStream output = new ByteArrayOutputStream(); try (InputStream input = getClass().getResourceAsStream(resourceName)) { IOUtils.copy(input, output); } resourceBytes = output.toByteArray(); } when(netIO.download("http://yande.re/post.json?api_version=2&include_pools=1&page=1&limit=100&tags=")) .thenReturn(resourceBytes); List<Post> posts = mapi.listPosts(1, 100); ObjectMapper mapper = new ObjectMapper(); JsonNode postNode = mapper.readTree(getClass().getResourceAsStream(resourceName)).get("posts"); List<Integer> originalIdList = StreamSupport.stream(postNode.spliterator(), false) .map(node -> node.get("id").asInt()).collect(Collectors.toList()); List<Integer> convertedIdList = posts.stream().map(post -> post.getId()).collect(Collectors.toList()); assertThat(convertedIdList, is(equalTo(originalIdList))); }
From source file:com.ericsson.eiffel.remrem.publish.config.GsonHttpMessageConverterWithValidate.java
@Override protected Object readInternal(Type resolvedType, Reader reader) throws Exception { try {//from w w w . ja v a 2 s.com final String json = IOUtils.toString(reader); // do the actual validation final ObjectMapper mapper = new ObjectMapper(); mapper.enable(DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY); mapper.readTree(json); return this.gson.fromJson(json, resolvedType); } catch (JsonParseException ex) { throw new HttpMessageNotReadableException("Could not read JSON: " + ex.getMessage(), ex); } }
From source file:org.caratarse.auth.cas.support.CaratarseAuthClientAuthenticationHandler.java
protected final boolean authenticateUsernamePasswordInternal(final UsernamePasswordCredentials credentials) throws AuthenticationException { final String transformedUsername = getPrincipalNameTransformer().transform(credentials.getUsername()); final String encryptedPassword = getPasswordEncoder() .encode(credentials.getPassword() + (isWithSalt() ? "{" + transformedUsername + "}" : "")); ApiResponse response;/*from w w w. j a va2 s . com*/ JsonNode userTree; try { response = caratarseAuthClient.getUserByUsername(transformedUsername); if ("404".equals(response.getCode())) { throw new UnknownUsernameAuthenticationException(); } ObjectMapper m = new ObjectMapper(); JsonNode rootTree = m.readTree(response.getContent()); userTree = rootTree.get("_embedded").get("users").get(0); if (userTree == null) { throw new UnknownUsernameAuthenticationException(); } } catch (Exception ex) { throw new AuthenticationException("Authentication failed for user " + transformedUsername, ex) { }; } if (!userIsEnabled(userTree)) { throw new BlockedCredentialsAuthenticationException(); } if (!passwordMatches(userTree, encryptedPassword)) { throw new BadPasswordAuthenticationException(); } // update last login return true; }
From source file:org.onosproject.north.aaa.api.parser.impl.RestAccessParser.java
@Override public Set<RestAccess> 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<RestAccess> restAccessSet = 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 . ja va 2 s . c om if (JsonToken.FIELD_NAME.equals(token) && "accesses".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after accesses"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { RestAccess restAccess = jsonToRestAccess(jp); restAccessSet.add(restAccess); } } } } return restAccessSet; }
From source file:com.ericsson.eiffel.remrem.generate.config.GsonHttpMessageConverterWithValidate.java
@Override protected Object readInternal(Type resolvedType, Reader reader) throws Exception { try {/*from w ww . j av a 2s. c o m*/ final String json = IOUtils.toString(reader); // do the actual validation final ObjectMapper mapper = new ObjectMapper(); mapper.enable(DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY); mapper.readTree(json); return this.gson.fromJson(json, resolvedType); } catch (JsonParseException ex) { throw new HttpMessageNotReadableException("Could not read JSON: " + ex.getMessage(), ex); } }
From source file:org.onosproject.north.aaa.api.parser.impl.ScopeParser.java
@Override public Set<Scope> 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<Scope> scopeSet = 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; }/*from w w w . ja va2 s. co m*/ if (JsonToken.FIELD_NAME.equals(token) && "scopes".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after scopes"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { Scope scope = jsonToScope(jp); scopeSet.add(scope); } } } } return scopeSet; }
From source file:acromusashi.stream.example.ml.client.KMeansDrpcClient.java
/** * KMeans??DRPC???LOF??// w w w .j a v a 2 s . c o m * * @param drpcHost DRPC * @param drpcPort DRPC? * @param drpcFunction ???? * @param kmeansData KMeans * @return KMeans? * @throws DRPCExecutionException DRPC * @throws TException DRPC * @throws IOException ? */ public String sendRequest(String drpcHost, int drpcPort, String drpcFunction, String kmeansData) throws TException, DRPCExecutionException, IOException { DRPCClient client = new DRPCClient(drpcHost, drpcPort); String drpcResult = client.execute(drpcFunction, kmeansData); // ????????? // [["0.3230647,0.4288709,0.2918048,0.7904559,5", // "KmeansPoint[label=<null>,dataPoint={0.3230647,0.4288709,0.2918048,0.7904559,5.0}]", // "{\"dataPoint\":[0.3230647,0.4288709,0.2918048,0.7904559,5.0],\"centroidIndex\":2, // \"centroid\":[0.49254449862586597,0.29060293775519647,0.19902678114457303,0.7925079800808319,5.0],\"distance\":0.23759924945376112}"]] ObjectMapper mapper = new ObjectMapper(); JsonNode baseNode = mapper.readTree(drpcResult); String kmeanResultStr = baseNode.get(0).get(2).asText(); JsonNode kmeanResultTree = mapper.readTree(kmeanResultStr); return kmeanResultTree.toString(); }
From source file:com.github.brandtg.stl.PlotTest.java
@Test public void testPlot() throws Exception { final ObjectMapper objectMapper = new ObjectMapper(); final JsonNode tree = objectMapper .readTree(new File(this.getClass().getResource("/sample-timeseries.json").getFile())); final int n = tree.get("times").size(); final double[] ts = new double[n]; final double[] ys = new double[n]; for (int i = 0; i < n; i++) { ts[i] = tree.get("times").get(i).asDouble(); ys[i] = tree.get("series").get(i).asDouble(); }//w w w. j a v a 2s . c o m final StlDecomposition stl = new StlDecomposition(12); final StlResult res = stl.decompose(ts, ys); final File output = new File("seasonal.png"); final File hourly = new File("stl-hourly.png"); output.deleteOnExit(); hourly.deleteOnExit(); StlPlotter.plot(res, "New Title", Hour.class, hourly); StlPlotter.plot(res, output); StlPlotter.plot(res); Assert.assertTrue(output.exists()); Assert.assertTrue(hourly.exists()); final File exists = new File("stl-decomposition.png"); exists.deleteOnExit(); StlPlotter.plot(res, "Test Title"); Assert.assertTrue(exists.exists()); }
From source file:org.onosproject.north.aaa.api.parser.impl.ApplicationParser.java
@Override public Set<Application> parseJson(InputStream stream) throws IOException, ParseException { ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(stream); JsonParser jp = jsonNode.traverse(); Set<Application> applicationSet = 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; }//from www.ja v a 2s. c o m if (JsonToken.FIELD_NAME.equals(token) && "applications".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after applications"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { Application app = jsonToApplication(jp); applicationSet.add(app); } } } } return applicationSet; }