List of usage examples for com.fasterxml.jackson.core JsonParser getCurrentName
public abstract String getCurrentName() throws IOException, JsonParseException;
From source file:org.onosproject.north.aaa.api.parser.impl.RestAccessParser.java
public RestAccess jsonToRestAccess(JsonParser jp) throws IOException, ParseException { RestAccess.Builder builder = RestAccess.builder(); while (true) { JsonToken token = jp.nextToken(); if (JsonToken.END_OBJECT.equals(token)) { // bail out break; }//from ww w . jav a 2 s.c o m if (JsonToken.FIELD_NAME.equals(token) && "accessId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildeAccessId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "accessDesc".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildAccessDesc(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "restUri".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildRestUri(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "restMethod".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildRestMethod(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "restParam".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildRestParam(jp.getText()); } } return builder.buildAll(); }
From source file:org.onosproject.north.aaa.api.parser.impl.ScopeParser.java
public Scope jsonToScope(JsonParser jp) throws IOException, ParseException { Scope.Builder builder = Scope.builder(); while (true) { JsonToken token = jp.nextToken(); if (JsonToken.END_OBJECT.equals(token)) { // bail out break; }/*from w w w.ja va 2 s . c o m*/ if (JsonToken.FIELD_NAME.equals(token) && "scopeId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildScopeId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "scopeDesc".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildScopeDesc(jp.getText()); } else 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"); } Set<String> accesses = new HashSet<>(); while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } accesses.add(jp.getText()); } builder.buildRestAccess(accesses); } } return builder.buildAll(); }
From source file:org.emfjson.jackson.databind.deser.EObjectDeserializer.java
private void handleUnknownProperty(JsonParser jp, Resource resource, DeserializationContext ctxt) throws IOException { if (resource != null && ctxt.getConfig().hasDeserializationFeatures(FAIL_ON_UNKNOWN_PROPERTIES.getMask())) { resource.getErrors()//from ww w. j a va2 s. co m .add(new JSONException("Unknown feature " + jp.getCurrentName(), jp.getCurrentLocation())); } // we didn't find a feature so consume // the field and move on jp.nextToken(); jp.skipChildren(); }
From source file:org.onosproject.north.aaa.api.parser.impl.ApplicationParser.java
public Application jsonToApplication(JsonParser jp) throws ParseException, IOException { Application.Builder builder = Application.builder(); while (true) { JsonToken token = jp.nextToken(); if (JsonToken.END_OBJECT.equals(token)) { // bail out break; }/*from w w w . ja v a2 s. c o m*/ if (JsonToken.FIELD_NAME.equals(token) && "appId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildAppId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "appDesc".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildAppDesc(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "appRoles".equals(jp.getCurrentName())) { jp.nextToken(); String roles = jp.getText(); if ("admin".equals(roles) || "normal".equals(roles) || "security".equals(roles)) { builder.buildAppRoles(roles); } else { // bail out throw new ParseException("appRoles must be set to \"admin\", \"normal\" or \"security\""); } } else if (JsonToken.FIELD_NAME.equals(token) && "devId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildDevId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "clientId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildClientId(jp.getText()); } } return builder.buildAll(); }
From source file:org.messic.server.api.tagwizard.discogs.DiscogsTAGWizardPlugin.java
private Album getAlbum(String id) { String baseURL = "http://api.discogs.com/releases/" + id; try {/*from w w w . ja v a 2 s. c om*/ URL url = new URL(baseURL); Proxy proxy = getProxy(); URLConnection uc = (proxy != null ? url.openConnection(proxy) : url.openConnection()); uc.setRequestProperty("User-Agent", "Messic/1.0 +http://spheras.github.io/messic/"); Album album = new Album(); album.name = ""; album.author = ""; album.comments = "Info obtained by Discogs provider (http://www.discogs.com/)"; album.year = 1900; album.genre = ""; JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, JsonParser jParser = jsonFactory.createParser(uc.getInputStream()); while (jParser.nextToken() != null) { String fieldname = jParser.getCurrentName(); if ("title".equals(fieldname)) { jParser.nextToken(); album.name = jParser.getText(); } if ("year".equals(fieldname)) { jParser.nextToken(); try { album.year = Integer.valueOf(jParser.getText()); } catch (Exception e) { album.year = 0; } } if ("notes".equals(fieldname)) { jParser.nextToken(); album.comments = jParser.getText(); } if ("genres".equals(fieldname)) { jParser.nextToken(); jParser.nextToken(); album.genre = jParser.getText(); do { jParser.nextToken(); } while (!"genres".equals(jParser.getCurrentName())); } if ("artists".equals(fieldname)) { jParser.nextToken(); while (!"name".equals(jParser.getCurrentName())) { jParser.nextToken(); } jParser.nextToken(); album.author = jParser.getText(); do { jParser.nextToken(); } while (!"artists".equals(jParser.getCurrentName())); } if ("tracklist".equals(fieldname)) { album.songs = new ArrayList<Song>(); do { Song newsong = new Song(); int tracknumber = 1; while (jParser.nextToken() != JsonToken.END_OBJECT) { String trackfieldname = jParser.getCurrentName(); if ("extraartists".equals(trackfieldname)) { do { while (jParser.nextToken() != JsonToken.END_OBJECT) { } jParser.nextToken(); } while (!"extraartists".equals(jParser.getCurrentName())); } if ("position".equals(trackfieldname)) { jParser.nextToken(); try { newsong.track = Integer.valueOf(jParser.getText()); } catch (Exception e) { newsong.track = tracknumber; } tracknumber++; } if ("title".equals(trackfieldname)) { jParser.nextToken(); newsong.name = jParser.getText(); } } album.songs.add(newsong); jParser.nextToken(); } while (!"tracklist".equals(jParser.getCurrentName())); jParser.nextToken(); } } return album; } catch (Exception e) { log.error("failed!", e); } return null; }
From source file:org.apache.ode.jacob.soup.jackson.MessageDeserializer.java
@Override public Message deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { long id = 0;//w w w. jav a 2 s . com String action = null; ChannelRef to = null; ChannelRef replyTo = null; Map<String, Object> headers = null; Object body = null; while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldname = jp.getCurrentName(); if (jp.getCurrentToken() == JsonToken.FIELD_NAME) { // if we're not already on the field, advance by one. jp.nextToken(); } if ("id".equals(fieldname)) { id = jp.getLongValue(); } else if ("action".equals(fieldname)) { action = jp.getText(); } else if ("to".equals(fieldname)) { to = jp.readValueAs(ChannelRef.class); } else if ("replyTo".equals(fieldname)) { replyTo = jp.readValueAs(ChannelRef.class); } else if ("headers".equals(fieldname)) { headers = jp.readValueAs(mapTypeRef); } else if ("body".equals(fieldname)) { body = jp.readValueAs(Object.class); } } if (action == null) { throw ctxt.mappingException(Message.class); } if (to == null) { throw ctxt.mappingException(Message.class); } Message msg = new Message(to, replyTo, action); msg.setHeaders(headers); msg.setBody(body); msg.setId(id); return msg; }
From source file:com.floragunn.searchguard.dlic.rest.validation.AbstractConfigurationValidator.java
private boolean checkDatatypes() throws Exception { String contentAsJson = XContentHelper.convertToJson(content, false); JsonParser parser = factory.createParser(contentAsJson); JsonToken token = null;//from w w w . j a va2 s . c o m while ((token = parser.nextToken()) != null) { if (token.equals(JsonToken.FIELD_NAME)) { String currentName = parser.getCurrentName(); DataType dataType = allowedKeys.get(currentName); if (dataType != null) { JsonToken valueToken = parser.nextToken(); switch (dataType) { case STRING: if (!valueToken.equals(JsonToken.VALUE_STRING)) { wrongDatatypes.put(currentName, "String expected"); } break; case ARRAY: if (!valueToken.equals(JsonToken.START_ARRAY) && !valueToken.equals(JsonToken.END_ARRAY)) { wrongDatatypes.put(currentName, "Array expected"); } break; case OBJECT: if (!valueToken.equals(JsonToken.START_OBJECT) && !valueToken.equals(JsonToken.END_OBJECT)) { wrongDatatypes.put(currentName, "Object expected"); } break; } } } } return wrongDatatypes.isEmpty(); }
From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java
private void parseProperties(JsonParser jp) throws JsonParseException, IOException { for (JsonToken t; (t = jp.nextToken()) != null;) { if (t == FIELD_NAME) { String text = jp.getCurrentName(); t = jp.nextToken();/*from w w w. j ava 2 s .c om*/ if (t == VALUE_STRING) { mTagMap.put(text, jp.getText()); } else if (t == VALUE_NUMBER_INT) { mTagMap.put(text, jp.getNumberValue()); } continue; } if (t == END_OBJECT) break; } }
From source file:ninja.leaping.configurate.json.JSONConfigurationLoader.java
private void parseObject(JsonParser parser, ConfigurationNode node) throws IOException { JsonToken token;/*from w ww . j a va 2 s . c o m*/ while ((token = parser.nextToken()) != null) { switch (token) { case END_OBJECT: return; default: parseValue(parser, node.getChild(parser.getCurrentName())); } } throw new JsonParseException("Reached end of stream with unclosed array!", parser.getCurrentLocation()); }