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

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

Introduction

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

Prototype

public abstract String getText() throws IOException, JsonParseException;

Source Link

Document

Method for accessing textual representation of the current token; if no current token (before first call to #nextToken , or after encountering end-of-input), returns null.

Usage

From source file:org.o3project.ocnrm.odenos.linklayerizer.LinkLayerizerBoundarySet.java

public Map<String, LinklayerizerBoundary> changeJSONBoundariesToBoundaries(String jsonBoundary, String seqNo) {

    logger.info(seqNo + "\t" + "changeJSONBoundariestoBoundaries Start");

    linklayerizerBoundaryMap = new HashMap<String, LinklayerizerBoundary>();
    try {//from  w  w w.j a va2  s  . c o  m
        JsonFactory factory = new JsonFactory();
        JsonParser jp = factory.createParser(jsonBoundary);
        jp.nextToken();
        while (jp.nextToken() != JsonToken.END_OBJECT) {
            String mapKey = jp.getCurrentName();
            LinklayerizerBoundary llb = new LinklayerizerBoundary();
            jp.nextToken();
            while (jp.nextToken() != JsonToken.END_OBJECT) {
                String fieldname = jp.getCurrentName();
                jp.nextToken();
                if ("boundary_id".equals(fieldname)) {
                    llb.setBoundary_id(jp.getText());
                } else if ("lower_nw".equals(fieldname)) {
                    llb.setLower_nw(jp.getText());
                } else if ("lower_nw_node".equals(fieldname)) {
                    llb.setLower_nw_node(jp.getText());
                } else if ("lower_nw_port".equals(fieldname)) {
                    llb.setLower_nw_port(jp.getText());
                } else if ("upper_nw".equals(fieldname)) {
                    llb.setUpper_nw(jp.getText());
                } else if ("upper_nw_node".equals(fieldname)) {
                    llb.setUpper_nw_node(jp.getText());
                } else if ("upper_nw_port".equals(fieldname)) {
                    llb.setUpper_nw_port(jp.getText());
                } else if ("type".equals(fieldname)) {
                    continue;
                } else {
                    throw new IllegalStateException(seqNo + "\t" + "Unrecognized field '" + fieldname + "'!");
                }
            }
            linklayerizerBoundaryMap.put(mapKey, llb);
        }
        jp.close();
    } catch (JsonParseException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    logger.info(seqNo + "\t" + "changeJSONBoundariestoBoundaries End");
    return linklayerizerBoundaryMap;
}

From source file:io.swagger.inflector.config.DirectionDeserializer.java

@Override
public Set<Configuration.Direction> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    final JsonToken token = jp.getCurrentToken();
    if (token == JsonToken.VALUE_FALSE) {
        return EnumSet.noneOf(Configuration.Direction.class);
    } else if (token == JsonToken.VALUE_TRUE) {
        return EnumSet.allOf(Configuration.Direction.class);
    } else if (token == JsonToken.START_ARRAY) {
        final Set<Configuration.Direction> items = EnumSet.noneOf(Configuration.Direction.class);
        while (true) {
            final JsonToken next = jp.nextToken();
            if (next == JsonToken.VALUE_STRING) {
                final String name = jp.getText();
                items.add(Configuration.Direction.valueOf(name));
            } else if (next == JsonToken.END_ARRAY) {
                return items;
            } else {
                break;
            }/*w w w.  j  a  v a 2  s  .co  m*/
        }
    }
    throw ctxt.mappingException(Configuration.Direction.class);
}

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));
    }//from w  ww . j a v  a  2s  . co m
    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:com.basistech.rosette.dm.jackson.array.ListAttributeArrayDeserializer.java

@Override
@SuppressWarnings("unchecked")
public ListAttribute deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    if (jp.getCurrentToken() == JsonToken.START_ARRAY) { // this is what we expect.
        // we advance to be in the same place the 'else' will be -- the first FIELD_NAME.
        jp.nextToken();// w w  w  .  j a  v a  2 s.c o  m
    } else {
        throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY,
                "ListAttributeDeserializer called not array start.");
    }

    if (jp.getCurrentToken() != JsonToken.VALUE_STRING) {
        throw ctxt.mappingException("Expected VALUE_STRING for item type.");
    }
    String itemTypeKeyName = jp.getText();

    KnownAttribute attribute = KnownAttribute.getAttributeForKey(itemTypeKeyName);
    if (attribute == null) {
        attribute = KnownAttribute.UNKNOWN;
    }
    Class<? extends BaseAttribute> itemClass = attribute.attributeClass();

    ListAttribute.Builder<BaseAttribute> builder = new ListAttribute.Builder<>(attribute.attributeClass());
    List<BaseAttribute> items = Lists.newArrayList();

    if (jp.nextToken() != JsonToken.START_ARRAY) {
        throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "No array of values for list.");
    }

    // we just read the elements as we see them,
    while (jp.nextToken() != JsonToken.END_ARRAY) {
        // the START_ARRAY case, which is _normal_. Read the elements.
        items.add(jp.readValueAs(itemClass));
    }
    builder.setItems(items);
    // we are still in the top-level array ...
    if (jp.nextToken() != JsonToken.START_OBJECT) {
        throw ctxt.wrongTokenException(jp, JsonToken.START_OBJECT, "No extended properties for list.");
    }
    Map<String, Object> props = jp.readValueAs(new TypeReference<Map<String, Object>>() {
    });
    for (Map.Entry<String, Object> me : props.entrySet()) {
        builder.extendedProperty(me.getKey(), me.getValue());
    }
    jp.nextToken(); // consume the END_OBJECT of the extended props
    return builder.build();
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readRespLinkField(JsonParser par, NativeResponse.Link.Builder link, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "url":
        link.setUrl(par.getText());
        break;//from  w ww  .  j a  va2  s  . com
    case "clicktrackers":
        for (startArray(par); endArray(par); par.nextToken()) {
            link.addClicktrackers(par.getText());
        }
        break;
    case "fallback":
        link.setFallback(par.getText());
        break;
    default:
        readOther(link, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readNativeResponseField(JsonParser par, NativeResponse.Builder resp, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "ver":
        resp.setVer(par.getText());
        break;//from  ww  w . j  av a 2s. c o m
    case "assets":
        for (startArray(par); endArray(par); par.nextToken()) {
            resp.addAssets(readRespAsset(par));
        }
        break;
    case "link":
        resp.setLink(readRespLink(par));
        break;
    case "imptrackers":
        for (startArray(par); endArray(par); par.nextToken()) {
            resp.addImptrackers(par.getText());
        }
        break;
    case "jstracker":
        resp.setJstracker(par.getText());
        break;
    default:
        readOther(resp, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readRespTitleField(JsonParser par, NativeResponse.Asset.Title.Builder title, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "text":
        title.setText(par.getText());
        break;//from   w w w  . ja  va  2  s  . c o m
    default:
        readOther(title, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readRespDataField(JsonParser par, NativeResponse.Asset.Data.Builder data, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "label":
        data.setLabel(par.getText());
        break;/* w ww .j  ava 2  s  .  c o  m*/
    case "value":
        data.setValue(par.getText());
        break;
    default:
        readOther(data, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readRespImageField(JsonParser par, NativeResponse.Asset.Image.Builder image, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "url":
        image.setUrl(par.getText());
        break;/*from   w  w  w.j ava 2  s.c om*/
    case "w":
        image.setW(par.getIntValue());
        break;
    case "h":
        image.setH(par.getIntValue());
        break;
    default:
        readOther(image, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonReader.java

protected void readRespVideoField(JsonParser par, NativeResponse.Asset.Video.Builder video, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "vasttag":
        video.setVasttag(par.getText());
        break;/*from w  w w.j a  v  a  2 s  .  c om*/
    default:
        readOther(video, par, fieldName);
    }
}