List of usage examples for com.fasterxml.jackson.core JsonParser readValueAsTree
@SuppressWarnings("unchecked") public <T extends TreeNode> T readValueAsTree() throws IOException, JsonProcessingException
From source file:org.apache.syncope.core.misc.serialization.SyncTokenDeserializer.java
@Override public SyncToken deserialize(final JsonParser jp, final DeserializationContext ctx) throws IOException { ObjectNode tree = jp.readValueAsTree(); Object value = null;//from w w w .j a va2 s . com if (tree.has("value")) { JsonNode node = tree.get("value"); value = node.isNull() ? null : node.isBoolean() ? node.asBoolean() : node.isDouble() ? node.asDouble() : node.isLong() ? node.asLong() : node.isInt() ? node.asInt() : node.asText(); if (value instanceof String) { String base64 = (String) value; if (Base64.isBase64(base64)) { value = Base64.decodeBase64(base64); } } } return new SyncToken(value); }
From source file:org.apache.syncope.core.provisioning.api.serialization.AttributeDeserializer.java
@Override public Attribute deserialize(final JsonParser jp, final DeserializationContext ctx) throws IOException { ObjectNode tree = jp.readValueAsTree(); String name = tree.get("name").asText(); List<Object> values = new ArrayList<>(); for (JsonNode node : tree.get("value")) { if (node.isNull()) { values.add(null);/* w ww.jav a 2s .com*/ } else if (node.isObject()) { values.add(((ObjectNode) node).traverse(jp.getCodec()).readValueAs(GuardedString.class)); } else if (node.isBoolean()) { values.add(node.asBoolean()); } else if (node.isDouble()) { values.add(node.asDouble()); } else if (node.isLong()) { values.add(node.asLong()); } else if (node.isInt()) { values.add(node.asInt()); } else { String text = node.asText(); if (text.startsWith(AttributeSerializer.BYTE_ARRAY_PREFIX) && text.endsWith(AttributeSerializer.BYTE_ARRAY_SUFFIX)) { values.add(Base64.getDecoder().decode(StringUtils.substringBetween(text, AttributeSerializer.BYTE_ARRAY_PREFIX, AttributeSerializer.BYTE_ARRAY_SUFFIX))); } else { values.add(text); } } } return Uid.NAME.equals(name) ? new Uid(values.isEmpty() || values.get(0) == null ? null : values.get(0).toString()) : Name.NAME.equals(name) ? new Name(values.isEmpty() || values.get(0) == null ? null : values.get(0).toString()) : AttributeBuilder.build(name, values); }
From source file:org.apache.syncope.core.util.AttributeDeserializer.java
@Override public Attribute deserialize(final JsonParser jp, final DeserializationContext ctx) throws IOException, JsonProcessingException { ObjectNode tree = jp.readValueAsTree(); String name = tree.get("name").asText(); List<Object> values = new ArrayList<Object>(); for (Iterator<JsonNode> itor = tree.get("value").iterator(); itor.hasNext();) { JsonNode node = itor.next();/*from w w w . ja v a2 s. c o m*/ if (node.isNull()) { values.add(null); } else if (node.isObject()) { values.add(((ObjectNode) node).traverse(jp.getCodec()).readValueAs(GuardedString.class)); } else if (node.isBoolean()) { values.add(node.asBoolean()); } else if (node.isDouble()) { values.add(node.asDouble()); } else if (node.isLong()) { values.add(node.asLong()); } else if (node.isInt()) { values.add(node.asInt()); } else { String text = node.asText(); if (text.startsWith(AttributeSerializer.BYTE_ARRAY_PREFIX) && text.endsWith(AttributeSerializer.BYTE_ARRAY_SUFFIX)) { values.add(Base64.decode(StringUtils.substringBetween(text, AttributeSerializer.BYTE_ARRAY_PREFIX, AttributeSerializer.BYTE_ARRAY_SUFFIX))); } else { values.add(text); } } } return Uid.NAME.equals(name) ? new Uid(values.isEmpty() || values.get(0) == null ? null : values.get(0).toString()) : Name.NAME.equals(name) ? new Name(values.isEmpty() || values.get(0) == null ? null : values.get(0).toString()) : AttributeBuilder.build(name, values); }
From source file:org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.java
private List<String> getRepositoriesList(String restUrl) throws IOException { List<String> repositories = new ArrayList<String>(); PreemptiveHttpClient client = httpClient.getHttpClient(); String reposUrl = artifactoryUrl + restUrl; log.debug("Requesting repositories list from: " + reposUrl); HttpGet httpget = new HttpGet(reposUrl); HttpResponse response = client.execute(httpget); StatusLine statusLine = response.getStatusLine(); HttpEntity entity = response.getEntity(); if (statusLine.getStatusCode() != HttpStatus.SC_OK) { throw new IOException("Failed to obtain list of repositories. Status code: " + statusLine.getStatusCode() + getMessageFromEntity(entity)); } else {// w w w . j a v a 2 s. c o m if (entity != null) { repositories = new ArrayList<String>(); InputStream content = entity.getContent(); JsonParser parser; try { parser = httpClient.createJsonParser(content); JsonNode result = parser.readValueAsTree(); log.debug("Repositories result = " + result); for (JsonNode jsonNode : result) { String repositoryKey = jsonNode.get("key").asText(); repositories.add(repositoryKey); } } finally { if (content != null) { content.close(); } } } } return repositories; }
From source file:org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.java
public String getItemLastModified(String path) throws IOException, ParseException { String url = artifactoryUrl + "/api/storage/" + path + "?lastModified&deep=1"; HttpGet get = new HttpGet(url); HttpResponse response = httpClient.getHttpClient().execute(get); StatusLine statusLine = response.getStatusLine(); if (statusLine.getStatusCode() != HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); throw new IOException("Failed to obtain item info. Status code: " + statusLine.getStatusCode() + getMessageFromEntity(entity)); } else {// ww w . j a v a 2 s. co m HttpEntity entity = response.getEntity(); if (entity != null) { InputStream content = entity.getContent(); JsonParser parser; try { parser = httpClient.createJsonParser(content); JsonNode result = parser.readValueAsTree(); return result.get("lastModified").asText(); } finally { if (content != null) { content.close(); } EntityUtils.consume(entity); } } } return null; }
From source file:org.sead.repositories.reference.RefRepository.java
protected static void generateIndex(InputStream ro, File descFile, File indexFile) throws JsonParseException, IOException { log.debug("Generating desc and index files"); JsonFactory f = new MappingJsonFactory(); // reading JsonParser jp = f.createParser(ro); JsonGenerator generator = new JsonFactory().createGenerator(descFile, JsonEncoding.UTF8); JsonToken current;// w w w . ja v a 2 s.co m current = jp.nextToken(); report(jp, current); while ((current = jp.nextToken()) != null) { if (current.equals(JsonToken.FIELD_NAME)) { String fName = jp.getText(); if (fName.equals("describes")) { log.trace("describes"); while (((current = jp.nextToken()) != null)) { if (jp.isExpectedStartObjectToken()) { generator.setCodec(new ObjectMapper()); generator.useDefaultPrettyPrinter(); generator.writeStartObject(); while (((current = jp.nextToken()) != JsonToken.END_OBJECT)) { if (current != JsonToken.FIELD_NAME) { log.warn("Unexpected Token!"); report(jp, current); } else { report(jp, current); String name = jp.getText(); current = jp.nextToken(); // Get to start of // value if (!name.equals("aggregates")) { log.trace("Writing: " + name); generator.writeFieldName(name); generator.writeTree(jp.readValueAsTree()); } else { report(jp, current); log.trace("Skipping?"); if (current.isStructStart()) { indexChildren(indexFile, jp); // jp.skipChildren(); } else { log.warn("Was Not Struct start!"); } log.trace("Hit aggregates"); } } } generator.writeEndObject(); generator.close(); } } } } } }
From source file:org.springframework.social.weibo.api.impl.json.TrendsDeserializer.java
@Override public SortedSet<Trends> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { SimpleDateFormat dateFormat = new SimpleDateFormat(); TreeSet<Trends> result = new TreeSet<Trends>(comparator); TreeNode treeNode = jp.readValueAsTree(); Iterator<String> fieldNames = treeNode.fieldNames(); while (fieldNames.hasNext()) { Trends trends = new Trends(); try {//from w w w . ja v a 2 s . c o m String filedName = fieldNames.next(); dateFormat.applyPattern(retrieveDateFormatPattern(filedName)); trends.setDate(dateFormat.parse(filedName)); TreeNode trendsNode = treeNode.get(filedName); if (trendsNode.isArray()) { for (int i = 0; i < trendsNode.size(); i++) { JsonParser nodeParser = trendsNode.get(i).traverse(); nodeParser.setCodec(jp.getCodec()); Trend readValueAs = nodeParser.readValueAs(Trend.class); trends.getTrends().add(readValueAs); } } result.add(trends); } catch (ParseException e) { logger.warn("Unable to parse date", e); } } return result; }
From source file:org.talend.dataprep.api.dataset.DataSetDataReader.java
private RowMetadata parseDataSetMetadataAndReturnRowMetadata(JsonParser jsonParser) throws IOException { try {/*ww w .j a v a 2 s . com*/ JsonNode treeNode = jsonParser.readValueAsTree(); JsonNode columns = treeNode.get("columns"); List<ColumnMetadata> columnsParsed = new ArrayList<>(); if (columns.isArray()) { for (int columnId = 0; columnId < columns.size(); columnId++) { JsonNode column = columns.get(columnId); columnsParsed.add(mapper.reader(ColumnMetadata.class).readValue(column)); } } return new RowMetadata(columnsParsed); } catch (IOException e) { throw new IOException("Unable to parse and retrieve the row metadata", e); } }
From source file:portal.api.PortalRepositoryIT.java
public List<PortalUser> getUsers() throws Exception { logger.info("Executing TEST = testGetUsers"); Response r = execGETonURL(endpointUrl + "/services/api/repo/admin/users", cookieJSESSIONID); assertEquals(Response.Status.OK.getStatusCode(), r.getStatus()); String portalAPIVersionListHeaders = (String) r.getHeaders().getFirst("X-Portal-API-Version"); assertEquals("1.0.0", portalAPIVersionListHeaders); MappingJsonFactory factory = new MappingJsonFactory(); JsonParser parser = factory.createJsonParser((InputStream) r.getEntity()); JsonNode node = parser.readValueAsTree(); ObjectMapper mapper = new ObjectMapper(); TypeReference<List<PortalUser>> typeRef = new TypeReference<List<PortalUser>>() { };/* ww w . j ava 2 s . c o m*/ List<PortalUser> portalUsersList = mapper.readValue(node.traverse(), typeRef); for (PortalUser f : portalUsersList) { logger.info("user = " + f.getName() + ", ID = " + f.getId()); } return portalUsersList; }