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

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

Introduction

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

Prototype

public boolean getValueAsBoolean() throws IOException, JsonParseException 

Source Link

Document

Method that will try to convert value of current token to a boolean.

Usage

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

protected void readRegsField(JsonParser par, Regs.Builder reg, String fieldName) throws IOException {
    switch (fieldName) {
    case "coppa":
        reg.setCoppa(par.getValueAsBoolean());
        break;/*w w  w  .  j a v  a  2s.c  o m*/
    default:
        readOther(reg, par, fieldName);
    }
}

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

protected void readPmpField(JsonParser par, Pmp.Builder pmp, String fieldName) throws IOException {
    switch (fieldName) {
    case "private_auction":
        pmp.setPrivateAuction(par.getValueAsBoolean());
        break;/*  w  w  w  .  jav  a  2s.co  m*/
    case "deals":
        for (startArray(par); endArray(par); par.nextToken()) {
            pmp.addDeals(readDeal(par));
        }
        break;
    default:
        readOther(pmp, par, fieldName);
    }
}

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

protected void readDeviceField(JsonParser par, Device.Builder device, String fieldName) throws IOException {
    switch (fieldName) {
    case "ua":
        device.setUa(par.getText());//from ww  w  .  j av a  2 s .  c  om
        break;
    case "geo":
        device.setGeo(readGeo(par));
        break;
    case "dnt":
        device.setDnt(par.getValueAsBoolean());
        break;
    case "lmt":
        device.setLmt(par.getValueAsBoolean());
        break;
    case "ip":
        device.setIp(par.getText());
        break;
    case "ipv6":
        device.setIpv6(par.getText());
        break;
    case "devicetype": {
        DeviceType value = DeviceType.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            device.setDevicetype(value);
        }
    }
        break;
    case "make":
        device.setMake(par.getText());
        break;
    case "model":
        device.setModel(par.getText());
        break;
    case "os":
        device.setOs(par.getText());
        break;
    case "osv":
        device.setOsv(par.getText());
        break;
    case "hwv":
        device.setHwv(par.getText());
        break;
    case "w":
        device.setW(par.getIntValue());
        break;
    case "h":
        device.setH(par.getIntValue());
        break;
    case "ppi":
        device.setPpi(par.getIntValue());
        break;
    case "pxratio":
        device.setPxratio(par.getValueAsDouble());
        break;
    case "js":
        device.setJs(par.getValueAsBoolean());
        break;
    case "flashver":
        device.setFlashver(par.getText());
        break;
    case "language":
        device.setLanguage(par.getText());
        break;
    case "carrier":
        device.setCarrier(par.getText());
        break;
    case "connectiontype": {
        ConnectionType value = ConnectionType.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            device.setConnectiontype(value);
        }
    }
        break;
    case "ifa":
        device.setIfa(par.getText());
        break;
    case "didsha1":
        device.setDidsha1(par.getText());
        break;
    case "didmd5":
        device.setDidmd5(par.getText());
        break;
    case "dpidsha1":
        device.setDpidsha1(par.getText());
        break;
    case "dpidmd5":
        device.setDpidmd5(par.getText());
        break;
    case "macsha1":
        device.setMacsha1(par.getText());
        break;
    case "macmd5":
        device.setMacmd5(par.getText());
        break;
    case "geofetch":
        device.setGeofetch(par.getValueAsBoolean());
        break;
    default:
        readOther(device, par, fieldName);
    }
}

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

protected void readSeatBidField(JsonParser par, SeatBid.Builder seatbid, String fieldName) throws IOException {
    switch (fieldName) {
    case "bid":
        for (startArray(par); endArray(par); par.nextToken()) {
            seatbid.addBid(readBid(par));
        }/*from  w w  w.j a  v  a  2 s  .  c  o  m*/
        break;
    case "seat":
        seatbid.setSeat(par.getText());
        break;
    case "group":
        seatbid.setGroup(par.getValueAsBoolean());
        break;
    default:
        readOther(seatbid, par, fieldName);
    }
}

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

protected void readBidRequestField(JsonParser par, BidRequest.Builder req, String fieldName)
        throws IOException {
    switch (fieldName) {
    case "id":
        req.setId(par.getText());/*from   ww w. java 2 s.c  om*/
        break;
    case "imp":
        for (startArray(par); endArray(par); par.nextToken()) {
            req.addImp(readImp(par));
        }
        break;
    case "site":
        req.setSite(readSite(par));
        break;
    case "app":
        req.setApp(readApp(par));
        break;
    case "device":
        req.setDevice(readDevice(par));
        break;
    case "user":
        req.setUser(readUser(par));
        break;
    case "test":
        req.setTest(par.getValueAsBoolean());
        break;
    case "at": {
        AuctionType value = AuctionType.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            req.setAt(value);
        }
    }
        break;
    case "tmax":
        req.setTmax(par.getIntValue());
        break;
    case "wseat":
        for (startArray(par); endArray(par); par.nextToken()) {
            req.addWseat(par.getText());
        }
        break;
    case "allimps":
        req.setAllimps(par.getValueAsBoolean());
        break;
    case "cur":
        for (startArray(par); endArray(par); par.nextToken()) {
            req.addCur(par.getText());
        }
        break;
    case "bcat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                req.addBcat(cat);
            }
        }
        break;
    case "badv":
        for (startArray(par); endArray(par); par.nextToken()) {
            req.addBadv(par.getText());
        }
        break;
    case "regs":
        req.setRegs(readRegs(par));
        break;
    case "bapp":
        for (startArray(par); endArray(par); par.nextToken()) {
            req.addBapp(par.getText());
        }
        break;
    default:
        readOther(req, par, fieldName);
    }
}

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

protected void readImpField(JsonParser par, Imp.Builder imp, String fieldName) throws IOException {
    switch (fieldName) {
    case "id":
        imp.setId(par.getText());/*from www .  j  a  v  a  2s.  com*/
        break;
    case "banner":
        imp.setBanner(readBanner(par));
        break;
    case "video":
        imp.setVideo(readVideo(par));
        break;
    case "audio":
        imp.setAudio(readAudio(par));
        break;
    case "native":
        imp.setNative(readNative(par));
        break;
    case "displaymanager":
        imp.setDisplaymanager(par.getText());
        break;
    case "displaymanagerver":
        imp.setDisplaymanagerver(par.getText());
        break;
    case "instl":
        imp.setInstl(par.getValueAsBoolean());
        break;
    case "tagid":
        imp.setTagid(par.getText());
        break;
    case "bidfloor":
        imp.setBidfloor(par.getValueAsDouble());
        break;
    case "bidfloorcur":
        imp.setBidfloorcur(par.getText());
        break;
    case "secure":
        imp.setSecure(par.getValueAsBoolean());
        break;
    case "iframebuster":
        for (startArray(par); endArray(par); par.nextToken()) {
            imp.addIframebuster(par.getText());
        }
        break;
    case "pmp":
        imp.setPmp(readPmp(par));
        break;
    case "clickbrowser":
        imp.setClickbrowser(par.getValueAsBoolean());
        break;
    case "exp":
        imp.setExp(par.getIntValue());
        break;
    default:
        readOther(imp, par, fieldName);
    }
}

From source file:com.adobe.communities.ugc.migration.importer.UGCImportHelper.java

protected void extractTopic(final JsonParser jsonParser, final Resource resource,
        final ResourceResolver resolver, final CommentOperations operations)
        throws IOException, ServletException {
    if (jsonParser.getCurrentToken().equals(JsonToken.END_OBJECT)) {
        return; // replies could just be an empty object (i.e. "ugc:replies":{} ) in which case, do nothing
    }//  w ww.ja va 2 s  . c  o  m
    final Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("social:key", jsonParser.getCurrentName());
    Resource post = null;
    jsonParser.nextToken();
    if (jsonParser.getCurrentToken().equals(JsonToken.START_OBJECT)) {
        jsonParser.nextToken();
        String author = null;
        List<DataSource> attachments = new ArrayList<DataSource>();
        while (!jsonParser.getCurrentToken().equals(JsonToken.END_OBJECT)) {
            final String label = jsonParser.getCurrentName();
            JsonToken token = jsonParser.nextToken();
            if (jsonParser.getCurrentToken().isScalarValue()) {

                // either a string, boolean, or long value
                if (token.isNumeric()) {
                    properties.put(label, jsonParser.getValueAsLong());
                } else {
                    final String value = jsonParser.getValueAsString();
                    if (value.equals("true") || value.equals("false")) {
                        properties.put(label, jsonParser.getValueAsBoolean());
                    } else {
                        final String decodedValue = URLDecoder.decode(value, "UTF-8");
                        if (label.equals("language")) {
                            properties.put("mtlanguage", decodedValue);
                        } else {
                            properties.put(label, decodedValue);
                            if (label.equals("userIdentifier")) {
                                author = decodedValue;
                            } else if (label.equals("jcr:description")) {
                                properties.put("message", decodedValue);
                            }
                        }
                    }
                }
            } else if (label.equals(ContentTypeDefinitions.LABEL_ATTACHMENTS)) {
                attachments = getAttachments(jsonParser);
            } else if (label.equals(ContentTypeDefinitions.LABEL_REPLIES)
                    || label.equals(ContentTypeDefinitions.LABEL_TALLY)
                    || label.equals(ContentTypeDefinitions.LABEL_TRANSLATION)
                    || label.equals(ContentTypeDefinitions.LABEL_SUBNODES)) {
                // replies and sub-nodes ALWAYS come after all other properties and attachments have been listed,
                // so we can create the post now if we haven't already, and then dive in
                if (post == null) {
                    try {
                        post = createPost(resource, author, properties, attachments,
                                resolver.adaptTo(Session.class), operations);
                        resProvider = SocialResourceUtils.getSocialResource(post).getResourceProvider();
                    } catch (Exception e) {
                        throw new ServletException(e.getMessage(), e);
                    }
                }
                if (label.equals(ContentTypeDefinitions.LABEL_REPLIES)) {
                    if (token.equals(JsonToken.START_OBJECT)) {
                        jsonParser.nextToken();
                        while (!token.equals(JsonToken.END_OBJECT)) {
                            extractTopic(jsonParser, post, resolver, operations);
                            token = jsonParser.nextToken();
                        }
                    } else {
                        throw new IOException("Expected an object for the subnodes");
                    }
                } else if (label.equals(ContentTypeDefinitions.LABEL_SUBNODES)) {
                    if (token.equals(JsonToken.START_OBJECT)) {
                        token = jsonParser.nextToken();
                        try {
                            while (!token.equals(JsonToken.END_OBJECT)) {
                                final String subnodeType = jsonParser.getCurrentName();
                                token = jsonParser.nextToken();
                                if (token.equals(JsonToken.START_OBJECT)) {
                                    jsonParser.skipChildren();
                                    token = jsonParser.nextToken();
                                }
                            }
                        } catch (final IOException e) {
                            throw new IOException("unable to skip child of sub-nodes", e);
                        }
                    } else {
                        final String field = jsonParser.getValueAsString();
                        throw new IOException("Expected an object for the subnodes. Instead: " + field);
                    }
                } else if (label.equals(ContentTypeDefinitions.LABEL_TALLY)) {
                    UGCImportHelper.extractTally(post, jsonParser, resProvider, tallyOperationsService);
                } else if (label.equals(ContentTypeDefinitions.LABEL_TRANSLATION)) {
                    importTranslation(jsonParser, post);
                    resProvider.commit(post.getResourceResolver());
                }

            } else if (jsonParser.getCurrentToken().equals(JsonToken.START_OBJECT)) {
                properties.put(label, UGCImportHelper.extractSubmap(jsonParser));
            } else if (jsonParser.getCurrentToken().equals(JsonToken.START_ARRAY)) {
                jsonParser.nextToken(); // skip the START_ARRAY token
                if (label.equals(ContentTypeDefinitions.LABEL_TIMESTAMP_FIELDS)) {
                    while (!jsonParser.getCurrentToken().equals(JsonToken.END_ARRAY)) {
                        final String timestampLabel = jsonParser.getValueAsString();
                        if (properties.containsKey(timestampLabel)
                                && properties.get(timestampLabel) instanceof Long) {
                            final Calendar calendar = new GregorianCalendar();
                            calendar.setTimeInMillis((Long) properties.get(timestampLabel));
                            properties.put(timestampLabel, calendar.getTime());
                        }
                        jsonParser.nextToken();
                    }
                } else {
                    final List<String> subArray = new ArrayList<String>();
                    while (!jsonParser.getCurrentToken().equals(JsonToken.END_ARRAY)) {
                        subArray.add(jsonParser.getValueAsString());
                        jsonParser.nextToken();
                    }
                    String[] strings = new String[subArray.size()];
                    for (int i = 0; i < subArray.size(); i++) {
                        strings[i] = subArray.get(i);
                    }
                    properties.put(label, strings);
                }
            }
            jsonParser.nextToken();
        }
        if (post == null) {
            try {
                post = createPost(resource, author, properties, attachments, resolver.adaptTo(Session.class),
                        operations);
                if (null == resProvider) {
                    resProvider = SocialResourceUtils.getSocialResource(post).getResourceProvider();
                }
                // resProvider.commit(resolver);
            } catch (Exception e) {
                throw new ServletException(e.getMessage(), e);
            }
        }
    } else {
        throw new IOException("Improperly formed JSON - expected an OBJECT_START token, but got "
                + jsonParser.getCurrentToken().toString());
    }
}

From source file:org.wso2.extension.siddhi.map.json.sourcemapper.JsonSourceMapper.java

private Event convertToSingleEventForDefaultMapping(Object eventObject) throws IOException {
    Event event = new Event(attributesSize);
    Object[] data = event.getData();
    JsonParser parser;
    int numberOfProvidedAttributes = 0;
    try {//from  w w  w. jav a2  s.  c  om
        parser = factory.createParser(eventObject.toString());
    } catch (IOException e) {
        throw new SiddhiAppRuntimeException(
                "Initializing a parser failed for the event string." + eventObject.toString());
    }
    int position;
    while (!parser.isClosed()) {
        JsonToken jsonToken = parser.nextToken();
        if (JsonToken.START_OBJECT.equals(jsonToken)) {
            parser.nextToken();
            if (DEFAULT_JSON_EVENT_IDENTIFIER.equalsIgnoreCase(parser.getText())) {
                parser.nextToken();
            } else {
                log.error("Default json message " + eventObject
                        + " contains an invalid event identifier. Required \"event\", " + "but found \""
                        + parser.getText() + "\". Hence dropping the message.");
                return null;
            }
        } else if (JsonToken.FIELD_NAME.equals(jsonToken)) {
            String key = parser.getCurrentName();
            numberOfProvidedAttributes++;
            position = findDefaultMappingPosition(key);
            if (position == -1) {
                log.error("Stream \"" + streamDefinition.getId() + "\" does not have an attribute named \""
                        + key + "\", but the received event " + eventObject.toString()
                        + " does. Hence dropping the message.");
                return null;
            }
            jsonToken = parser.nextToken();
            Attribute.Type type = streamAttributes.get(position).getType();

            if (JsonToken.VALUE_NULL.equals(jsonToken)) {
                data[position] = null;
            } else {
                switch (type) {
                case BOOL:
                    if (JsonToken.VALUE_TRUE.equals(jsonToken) || JsonToken.VALUE_FALSE.equals(jsonToken)) {
                        data[position] = parser.getValueAsBoolean();
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type BOOL. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                case INT:
                    if (JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) {
                        data[position] = parser.getValueAsInt();
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type INT. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                case DOUBLE:
                    if (JsonToken.VALUE_NUMBER_FLOAT.equals(jsonToken)) {
                        data[position] = parser.getValueAsDouble();
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type DOUBLE. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                case STRING:
                    if (JsonToken.VALUE_STRING.equals(jsonToken)) {
                        data[position] = parser.getValueAsString();
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type STRING. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                case FLOAT:
                    if (JsonToken.VALUE_NUMBER_FLOAT.equals(jsonToken)
                            || JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) {
                        data[position] = attributeConverter.getPropertyValue(parser.getValueAsString(),
                                Attribute.Type.FLOAT);
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type FLOAT. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                case LONG:
                    if (JsonToken.VALUE_NUMBER_INT.equals(jsonToken)) {
                        data[position] = parser.getValueAsLong();
                    } else {
                        log.error("Json message " + eventObject.toString()
                                + " contains incompatible attribute types and values. Value " + parser.getText()
                                + " is not compatible with type LONG. " + "Hence dropping the message.");
                        return null;
                    }
                    break;
                default:
                    return null;
                }
            }
        }
    }

    if (failOnMissingAttribute && (numberOfProvidedAttributes != attributesSize)) {
        log.error("Json message " + eventObject.toString()
                + " contains missing attributes. Hence dropping the message.");
        return null;
    }
    return event;
}

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

protected void readSiteField(JsonParser par, Site.Builder site, String fieldName) throws IOException {
    switch (fieldName) {
    case "id":
        site.setId(par.getText());/*from  w  w  w .  jav a 2  s . c o  m*/
        break;
    case "name":
        site.setName(par.getText());
        break;
    case "domain":
        site.setDomain(par.getText());
        break;
    case "cat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                site.addCat(cat);
            }
        }
        break;
    case "sectioncat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                site.addSectioncat(cat);
            }
        }
        break;
    case "pagecat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                site.addPagecat(cat);
            }
        }
        break;
    case "page":
        site.setPage(par.getText());
        break;
    case "ref":
        site.setRef(par.getText());
        break;
    case "search":
        site.setSearch(par.getText());
        break;
    case "mobile":
        site.setMobile(par.getValueAsBoolean());
        break;
    case "privacypolicy":
        site.setPrivacypolicy(par.getValueAsBoolean());
        break;
    case "publisher":
        site.setPublisher(readPublisher(par));
        break;
    case "content":
        site.setContent(readContent(par));
        break;
    case "keywords":
        site.setKeywords(readCsvString(par));
        break;
    default:
        readOther(site, par, fieldName);
    }
}

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

protected void readAppField(JsonParser par, App.Builder app, String fieldName) throws IOException {
    switch (fieldName) {
    case "id":
        app.setId(par.getText());/*from w ww  .jav  a2s  . com*/
        break;
    case "name":
        app.setName(par.getText());
        break;
    case "bundle":
        app.setBundle(par.getText());
        break;
    case "domain":
        app.setDomain(par.getText());
        break;
    case "storeurl":
        app.setStoreurl(par.getText());
        break;
    case "cat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                app.addCat(cat);
            }
        }
        break;
    case "sectioncat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                app.addSectioncat(cat);
            }
        }
        break;
    case "pagecat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                app.addPagecat(cat);
            }
        }
        break;
    case "ver":
        app.setVer(par.getText());
        break;
    case "privacypolicy":
        app.setPrivacypolicy(par.getValueAsBoolean());
        break;
    case "paid":
        app.setPaid(par.getValueAsBoolean());
        break;
    case "publisher":
        app.setPublisher(readPublisher(par));
        break;
    case "content":
        app.setContent(readContent(par));
        break;
    case "keywords":
        app.setKeywords(readCsvString(par));
        break;
    default:
        readOther(app, par, fieldName);
    }
}