List of usage examples for com.fasterxml.jackson.core JsonParser getIntValue
public abstract int getIntValue() throws IOException, JsonParseException;
From source file:com.github.heuermh.ensemblrestclient.JacksonVariationConverter.java
static VariationConsequences parseVariationConsequences(final JsonFactory jsonFactory, final InputStream inputStream) throws IOException { JsonParser parser = null; try {//from w ww. ja va 2 s . c o m parser = jsonFactory.createParser(inputStream); parser.nextToken(); String identifier = null; String referenceAllele = null; List<String> alternateAlleles = new ArrayList<String>(); String locationName = null; String coordinateSystem = "chromosome"; int start = -1; int end = -1; int strand = -1; List<TranscriptConsequences> transcriptConsequences = new ArrayList<TranscriptConsequences>(); String alternateAllele = null; int transcriptStrand = -1; boolean canonical = false; String geneId = null; String transcriptId = null; String translationId = null; String transcriptAlleleString = null; String codons = null; String hgvsc = null; String aminoAcids = null; String hgvsp = null; List<String> consequenceTerms = new ArrayList<String>(); while (parser.nextToken() != JsonToken.END_ARRAY) { while (parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); parser.nextToken(); if ("id".equals(field)) { identifier = parser.getText(); } else if ("seq_region_name".equals(field)) { locationName = parser.getText(); } else if ("start".equals(field)) { start = parser.getIntValue(); } else if ("end".equals(field)) { end = parser.getIntValue(); } else if ("strand".equals(field)) { strand = parser.getIntValue(); } else if ("allele_string".equals(field)) { String[] tokens = parser.getText().split("/"); referenceAllele = tokens[0]; for (int i = 1; i < tokens.length; i++) { alternateAlleles.add(tokens[i]); } } else if ("transcript_consequences".equals(field)) { while (parser.nextToken() != JsonToken.END_ARRAY) { while (parser.nextToken() != JsonToken.END_OBJECT) { String transcriptField = parser.getCurrentName(); parser.nextToken(); if ("variant_allele".equals(transcriptField)) { alternateAllele = parser.getText(); } else if ("strand".equals(transcriptField)) { transcriptStrand = parser.getIntValue(); } else if ("canonical".equals(transcriptField)) { canonical = (Integer.parseInt(parser.getText()) > 0); } else if ("gene_id".equals(transcriptField)) { geneId = parser.getText(); } else if ("transcript_id".equals(transcriptField)) { transcriptId = parser.getText(); } else if ("protein_id".equals(transcriptField)) { translationId = parser.getText(); } else if ("codons".equals(transcriptField)) { codons = parser.getText(); } else if ("hgvsc".equals(transcriptField)) { hgvsc = parser.getText(); } else if ("amino_acids".equals(transcriptField)) { aminoAcids = parser.getText(); } else if ("hgvsp".equals(transcriptField)) { hgvsp = parser.getText(); } else if ("consequence_terms".equals(transcriptField)) { while (parser.nextToken() != JsonToken.END_ARRAY) { consequenceTerms.add(parser.getText()); } } } transcriptConsequences.add(new TranscriptConsequences(alternateAllele, transcriptStrand, canonical, geneId, transcriptId, translationId, codons, hgvsc, aminoAcids, hgvsp, consequenceTerms)); alternateAllele = null; transcriptStrand = -1; canonical = false; geneId = null; transcriptId = null; translationId = null; transcriptAlleleString = null; codons = null; hgvsc = null; aminoAcids = null; hgvsp = null; consequenceTerms.clear(); } } else if ("colocated_variants".equals(field)) { while (parser.nextToken() != JsonToken.END_ARRAY) { while (parser.nextToken() != JsonToken.END_OBJECT) { // ignore } } } } } Location location = new Location(locationName, coordinateSystem, start, end, strand); return new VariationConsequences(identifier, referenceAllele, alternateAlleles, location, transcriptConsequences); } finally { try { inputStream.close(); } catch (Exception e) { // ignored } try { parser.close(); } catch (Exception e) { // ignored } } }
From source file:org.datagator.api.client.MatrixDeserializer.java
@Override public SimpleMatrix deserialize(JsonParser jp, DeserializationContext cntx) throws IOException, JsonProcessingException { int rowsCount = -1; int columnsCount = -1; int bodyRow = -1; int bodyColumn = -1; ArrayList<ArrayList<Object>> columnHeaders = null; JsonToken token = jp.getCurrentToken(); // FIELD_NAME if (!token.equals(JsonToken.FIELD_NAME)) { throw new RuntimeException(String.format("Unexpected token %s", token)); }// w ww. j a v a2 s . c om while (token.equals(JsonToken.FIELD_NAME)) { String name = jp.getText(); token = jp.nextToken(); if (name.equals("columnHeaders")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } bodyRow = jp.getIntValue(); } else if (name.equals("rowHeaders")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } bodyColumn = jp.getIntValue(); } else if (name.equals("rows")) { if (bodyRow < 0 || bodyColumn < 0) { throw new RuntimeException( "Unexpected property order 'columnHeaders' and 'rowHeaders' should precede 'rows'."); } columnHeaders = parseRows(jp, bodyRow, bodyColumn); } else if (name.equals("rowsCount")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } rowsCount = jp.getIntValue(); } else if (name.equals("columnsCount")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } columnsCount = jp.getIntValue(); } else { throw new RuntimeException(String.format("Unexpected property '%s'", name)); } token = jp.nextToken(); // FIELD_NAME } if (!(0 <= bodyRow && bodyRow <= rowsCount)) { throw new RuntimeException("Invalid Matrix shape"); } if (!(0 <= bodyColumn && bodyColumn <= columnsCount)) { throw new RuntimeException("Invalid Matrix shape"); } // special case: size of empty matrix is 1 x 0 if ((columnsCount == 0) && (rowsCount != 1)) { throw new RuntimeException("Invalid Matrix shape"); } Object[][] rows = new Object[bodyRow][]; for (int r = 0; r < bodyRow; r++) { rows[r] = columnHeaders.get(r).toArray(); } return new SimpleMatrix(bodyRow, bodyColumn, rows, rowsCount, columnsCount); }
From source file:org.example.testcases.BasicTypesDeSerializer.java
private BasicTypes readObject(JsonParser jp) throws IOException { BasicTypes basicTypes = new BasicTypes(); for (JsonToken jsonToken; (jsonToken = jp.nextToken()) != null && (jsonToken != END_OBJECT);) { if (FIELD_NAME != jsonToken) continue; final String fieldName = jp.getCurrentName(); switch (fieldName) { case "aString": jsonToken = jp.nextToken(); // read value basicTypes.aString = jp.getText(); break; case "aBoolean": jsonToken = jp.nextToken(); // read value basicTypes.aBoolean = jp.getBooleanValue(); break; case "aFloat": jsonToken = jp.nextToken(); // read value basicTypes.aFloat = jp.getFloatValue(); break; case "aDouble": jsonToken = jp.nextToken(); // read value basicTypes.aDouble = jp.getDoubleValue(); break; case "aInt": jsonToken = jp.nextToken(); // read value basicTypes.aInt = jp.getIntValue(); break; case "aShort": jsonToken = jp.nextToken(); // read value basicTypes.aShort = jp.getShortValue(); break; case "aByte": jsonToken = jp.nextToken(); // read value basicTypes.aByte = jp.getByteValue(); break; default:/*from w w w . ja va 2 s. co m*/ // decide what to do; } } return basicTypes; }
From source file:org.hyperledger.dropwizard.hocon.HoconDeserializer.java
protected ConfigValue deserializeScalar(JsonParser jp, DeserializationContext ctxt) throws IOException { switch (jp.getCurrentToken()) { case VALUE_EMBEDDED_OBJECT: throw ctxt.mappingException(JsonValue.class); case VALUE_FALSE: return ConfigValueFactory.fromAnyRef(false); case VALUE_TRUE: return ConfigValueFactory.fromAnyRef(true); case VALUE_NULL: return ConfigValueFactory.fromAnyRef(null); case VALUE_NUMBER_FLOAT: // very cumbersome... but has to be done {//from w w w. java 2 s. c om if (jp.getNumberType() == JsonParser.NumberType.BIG_DECIMAL) { return ConfigValueFactory.fromAnyRef(jp.getDecimalValue()); } return ConfigValueFactory.fromAnyRef(jp.getDoubleValue()); } case VALUE_NUMBER_INT: { switch (jp.getNumberType()) { case LONG: return ConfigValueFactory.fromAnyRef(jp.getLongValue()); case INT: return ConfigValueFactory.fromAnyRef(jp.getIntValue()); default: return ConfigValueFactory.fromAnyRef(jp.getBigIntegerValue()); } } case VALUE_STRING: return ConfigValueFactory.fromAnyRef(jp.getText()); default: // errors, should never get here // case END_ARRAY: // case END_OBJECT: // case FIELD_NAME: // case NOT_AVAILABLE: // case START_ARRAY: // case START_OBJECT: throw ctxt.mappingException(_valueClass); } }
From source file:com.tage.calcite.adapter.druid.DruidConnectionImpl.java
private void parseField(List<String> fieldNames, List<Primitive> fieldTypes, Row.RowBuilder rowBuilder, JsonParser parser) throws IOException { final String fieldName = parser.getCurrentName(); // Move to next token, which is name's value JsonToken token = parser.nextToken(); int i = fieldNames.indexOf(fieldName); if (i < 0) { return;/* w ww .j ava 2s .c o m*/ } switch (token) { case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: Primitive type = fieldTypes.get(i); if (type == null) { if (token == JsonToken.VALUE_NUMBER_INT) { type = Primitive.INT; } else { type = Primitive.FLOAT; } } switch (type) { case BYTE: rowBuilder.set(i, parser.getIntValue()); break; case SHORT: rowBuilder.set(i, parser.getShortValue()); break; case INT: rowBuilder.set(i, parser.getIntValue()); break; case LONG: rowBuilder.set(i, parser.getLongValue()); break; case FLOAT: rowBuilder.set(i, parser.getFloatValue()); break; case DOUBLE: rowBuilder.set(i, parser.getDoubleValue()); break; } break; case VALUE_TRUE: rowBuilder.set(i, true); break; case VALUE_FALSE: rowBuilder.set(i, false); break; case VALUE_NULL: break; default: rowBuilder.set(i, parser.getText()); } }
From source file:org.mongojack.internal.object.BsonObjectGenerator.java
@Override public void copyCurrentEvent(JsonParser jp) throws IOException { JsonToken t = jp.getCurrentToken();/*from w w w . j a v a 2 s. c o m*/ switch (t) { case START_OBJECT: writeStartObject(); break; case END_OBJECT: writeEndObject(); break; case START_ARRAY: writeStartArray(); break; case END_ARRAY: writeEndArray(); break; case FIELD_NAME: writeFieldName(jp.getCurrentName()); break; case VALUE_STRING: if (jp.hasTextCharacters()) { writeString(jp.getTextCharacters(), jp.getTextOffset(), jp.getTextLength()); } else { writeString(jp.getText()); } break; case VALUE_NUMBER_INT: switch (jp.getNumberType()) { case INT: writeNumber(jp.getIntValue()); break; case BIG_INTEGER: writeNumber(jp.getBigIntegerValue()); break; default: writeNumber(jp.getLongValue()); } break; case VALUE_NUMBER_FLOAT: switch (jp.getNumberType()) { case BIG_DECIMAL: writeNumber(jp.getDecimalValue()); break; case FLOAT: writeNumber(jp.getFloatValue()); break; default: writeNumber(jp.getDoubleValue()); } break; case VALUE_TRUE: writeBoolean(true); break; case VALUE_FALSE: writeBoolean(false); break; case VALUE_NULL: writeNull(); break; case VALUE_EMBEDDED_OBJECT: writeObject(jp.getEmbeddedObject()); break; } }
From source file:org.hyperledger.dropwizard.hocon.HoconDeserializer.java
protected ConfigList deserializeArray(JsonParser jp, DeserializationContext ctxt) throws IOException { List<Object> values = new ArrayList<>(); JsonToken t;// w ww . ja va2 s . c o m while ((t = jp.nextToken()) != JsonToken.END_ARRAY) { switch (t) { case START_ARRAY: values.add(deserializeArray(jp, ctxt).unwrapped()); break; case START_OBJECT: values.add(deserializeObject(jp, ctxt).unwrapped()); break; case VALUE_FALSE: values.add(false); break; case VALUE_TRUE: values.add(true); break; case VALUE_NULL: values.add(null); break; case VALUE_NUMBER_FLOAT: if (jp.getNumberType() == JsonParser.NumberType.BIG_DECIMAL) { values.add(jp.getDecimalValue()); } else { values.add(jp.getDoubleValue()); } break; case VALUE_NUMBER_INT: // very cumbersome... but has to be done switch (jp.getNumberType()) { case LONG: values.add(jp.getLongValue()); break; case INT: values.add(jp.getIntValue()); break; default: values.add(jp.getBigIntegerValue()); } break; case VALUE_STRING: values.add(jp.getText()); break; default: throw ctxt.mappingException(_valueClass); } } return ConfigValueFactory.fromIterable(values); }
From source file:org.debezium.core.doc.JacksonReader.java
private Array parseArray(JsonParser parser) throws IOException { // Iterate over the fields in the top-level document ... BasicArray array = new BasicArray(); JsonToken token = parser.nextToken(); while (token != JsonToken.END_ARRAY) { switch (token) { case START_OBJECT: array.add(parseDocument(parser, true)); break; case START_ARRAY: array.add(parseArray(parser)); break; case VALUE_STRING: array.add(parser.getValueAsString()); break; case VALUE_TRUE: array.add(true);/*from w ww . j a v a 2s. c o m*/ break; case VALUE_FALSE: array.add(false); break; case VALUE_NULL: array.addNull(); break; case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: switch (parser.getNumberType()) { case FLOAT: array.add(parser.getFloatValue()); break; case DOUBLE: array.add(parser.getDoubleValue()); break; case BIG_DECIMAL: array.add(parser.getDecimalValue()); break; case INT: array.add(parser.getIntValue()); break; case LONG: array.add(parser.getLongValue()); break; case BIG_INTEGER: array.add(parser.getBigIntegerValue()); break; } break; case VALUE_EMBEDDED_OBJECT: // disregard this, since it's an extension ... break; case NOT_AVAILABLE: throw new JsonParseException("Non-blocking parsers are not supported", parser.getCurrentLocation()); case FIELD_NAME: throw new JsonParseException("Not expecting a FIELD_NAME token", parser.getCurrentLocation()); case END_ARRAY: throw new JsonParseException("Not expecting an END_ARRAY token", parser.getCurrentLocation()); case END_OBJECT: throw new JsonParseException("Not expecting an END_OBJECT token", parser.getCurrentLocation()); } token = parser.nextToken(); } return array; }
From source file:org.hyperledger.dropwizard.hocon.HoconDeserializer.java
protected ConfigObject deserializeObject(JsonParser jp, DeserializationContext ctxt) throws IOException { HashMap<String, Object> mapping = new HashMap<>(); while (jp.nextToken() != JsonToken.END_OBJECT) { String name = jp.getCurrentName(); JsonToken t = jp.nextToken();//from w w w .j a va 2 s . c o m switch (t) { case START_ARRAY: mapping.put(name, deserializeArray(jp, ctxt).unwrapped()); break; case START_OBJECT: mapping.put(name, deserializeObject(jp, ctxt).unwrapped()); break; case VALUE_FALSE: mapping.put(name, false); break; case VALUE_TRUE: mapping.put(name, true); break; case VALUE_NULL: mapping.put(name, null); break; case VALUE_NUMBER_FLOAT: if (jp.getNumberType() == JsonParser.NumberType.BIG_DECIMAL) { mapping.put(name, jp.getDecimalValue()); } else { mapping.put(name, jp.getDoubleValue()); } break; case VALUE_NUMBER_INT: // very cumbersome... but has to be done switch (jp.getNumberType()) { case LONG: mapping.put(name, jp.getLongValue()); break; case INT: mapping.put(name, jp.getIntValue()); break; default: mapping.put(name, jp.getBigIntegerValue()); } break; case VALUE_STRING: mapping.put(name, jp.getText()); break; case VALUE_EMBEDDED_OBJECT: { Object ob = jp.getEmbeddedObject(); if (ob instanceof byte[]) { String b64 = ctxt.getBase64Variant().encode((byte[]) ob, false); mapping.put(name, b64); break; } } default: throw ctxt.mappingException(_valueClass); } } return ConfigValueFactory.fromMap(mapping); }
From source file:YexOpenRtbJsonReader.java
@Override protected void readBidField(JsonParser par, OpenRtb.BidResponse.SeatBid.Bid.Builder bid, String fieldName) throws IOException { switch (fieldName) { case "id": bid.setId(par.getText());/*from w w w .j av a 2s.c o m*/ break; case "impid": bid.setImpid(par.getText()); break; case "price": bid.setPrice(getDoubleValue(par)); break; case "adid": bid.setAdid(par.getText()); break; case "nurl": bid.setNurl(par.getText()); break; case "adm": bid.setAdmNative(factory().newNativeReader().readNativeResponse(par)); break; case "adomain": for (startArray(par); endArray(par); par.nextToken()) { bid.addAdomain(par.getText()); } break; case "bundle": bid.setBundle(par.getText()); break; case "iurl": bid.setIurl(par.getText()); break; case "cid": bid.setCid(par.getText()); break; case "crid": bid.setCrid(par.getText()); break; case "cat": for (startArray(par); endArray(par); par.nextToken()) { String cat = par.getText(); if (OpenRtbUtils.categoryFromName(cat) != null) { bid.addCat(cat); } } break; case "attr": for (startArray(par); endArray(par); par.nextToken()) { OpenRtb.CreativeAttribute value = OpenRtb.CreativeAttribute.valueOf(par.getIntValue()); if (checkEnum(value)) { bid.addAttr(value); } } break; case "dealid": bid.setDealid(par.getText()); break; case "w": bid.setW(par.getIntValue()); break; case "h": bid.setH(par.getIntValue()); break; default: readOther(bid, par, fieldName); } }