Example usage for com.fasterxml.jackson.core JsonParser getIntValue

List of usage examples for com.fasterxml.jackson.core JsonParser getIntValue

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getIntValue.

Prototype

public abstract int getIntValue() throws IOException, JsonParseException;

Source Link

Document

Numeric accessor that can be called when the current token is of type JsonToken#VALUE_NUMBER_INT and it can be expressed as a value of Java int primitive type.

Usage

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);
    }
}