Example usage for com.google.gson.stream JsonReader skipValue

List of usage examples for com.google.gson.stream JsonReader skipValue

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader skipValue.

Prototype

public void skipValue() throws IOException 

Source Link

Document

Skips the next value recursively.

Usage

From source file:org.jboss.tools.aerogear.hybrid.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseDistDetails(JsonReader reader, CordovaRegistryPluginVersion plugin) throws IOException {
    reader.beginObject();/*from  w ww .  jav a  2 s .  c om*/
    JsonToken token = reader.peek();
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            String name = reader.nextName();
            if ("shasum".equals(name)) {
                plugin.setDistributionSHASum(reader.nextString());
                break;
            }
            if ("tarball".equals(name)) {
                plugin.setDistributionTarball(reader.nextString());
                break;
            }
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.jboss.tools.aerogear.hybrid.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseDetailedVersions(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginObject();//versions
    JsonToken token = reader.peek();//from   www.  ja  v a 2  s. c om
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            CordovaRegistryPluginVersion version = new CordovaRegistryPluginVersion();
            version.setVersionNumber(reader.nextName());
            readPluginInfo(reader, version);
            plugin.addVersion(version);
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.jboss.tools.aerogear.hybrid.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseLatestVersion(JsonReader reader, CordovaRegistryPluginInfo plugin) throws IOException {
    reader.beginObject();//from  w ww  .ja  v  a  2 s .c  om
    JsonToken token = reader.peek();
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            String tag = reader.nextName();
            if ("latest".equals(tag)) {
                plugin.setLatestVersion(reader.nextString());
            }
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.jsfr.json.GsonParser.java

License:Open Source License

private ResumableParser createResumableParserImpl(Reader reader, SurfingContext context) {

    final JsonReader jsonReader = this.jsonReaderFactory.createJsonReader(reader);
    final JsonProvider jsonProvider = context.getConfig().getJsonProvider();

    AbstractPrimitiveHolder stringHolder = new AbstractPrimitiveHolder(context.getConfig()) {
        @Override//from   w ww  .j a v  a  2  s .  c om
        public Object doGetValue() throws IOException {
            return jsonProvider.primitive(jsonReader.nextString());
        }

        @Override
        public void doSkipValue() throws IOException {
            jsonReader.skipValue();
        }
    };
    AbstractPrimitiveHolder numberHolder = new AbstractPrimitiveHolder(context.getConfig()) {
        @Override
        public Object doGetValue() throws IOException {
            return jsonProvider.primitive(jsonReader.nextDouble());
        }

        @Override
        public void doSkipValue() throws IOException {
            jsonReader.skipValue();
        }
    };
    AbstractPrimitiveHolder booleanHolder = new AbstractPrimitiveHolder(context.getConfig()) {
        @Override
        public Object doGetValue() throws IOException {
            return jsonProvider.primitive(jsonReader.nextBoolean());
        }

        @Override
        public void doSkipValue() throws IOException {
            jsonReader.skipValue();
        }
    };
    AbstractPrimitiveHolder nullHolder = new AbstractPrimitiveHolder(context.getConfig()) {
        @Override
        public Object doGetValue() throws IOException {
            jsonReader.nextNull();
            return jsonProvider.primitiveNull();
        }

        @Override
        public void doSkipValue() throws IOException {
            jsonReader.skipValue();
        }
    };
    return new GsonResumableParser(jsonReader, context, stringHolder, numberHolder, booleanHolder, nullHolder);
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

@Override
public void importData(JsonReader reader) throws IOException {

    logger.info("Reading configuration for 1.0");

    // this *HAS* to start as an object
    reader.beginObject();/*from  w  w w .  j a v  a 2 s.com*/

    while (reader.hasNext()) {
        JsonToken tok = reader.peek();
        switch (tok) {
        case NAME:
            String name = reader.nextName();
            // find out which member it is
            if (name.equals(CLIENTS)) {
                readClients(reader);
            } else if (name.equals(GRANTS)) {
                readGrants(reader);
            } else if (name.equals(WHITELISTEDSITES)) {
                readWhitelistedSites(reader);
            } else if (name.equals(BLACKLISTEDSITES)) {
                readBlacklistedSites(reader);
            } else if (name.equals(AUTHENTICATIONHOLDERS)) {
                readAuthenticationHolders(reader);
            } else if (name.equals(ACCESSTOKENS)) {
                readAccessTokens(reader);
            } else if (name.equals(REFRESHTOKENS)) {
                readRefreshTokens(reader);
            } else if (name.equals(SYSTEMSCOPES)) {
                readSystemScopes(reader);
            } else {
                for (MITREidDataServiceExtension extension : extensions) {
                    if (extension.supportsVersion(THIS_VERSION)) {
                        if (extension.supportsVersion(THIS_VERSION)) {
                            extension.importExtensionData(name, reader);
                            break;
                        }
                    }
                }
                // unknown token, skip it
                reader.skipValue();
            }
            break;
        case END_OBJECT:
            // the object ended, we're done here
            reader.endObject();
            continue;
        default:
            logger.debug("Found unexpected entry");
            reader.skipValue();
            continue;
        }
    }
    fixObjectReferences();
    for (MITREidDataServiceExtension extension : extensions) {
        if (extension.supportsVersion(THIS_VERSION)) {
            extension.fixExtensionObjectReferences(maps);
            break;
        }
    }
    maps.clearAll();
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

/**
 * @param reader//w  w  w  .  jav  a2  s  .co m
 * @throws IOException
 */
private void readRefreshTokens(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        OAuth2RefreshTokenEntity token = new OAuth2RefreshTokenEntity();
        reader.beginObject();
        Long currentId = null;
        String clientId = null;
        Long authHolderId = null;
        while (reader.hasNext()) {
            switch (reader.peek()) {
            case END_OBJECT:
                continue;
            case NAME:
                String name = reader.nextName();
                if (reader.peek() == JsonToken.NULL) {
                    reader.skipValue();
                } else if (name.equals("id")) {
                    currentId = reader.nextLong();
                } else if (name.equals("expiration")) {
                    Date date = utcToDate(reader.nextString());
                    token.setExpiration(date);
                } else if (name.equals("value")) {
                    String value = reader.nextString();
                    try {
                        token.setJwt(JWTParser.parse(value));
                    } catch (ParseException ex) {
                        logger.error("Unable to set refresh token value to {}", value, ex);
                    }
                } else if (name.equals("clientId")) {
                    clientId = reader.nextString();
                } else if (name.equals("authenticationHolderId")) {
                    authHolderId = reader.nextLong();
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        Long newId = tokenRepository.saveRefreshToken(token).getId();
        maps.getRefreshTokenToClientRefs().put(currentId, clientId);
        maps.getRefreshTokenToAuthHolderRefs().put(currentId, authHolderId);
        maps.getRefreshTokenOldToNewIdMap().put(currentId, newId);
        logger.debug("Read refresh token {}", currentId);
    }
    reader.endArray();
    logger.info("Done reading refresh tokens");
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

/**
 * @param reader/*from w  w  w . jav a 2  s  .c o  m*/
 * @throws IOException
 */
private void readAccessTokens(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        OAuth2AccessTokenEntity token = new OAuth2AccessTokenEntity();
        reader.beginObject();
        Long currentId = null;
        String clientId = null;
        Long authHolderId = null;
        Long refreshTokenId = null;
        while (reader.hasNext()) {
            switch (reader.peek()) {
            case END_OBJECT:
                continue;
            case NAME:
                String name = reader.nextName();
                if (reader.peek() == JsonToken.NULL) {
                    reader.skipValue();
                } else if (name.equals("id")) {
                    currentId = reader.nextLong();
                } else if (name.equals("expiration")) {
                    Date date = utcToDate(reader.nextString());
                    token.setExpiration(date);
                } else if (name.equals("value")) {
                    String value = reader.nextString();
                    try {
                        // all tokens are JWTs
                        token.setJwt(JWTParser.parse(value));
                    } catch (ParseException ex) {
                        logger.error("Unable to set refresh token value to {}", value, ex);
                    }
                } else if (name.equals("clientId")) {
                    clientId = reader.nextString();
                } else if (name.equals("authenticationHolderId")) {
                    authHolderId = reader.nextLong();
                } else if (name.equals("refreshTokenId")) {
                    refreshTokenId = reader.nextLong();
                } else if (name.equals("scope")) {
                    Set<String> scope = readSet(reader);
                    token.setScope(scope);
                } else if (name.equals("type")) {
                    token.setTokenType(reader.nextString());
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        Long newId = tokenRepository.saveAccessToken(token).getId();
        maps.getAccessTokenToClientRefs().put(currentId, clientId);
        maps.getAccessTokenToAuthHolderRefs().put(currentId, authHolderId);
        if (refreshTokenId != null) {
            maps.getAccessTokenToRefreshTokenRefs().put(currentId, refreshTokenId);
        }
        maps.getAccessTokenOldToNewIdMap().put(currentId, newId);
        logger.debug("Read access token {}", currentId);
    }
    reader.endArray();
    logger.info("Done reading access tokens");
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

/**
 * @param reader/*  w ww .jav  a2  s . co  m*/
 * @throws IOException
 */
private void readAuthenticationHolders(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        AuthenticationHolderEntity ahe = new AuthenticationHolderEntity();
        reader.beginObject();
        Long currentId = null;
        while (reader.hasNext()) {
            switch (reader.peek()) {
            case END_OBJECT:
                continue;
            case NAME:
                String name = reader.nextName();
                if (reader.peek() == JsonToken.NULL) {
                    reader.skipValue();
                } else if (name.equals("id")) {
                    currentId = reader.nextLong();
                } else if (name.equals("ownerId")) {
                    //not needed
                    reader.skipValue();
                } else if (name.equals("authentication")) {
                    OAuth2Request clientAuthorization = null;
                    Authentication userAuthentication = null;
                    reader.beginObject();
                    while (reader.hasNext()) {
                        switch (reader.peek()) {
                        case END_OBJECT:
                            continue;
                        case NAME:
                            String subName = reader.nextName();
                            if (reader.peek() == JsonToken.NULL) {
                                reader.skipValue();
                            } else if (subName.equals("clientAuthorization")) {
                                clientAuthorization = readAuthorizationRequest(reader);
                            } else if (subName.equals("userAuthentication")) {
                                // skip binary encoded version
                                reader.skipValue();

                            } else if (subName.equals("savedUserAuthentication")) {
                                userAuthentication = readSavedUserAuthentication(reader);

                            } else {
                                logger.debug("Found unexpected entry");
                                reader.skipValue();
                            }
                            break;
                        default:
                            logger.debug("Found unexpected entry");
                            reader.skipValue();
                            continue;
                        }
                    }
                    reader.endObject();
                    OAuth2Authentication auth = new OAuth2Authentication(clientAuthorization,
                            userAuthentication);
                    ahe.setAuthentication(auth);
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        Long newId = authHolderRepository.save(ahe).getId();
        maps.getAuthHolderOldToNewIdMap().put(currentId, newId);
        logger.debug("Read authentication holder {}", currentId);
    }
    reader.endArray();
    logger.info("Done reading authentication holders");
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

private OAuth2Request readAuthorizationRequest(JsonReader reader) throws IOException {
    Set<String> scope = new LinkedHashSet<>();
    Set<String> resourceIds = new HashSet<>();
    boolean approved = false;
    Collection<GrantedAuthority> authorities = new HashSet<>();
    Map<String, String> authorizationParameters = new HashMap<>();
    Set<String> responseTypes = new HashSet<>();
    String redirectUri = null;//from   w w w  .j  a  va2 s  . c o  m
    String clientId = null;
    reader.beginObject();
    while (reader.hasNext()) {
        switch (reader.peek()) {
        case END_OBJECT:
            continue;
        case NAME:
            String name = reader.nextName();
            if (reader.peek() == JsonToken.NULL) {
                reader.skipValue();
            } else if (name.equals("authorizationParameters")) {
                authorizationParameters = readMap(reader);
            } else if (name.equals("approvalParameters")) {
                reader.skipValue();
            } else if (name.equals("clientId")) {
                clientId = reader.nextString();
            } else if (name.equals("scope")) {
                scope = readSet(reader);
            } else if (name.equals("resourceIds")) {
                resourceIds = readSet(reader);
            } else if (name.equals("authorities")) {
                Set<String> authorityStrs = readSet(reader);
                authorities = new HashSet<>();
                for (String s : authorityStrs) {
                    GrantedAuthority ga = new SimpleGrantedAuthority(s);
                    authorities.add(ga);
                }
            } else if (name.equals("approved")) {
                approved = reader.nextBoolean();
            } else if (name.equals("denied")) {
                if (approved == false) {
                    approved = !reader.nextBoolean();
                }
            } else if (name.equals("redirectUri")) {
                redirectUri = reader.nextString();
            } else if (name.equals("responseTypes")) {
                responseTypes = readSet(reader);
            } else {
                reader.skipValue();
            }
            break;
        default:
            logger.debug("Found unexpected entry");
            reader.skipValue();
            continue;
        }
    }
    reader.endObject();
    return new OAuth2Request(authorizationParameters, clientId, authorities, approved, scope, resourceIds,
            redirectUri, responseTypes, null);
}

From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java

License:Apache License

/**
 * @param reader/*from  w w  w  . j a  v  a  2s  .co  m*/
 * @return
 * @throws IOException
 */
private SavedUserAuthentication readSavedUserAuthentication(JsonReader reader) throws IOException {
    SavedUserAuthentication savedUserAuth = new SavedUserAuthentication();
    reader.beginObject();

    while (reader.hasNext()) {
        switch (reader.peek()) {
        case END_OBJECT:
            continue;
        case NAME:
            String name = reader.nextName();
            if (reader.peek() == JsonToken.NULL) {
                reader.skipValue();
            } else if (name.equals("name")) {
                savedUserAuth.setName(reader.nextString());
            } else if (name.equals("sourceClass")) {
                savedUserAuth.setSourceClass(reader.nextString());
            } else if (name.equals("authenticated")) {
                savedUserAuth.setAuthenticated(reader.nextBoolean());
            } else if (name.equals("authorities")) {
                Set<String> authorityStrs = readSet(reader);
                Set<GrantedAuthority> authorities = new HashSet<GrantedAuthority>();
                for (String s : authorityStrs) {
                    GrantedAuthority ga = new SimpleGrantedAuthority(s);
                    authorities.add(ga);
                }
                savedUserAuth.setAuthorities(authorities);
            } else {
                logger.debug("Found unexpected entry");
                reader.skipValue();
            }
            break;
        default:
            logger.debug("Found unexpected entry");
            reader.skipValue();
            continue;
        }
    }

    reader.endObject();
    return savedUserAuth;
}