List of usage examples for com.fasterxml.jackson.core JsonParser getCurrentName
public abstract String getCurrentName() throws IOException, JsonParseException;
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.TypeAnnotationDeserializer.java
@Override public TypeAnnotation deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final TypeAnnotation typeAnnot = new TypeAnnotation(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Term".equals(jp.getCurrentName())) { typeAnnot.setTerm(jp.nextTextValue()); } else if ("Qualifier".equals(jp.getCurrentName())) { typeAnnot.setQualifier(jp.nextTextValue()); } else if ("Documentation".equals(jp.getCurrentName())) { jp.nextToken();//from w w w. ja v a 2 s.c o m typeAnnot.setDocumentation(jp.getCodec().readValue(jp, Documentation.class)); } else if ("PropertyValue".equals(jp.getCurrentName())) { jp.nextToken(); typeAnnot.getPropertyValues().add(jp.getCodec().readValue(jp, PropertyValue.class)); } } } return typeAnnot; }
From source file:com.sdl.odata.unmarshaller.json.core.JsonProcessor.java
/** * Process all things that do not contain special ODataTags. * * @param jsonParser the parser//from w ww. ja v a 2 s. c o m * @throws ODataUnmarshallingException If unable to unmarshall * @throws IOException If unable to read input parser */ private void process(JsonParser jsonParser) throws IOException, ODataUnmarshallingException { if (jsonParser.getCurrentToken() == JsonToken.FIELD_NAME) { LOG.info("Starting to parse {} token", jsonParser.getCurrentName()); String key = jsonParser.getCurrentName(); jsonParser.nextToken(); JsonToken token = jsonParser.getCurrentToken(); if (token == JsonToken.START_ARRAY) { if (JsonConstants.VALUE.equals(key)) { throw new ODataUnmarshallingException("Feed is not supported"); } values.put(key, getCollectionValue(jsonParser)); } else if (token == JsonToken.START_OBJECT) { values.put(key, getEmbeddedObject(jsonParser)); } else { if (token.equals(JsonToken.VALUE_NULL)) { values.put(key, null); } else { values.put(key, jsonParser.getText()); } } } }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.FunctionDeserializer.java
@Override protected Function doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final Function function = new Function(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { function.setName(jp.nextTextValue()); } else if ("IsBound".equals(jp.getCurrentName())) { function.setBound(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("IsComposable".equals(jp.getCurrentName())) { function.setComposable(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("EntitySetPath".equals(jp.getCurrentName())) { function.setEntitySetPath(jp.nextTextValue()); } else if ("Parameter".equals(jp.getCurrentName())) { jp.nextToken();//from w ww . ja v a 2 s . c o m function.getParameters().add(jp.getCodec().readValue(jp, Parameter.class)); } else if ("ReturnType".equals(jp.getCurrentName())) { function.setReturnType(parseReturnType(jp, "Function")); } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); function.setAnnotation(jp.getCodec().readValue(jp, Annotation.class)); } } } return function; }
From source file:no.ssb.jsonstat.v2.deser.DimensionDeserializer.java
private void parseCategory(Dimension.Builder dimension, JsonParser p, DeserializationContext ctxt) throws IOException { Map<String, String> index = null; Map<String, String> label = null; while (p.nextValue() != JsonToken.END_OBJECT) { switch (p.getCurrentName()) { case "index": index = parseIndex(p, ctxt); break; case "label": label = parseCategoryLabel(p, ctxt); break; case "unit": // TODO: Support units. parseUnit(p, ctxt);/* w ww. j av a 2 s .c om*/ break; default: ctxt.handleUnknownProperty(p, this, Dimension.Builder.class, p.getCurrentName()); break; } } checkArgument(!(index == null && label == null), "either label or index is required"); // Once we have everything, we can build the dimension. if (index == null) { checkArgument(label.size() >= 1, "category label must contain a least one element if " + "no index is provided"); dimension.withIndexedLabels(ImmutableMap.copyOf(label)); return; } if (label == null) { dimension.withCategories(ImmutableSet.copyOf(index.keySet())); return; } // TODO: Maybe the checks should reside inside the builder? checkArgument(label.size() == index.size(), "label and index's sizes were inconsistent"); ImmutableMap<String, String> withIndex = index.keySet().stream() .collect(toImmutableMap(Function.identity(), label::get)); dimension.withIndexedLabels(withIndex); }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.DataServicesDeserializer.java
@Override public DataServices deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final DataServices dataServices = new DataServices(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("DataServiceVersion".equals(jp.getCurrentName())) { dataServices.setDataServiceVersion(jp.nextTextValue()); } else if ("MaxDataServiceVersion".equals(jp.getCurrentName())) { dataServices.setMaxDataServiceVersion(jp.nextTextValue()); } else if ("Schema".equals(jp.getCurrentName())) { jp.nextToken();//from w w w. java 2 s.c om dataServices.getSchemas().add(jp.getCodec().readValue(jp, Schema.class)); } } } return dataServices; }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.TermDeserializer.java
@Override protected Term doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final Term term = new Term(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { term.setName(jp.nextTextValue()); } else if ("Type".equals(jp.getCurrentName())) { term.setType(jp.nextTextValue()); } else if ("BaseTerm".equals(jp.getCurrentName())) { term.setBaseTerm(jp.nextTextValue()); } else if ("DefaultValue".equals(jp.getCurrentName())) { term.setDefaultValue(jp.nextTextValue()); } else if ("Nullable".equals(jp.getCurrentName())) { term.setNullable(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("MaxLength".equals(jp.getCurrentName())) { term.setMaxLength(jp.nextTextValue()); } else if ("Precision".equals(jp.getCurrentName())) { term.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L))); } else if ("Scale".equals(jp.getCurrentName())) { term.setScale(BigInteger.valueOf(jp.nextLongValue(0L))); } else if ("SRID".equals(jp.getCurrentName())) { term.setSrid(jp.nextTextValue()); } else if ("AppliesTo".equals(jp.getCurrentName())) { for (String split : StringUtils.split(jp.nextTextValue())) { term.getAppliesTo().add(CSDLElement.valueOf(split)); }/*from w w w.j av a 2s .com*/ } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); term.setAnnotation(jp.getCodec().readValue(jp, Annotation.class)); } } } return term; }
From source file:name.gumartinm.weather.information.parser.JPOSCurrentParser.java
private void getCurrentWeatherData(final Current currentWeatherData, final JsonParser jParser) throws JsonParseException, IOException { if (jParser.nextToken() == JsonToken.START_OBJECT) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); if (nextToken == JsonToken.START_OBJECT) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); }// ww w. j ava 2 s. co m if (nextToken == JsonToken.START_ARRAY) { JsonToken tokenNext = jParser.nextToken(); while (tokenNext != JsonToken.END_ARRAY) { if (tokenNext == JsonToken.START_OBJECT) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); } tokenNext = jParser.nextToken(); } } if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); } } } }
From source file:org.emfjson.jackson.streaming.StreamReader.java
protected ReferenceEntry createReferenceEntry(JsonParser parser, EReference reference, EObject owner) throws IOException { String id = null;// w ww. ja v a 2 s .c om while (parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); if (field.equalsIgnoreCase(Constants.EJS_REF_KEYWORD)) { id = parser.nextTextValue(); } } return new ReferenceEntry(owner, reference, id); }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.ReferentialConstraintRoleDeserializer.java
@Override public ReferentialConstraintRole deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final ReferentialConstraintRole refConstRole = new ReferentialConstraintRole(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Role".equals(jp.getCurrentName())) { refConstRole.setRole(jp.nextTextValue()); } else if ("PropertyRef".equals(jp.getCurrentName())) { jp.nextToken();/*ww w . j a va 2s .com*/ refConstRole.getPropertyRefs().add(jp.getCodec().readValue(jp, PropertyRef.class)); } } } return refConstRole; }
From source file:name.gumartinm.weather.information.parser.JPOSForecastParser.java
private void getForecastWeatherData(final Forecast forecastWeatherData, final JsonParser jParser) throws JsonParseException, IOException { if (jParser.nextToken() == JsonToken.START_OBJECT) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); if (nextToken == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); }/*from w w w .j a v a2 s . c om*/ if (nextToken == JsonToken.START_ARRAY) { JsonToken tokenNext = jParser.nextToken(); while (tokenNext != JsonToken.END_ARRAY) { if (tokenNext == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); } tokenNext = jParser.nextToken(); } } if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); } } } }