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

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

Introduction

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

Prototype

public String nextString() throws IOException 

Source Link

Document

Returns the com.google.gson.stream.JsonToken#STRING string value of the next token, consuming it.

Usage

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

License:Apache License

/**
 * @param reader//  w ww.  j  a  v a  2  s . co m
 * @throws IOException
 */
private void readClients(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        ClientDetailsEntity client = new ClientDetailsEntity();
        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(CLIENT_ID)) {
                    client.setClientId(reader.nextString());
                } else if (name.equals(RESOURCE_IDS)) {
                    Set<String> resourceIds = readSet(reader);
                    client.setResourceIds(resourceIds);
                } else if (name.equals(SECRET)) {
                    client.setClientSecret(reader.nextString());
                } else if (name.equals(SCOPE)) {
                    Set<String> scope = readSet(reader);
                    client.setScope(scope);
                } 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);
                    }
                    client.setAuthorities(authorities);
                } else if (name.equals(ACCESS_TOKEN_VALIDITY_SECONDS)) {
                    client.setAccessTokenValiditySeconds(reader.nextInt());
                } else if (name.equals(REFRESH_TOKEN_VALIDITY_SECONDS)) {
                    client.setRefreshTokenValiditySeconds(reader.nextInt());
                } else if (name.equals(REDIRECT_URIS)) {
                    Set<String> redirectUris = readSet(reader);
                    client.setRedirectUris(redirectUris);
                } else if (name.equals(CLAIMS_REDIRECT_URIS)) {
                    Set<String> claimsRedirectUris = readSet(reader);
                    client.setClaimsRedirectUris(claimsRedirectUris);
                } else if (name.equals(NAME)) {
                    client.setClientName(reader.nextString());
                } else if (name.equals(URI)) {
                    client.setClientUri(reader.nextString());
                } else if (name.equals(LOGO_URI)) {
                    client.setLogoUri(reader.nextString());
                } else if (name.equals(CONTACTS)) {
                    Set<String> contacts = readSet(reader);
                    client.setContacts(contacts);
                } else if (name.equals(TOS_URI)) {
                    client.setTosUri(reader.nextString());
                } else if (name.equals(TOKEN_ENDPOINT_AUTH_METHOD)) {
                    AuthMethod am = AuthMethod.getByValue(reader.nextString());
                    client.setTokenEndpointAuthMethod(am);
                } else if (name.equals(GRANT_TYPES)) {
                    Set<String> grantTypes = readSet(reader);
                    client.setGrantTypes(grantTypes);
                } else if (name.equals(RESPONSE_TYPES)) {
                    Set<String> responseTypes = readSet(reader);
                    client.setResponseTypes(responseTypes);
                } else if (name.equals(POLICY_URI)) {
                    client.setPolicyUri(reader.nextString());
                } else if (name.equals(APPLICATION_TYPE)) {
                    AppType appType = AppType.getByValue(reader.nextString());
                    client.setApplicationType(appType);
                } else if (name.equals(SECTOR_IDENTIFIER_URI)) {
                    client.setSectorIdentifierUri(reader.nextString());
                } else if (name.equals(SUBJECT_TYPE)) {
                    SubjectType st = SubjectType.getByValue(reader.nextString());
                    client.setSubjectType(st);
                } else if (name.equals(JWKS_URI)) {
                    client.setJwksUri(reader.nextString());
                } else if (name.equals(JWKS)) {
                    try {
                        client.setJwks(JWKSet.parse(reader.nextString()));
                    } catch (ParseException e) {
                        logger.error("Couldn't parse JWK Set", e);
                    }
                } else if (name.equals(REQUEST_OBJECT_SIGNING_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setRequestObjectSigningAlg(alg);
                } else if (name.equals(USER_INFO_ENCRYPTED_RESPONSE_ALG)) {
                    JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
                    client.setUserInfoEncryptedResponseAlg(alg);
                } else if (name.equals(USER_INFO_ENCRYPTED_RESPONSE_ENC)) {
                    EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
                    client.setUserInfoEncryptedResponseEnc(alg);
                } else if (name.equals(USER_INFO_SIGNED_RESPONSE_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setUserInfoSignedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_SIGNED_RESPONSE_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setIdTokenSignedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_ENCRYPTED_RESPONSE_ALG)) {
                    JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
                    client.setIdTokenEncryptedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_ENCRYPTED_RESPONSE_ENC)) {
                    EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
                    client.setIdTokenEncryptedResponseEnc(alg);
                } else if (name.equals(TOKEN_ENDPOINT_AUTH_SIGNING_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setTokenEndpointAuthSigningAlg(alg);
                } else if (name.equals(DEFAULT_MAX_AGE)) {
                    client.setDefaultMaxAge(reader.nextInt());
                } else if (name.equals(REQUIRE_AUTH_TIME)) {
                    client.setRequireAuthTime(reader.nextBoolean());
                } else if (name.equals(DEFAULT_ACR_VALUES)) {
                    Set<String> defaultACRvalues = readSet(reader);
                    client.setDefaultACRvalues(defaultACRvalues);
                } else if (name.equals("initiateLoginUri")) {
                    client.setInitiateLoginUri(reader.nextString());
                } else if (name.equals(POST_LOGOUT_REDIRECT_URI)) {
                    Set<String> postLogoutUris = readSet(reader);
                    client.setPostLogoutRedirectUris(postLogoutUris);
                } else if (name.equals(REQUEST_URIS)) {
                    Set<String> requestUris = readSet(reader);
                    client.setRequestUris(requestUris);
                } else if (name.equals(DESCRIPTION)) {
                    client.setClientDescription(reader.nextString());
                } else if (name.equals(ALLOW_INTROSPECTION)) {
                    client.setAllowIntrospection(reader.nextBoolean());
                } else if (name.equals(REUSE_REFRESH_TOKEN)) {
                    client.setReuseRefreshToken(reader.nextBoolean());
                } else if (name.equals(CLEAR_ACCESS_TOKENS_ON_REFRESH)) {
                    client.setClearAccessTokensOnRefresh(reader.nextBoolean());
                } else if (name.equals(DYNAMICALLY_REGISTERED)) {
                    client.setDynamicallyRegistered(reader.nextBoolean());
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        clientRepository.saveClient(client);
    }
    reader.endArray();
    logger.info("Done reading clients");
}

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

License:Apache License

/**
 * Read the list of system scopes from the reader and insert them into the
 * scope repository.// w ww  . j  a  va2s  .c o  m
 *
 * @param reader
 * @throws IOException
 */
private void readSystemScopes(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        SystemScope scope = new SystemScope();
        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(VALUE)) {
                    scope.setValue(reader.nextString());
                } else if (name.equals(DESCRIPTION)) {
                    scope.setDescription(reader.nextString());
                } else if (name.equals(RESTRICTED)) {
                    scope.setRestricted(reader.nextBoolean());
                } else if (name.equals(DEFAULT_SCOPE)) {
                    scope.setDefaultScope(reader.nextBoolean());
                } else if (name.equals(ICON)) {
                    scope.setIcon(reader.nextString());
                } else if (name.equals(STRUCTURED)) {
                    logger.warn("Found a structured scope, ignoring structure");
                } else if (name.equals(STRUCTURED_PARAMETER)) {
                    logger.warn("Found a structured scope, ignoring structure");
                } else {
                    logger.debug("found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        sysScopeRepository.save(scope);
    }
    reader.endArray();
    logger.info("Done reading system scopes");
}

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

License:Apache License

/**
 * @param reader//from   ww  w .j av  a2 s .  c  om
 * @throws IOException
 */
private void readClients(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        ClientDetailsEntity client = new ClientDetailsEntity();
        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(CLIENT_ID)) {
                    client.setClientId(reader.nextString());
                } else if (name.equals(RESOURCE_IDS)) {
                    Set<String> resourceIds = readSet(reader);
                    client.setResourceIds(resourceIds);
                } else if (name.equals(SECRET)) {
                    client.setClientSecret(reader.nextString());
                } else if (name.equals(SCOPE)) {
                    Set<String> scope = readSet(reader);
                    client.setScope(scope);
                } 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);
                    }
                    client.setAuthorities(authorities);
                } else if (name.equals(ACCESS_TOKEN_VALIDITY_SECONDS)) {
                    client.setAccessTokenValiditySeconds(reader.nextInt());
                } else if (name.equals(REFRESH_TOKEN_VALIDITY_SECONDS)) {
                    client.setRefreshTokenValiditySeconds(reader.nextInt());
                } else if (name.equals(ID_TOKEN_VALIDITY_SECONDS)) {
                    client.setIdTokenValiditySeconds(reader.nextInt());
                } else if (name.equals(DEVICE_CODE_VALIDITY_SECONDS)) {
                    client.setDeviceCodeValiditySeconds(reader.nextInt());
                } else if (name.equals(REDIRECT_URIS)) {
                    Set<String> redirectUris = readSet(reader);
                    client.setRedirectUris(redirectUris);
                } else if (name.equals(CLAIMS_REDIRECT_URIS)) {
                    Set<String> claimsRedirectUris = readSet(reader);
                    client.setClaimsRedirectUris(claimsRedirectUris);
                } else if (name.equals(NAME)) {
                    client.setClientName(reader.nextString());
                } else if (name.equals(URI)) {
                    client.setClientUri(reader.nextString());
                } else if (name.equals(LOGO_URI)) {
                    client.setLogoUri(reader.nextString());
                } else if (name.equals(CONTACTS)) {
                    Set<String> contacts = readSet(reader);
                    client.setContacts(contacts);
                } else if (name.equals(TOS_URI)) {
                    client.setTosUri(reader.nextString());
                } else if (name.equals(TOKEN_ENDPOINT_AUTH_METHOD)) {
                    AuthMethod am = AuthMethod.getByValue(reader.nextString());
                    client.setTokenEndpointAuthMethod(am);
                } else if (name.equals(GRANT_TYPES)) {
                    Set<String> grantTypes = readSet(reader);
                    client.setGrantTypes(grantTypes);
                } else if (name.equals(RESPONSE_TYPES)) {
                    Set<String> responseTypes = readSet(reader);
                    client.setResponseTypes(responseTypes);
                } else if (name.equals(POLICY_URI)) {
                    client.setPolicyUri(reader.nextString());
                } else if (name.equals(APPLICATION_TYPE)) {
                    AppType appType = AppType.getByValue(reader.nextString());
                    client.setApplicationType(appType);
                } else if (name.equals(SECTOR_IDENTIFIER_URI)) {
                    client.setSectorIdentifierUri(reader.nextString());
                } else if (name.equals(SUBJECT_TYPE)) {
                    SubjectType st = SubjectType.getByValue(reader.nextString());
                    client.setSubjectType(st);
                } else if (name.equals(JWKS_URI)) {
                    client.setJwksUri(reader.nextString());
                } else if (name.equals(JWKS)) {
                    try {
                        client.setJwks(JWKSet.parse(reader.nextString()));
                    } catch (ParseException e) {
                        logger.error("Couldn't parse JWK Set", e);
                    }
                } else if (name.equals(REQUEST_OBJECT_SIGNING_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setRequestObjectSigningAlg(alg);
                } else if (name.equals(USER_INFO_ENCRYPTED_RESPONSE_ALG)) {
                    JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
                    client.setUserInfoEncryptedResponseAlg(alg);
                } else if (name.equals(USER_INFO_ENCRYPTED_RESPONSE_ENC)) {
                    EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
                    client.setUserInfoEncryptedResponseEnc(alg);
                } else if (name.equals(USER_INFO_SIGNED_RESPONSE_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setUserInfoSignedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_SIGNED_RESPONSE_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setIdTokenSignedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_ENCRYPTED_RESPONSE_ALG)) {
                    JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
                    client.setIdTokenEncryptedResponseAlg(alg);
                } else if (name.equals(ID_TOKEN_ENCRYPTED_RESPONSE_ENC)) {
                    EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
                    client.setIdTokenEncryptedResponseEnc(alg);
                } else if (name.equals(TOKEN_ENDPOINT_AUTH_SIGNING_ALG)) {
                    JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
                    client.setTokenEndpointAuthSigningAlg(alg);
                } else if (name.equals(DEFAULT_MAX_AGE)) {
                    client.setDefaultMaxAge(reader.nextInt());
                } else if (name.equals(REQUIRE_AUTH_TIME)) {
                    client.setRequireAuthTime(reader.nextBoolean());
                } else if (name.equals(DEFAULT_ACR_VALUES)) {
                    Set<String> defaultACRvalues = readSet(reader);
                    client.setDefaultACRvalues(defaultACRvalues);
                } else if (name.equals("initiateLoginUri")) {
                    client.setInitiateLoginUri(reader.nextString());
                } else if (name.equals(POST_LOGOUT_REDIRECT_URI)) {
                    Set<String> postLogoutUris = readSet(reader);
                    client.setPostLogoutRedirectUris(postLogoutUris);
                } else if (name.equals(REQUEST_URIS)) {
                    Set<String> requestUris = readSet(reader);
                    client.setRequestUris(requestUris);
                } else if (name.equals(DESCRIPTION)) {
                    client.setClientDescription(reader.nextString());
                } else if (name.equals(ALLOW_INTROSPECTION)) {
                    client.setAllowIntrospection(reader.nextBoolean());
                } else if (name.equals(REUSE_REFRESH_TOKEN)) {
                    client.setReuseRefreshToken(reader.nextBoolean());
                } else if (name.equals(CLEAR_ACCESS_TOKENS_ON_REFRESH)) {
                    client.setClearAccessTokensOnRefresh(reader.nextBoolean());
                } else if (name.equals(DYNAMICALLY_REGISTERED)) {
                    client.setDynamicallyRegistered(reader.nextBoolean());
                } else if (name.equals(CODE_CHALLENGE_METHOD)) {
                    client.setCodeChallengeMethod(PKCEAlgorithm.parse(reader.nextString()));
                } else if (name.equals(SOFTWARE_ID)) {
                    client.setSoftwareId(reader.nextString());
                } else if (name.equals(SOFTWARE_VERSION)) {
                    client.setSoftwareVersion(reader.nextString());
                } else if (name.equals(SOFTWARE_STATEMENT)) {
                    try {
                        client.setSoftwareStatement(JWTParser.parse(reader.nextString()));
                    } catch (ParseException e) {
                        logger.error("Couldn't parse software statement", e);
                    }
                } else if (name.equals(CREATION_DATE)) {
                    Date date = utcToDate(reader.nextString());
                    client.setCreatedAt(date);
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        clientRepository.saveClient(client);
    }
    reader.endArray();
    logger.info("Done reading clients");
}

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

License:Apache License

/**
 * Read the list of system scopes from the reader and insert them into the
 * scope repository./*from   w  w  w. j ava 2 s  .co  m*/
 *
 * @param reader
 * @throws IOException
 */
private void readSystemScopes(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        SystemScope scope = new SystemScope();
        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(VALUE)) {
                    scope.setValue(reader.nextString());
                } else if (name.equals(DESCRIPTION)) {
                    scope.setDescription(reader.nextString());
                } else if (name.equals(RESTRICTED)) {
                    scope.setRestricted(reader.nextBoolean());
                } else if (name.equals(DEFAULT_SCOPE)) {
                    scope.setDefaultScope(reader.nextBoolean());
                } else if (name.equals(ICON)) {
                    scope.setIcon(reader.nextString());
                } else {
                    logger.debug("found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        sysScopeRepository.save(scope);
    }
    reader.endArray();
    logger.info("Done reading system scopes");
}

From source file:org.mitre.uma.service.impl.UmaDataServiceExtension_1_3.java

License:Apache License

/**
 * @param reader// w w  w.  ja v  a2  s  . c  om
 */
private void readPermissionTickets(JsonReader reader) throws IOException {
    JsonParser parser = new JsonParser();
    reader.beginArray();
    while (reader.hasNext()) {
        PermissionTicket ticket = new PermissionTicket();
        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(CLAIMS_SUPPLIED)) {
                    Set<Claim> claimsSupplied = new HashSet<>();
                    reader.beginArray();
                    while (reader.hasNext()) {
                        Claim c = new Claim();
                        reader.beginObject();
                        while (reader.hasNext()) {
                            switch (reader.peek()) {
                            case END_OBJECT:
                                continue;
                            case NAME:
                                String cname = reader.nextName();
                                if (reader.peek() == JsonToken.NULL) {
                                    reader.skipValue();
                                } else if (cname.equals(ISSUER)) {
                                    c.setIssuer(readSet(reader));
                                } else if (cname.equals(CLAIM_TOKEN_FORMAT)) {
                                    c.setClaimTokenFormat(readSet(reader));
                                } else if (cname.equals(CLAIM_TYPE)) {
                                    c.setClaimType(reader.nextString());
                                } else if (cname.equals(FRIENDLY_NAME)) {
                                    c.setFriendlyName(reader.nextString());
                                } else if (cname.equals(NAME)) {
                                    c.setName(reader.nextString());
                                } else if (cname.equals(VALUE)) {
                                    JsonElement e = parser.parse(reader.nextString());
                                    c.setValue(e);
                                } else {
                                    logger.debug("Found unexpected entry");
                                    reader.skipValue();
                                }
                                break;
                            default:
                                logger.debug("Found unexpected entry");
                                reader.skipValue();
                                continue;
                            }
                        }
                        reader.endObject();
                        claimsSupplied.add(c);
                    }
                    reader.endArray();
                    ticket.setClaimsSupplied(claimsSupplied);
                } else if (name.equals(EXPIRATION)) {
                    ticket.setExpiration(utcToDate(reader.nextString()));
                } else if (name.equals(PERMISSION)) {
                    Permission p = new Permission();
                    Long rsid = null;
                    reader.beginObject();
                    while (reader.hasNext()) {
                        switch (reader.peek()) {
                        case END_OBJECT:
                            continue;
                        case NAME:
                            String pname = reader.nextName();
                            if (reader.peek() == JsonToken.NULL) {
                                reader.skipValue();
                            } else if (pname.equals(RESOURCE_SET)) {
                                rsid = reader.nextLong();
                            } else if (pname.equals(SCOPES)) {
                                p.setScopes(readSet(reader));
                            } else {
                                logger.debug("Found unexpected entry");
                                reader.skipValue();
                            }
                            break;
                        default:
                            logger.debug("Found unexpected entry");
                            reader.skipValue();
                            continue;
                        }
                    }
                    reader.endObject();
                    Permission saved = permissionRepository.saveRawPermission(p);
                    permissionToResourceRefs.put(saved.getId(), rsid);
                    ticket.setPermission(saved);
                } else if (name.equals(TICKET)) {
                    ticket.setTicket(reader.nextString());
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        permissionRepository.save(ticket);
    }
    reader.endArray();
}

From source file:org.mitre.uma.service.impl.UmaDataServiceExtension_1_3.java

License:Apache License

/**
 * @param reader//w ww  . j ava2 s. c  om
 */
private void readResourceSets(JsonReader reader) throws IOException {
    JsonParser parser = new JsonParser();
    reader.beginArray();
    while (reader.hasNext()) {
        Long oldId = null;
        ResourceSet rs = new ResourceSet();
        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(ID)) {
                    oldId = reader.nextLong();
                } else if (name.equals(CLIENT_ID)) {
                    rs.setClientId(reader.nextString());
                } else if (name.equals(ICON_URI)) {
                    rs.setIconUri(reader.nextString());
                } else if (name.equals(NAME)) {
                    rs.setName(reader.nextString());
                } else if (name.equals(TYPE)) {
                    rs.setType(reader.nextString());
                } else if (name.equals(URI)) {
                    rs.setUri(reader.nextString());
                } else if (name.equals(OWNER)) {
                    rs.setOwner(reader.nextString());
                } else if (name.equals(POLICIES)) {
                    Set<Policy> policies = new HashSet<>();
                    reader.beginArray();
                    while (reader.hasNext()) {
                        Policy p = new Policy();
                        reader.beginObject();
                        while (reader.hasNext()) {
                            switch (reader.peek()) {
                            case END_OBJECT:
                                continue;
                            case NAME:
                                String pname = reader.nextName();
                                if (reader.peek() == JsonToken.NULL) {
                                    reader.skipValue();
                                } else if (pname.equals(NAME)) {
                                    p.setName(reader.nextString());
                                } else if (pname.equals(SCOPES)) {
                                    p.setScopes(readSet(reader));
                                } else if (pname.equals(CLAIMS_REQUIRED)) {
                                    Set<Claim> claimsRequired = new HashSet<>();
                                    reader.beginArray();
                                    while (reader.hasNext()) {
                                        Claim c = new Claim();
                                        reader.beginObject();
                                        while (reader.hasNext()) {
                                            switch (reader.peek()) {
                                            case END_OBJECT:
                                                continue;
                                            case NAME:
                                                String cname = reader.nextName();
                                                if (reader.peek() == JsonToken.NULL) {
                                                    reader.skipValue();
                                                } else if (cname.equals(ISSUER)) {
                                                    c.setIssuer(readSet(reader));
                                                } else if (cname.equals(CLAIM_TOKEN_FORMAT)) {
                                                    c.setClaimTokenFormat(readSet(reader));
                                                } else if (cname.equals(CLAIM_TYPE)) {
                                                    c.setClaimType(reader.nextString());
                                                } else if (cname.equals(FRIENDLY_NAME)) {
                                                    c.setFriendlyName(reader.nextString());
                                                } else if (cname.equals(NAME)) {
                                                    c.setName(reader.nextString());
                                                } else if (cname.equals(VALUE)) {
                                                    JsonElement e = parser.parse(reader.nextString());
                                                    c.setValue(e);
                                                } else {
                                                    logger.debug("Found unexpected entry");
                                                    reader.skipValue();
                                                }
                                                break;
                                            default:
                                                logger.debug("Found unexpected entry");
                                                reader.skipValue();
                                                continue;
                                            }
                                        }
                                        reader.endObject();
                                        claimsRequired.add(c);
                                    }
                                    reader.endArray();
                                    p.setClaimsRequired(claimsRequired);
                                } else {
                                    logger.debug("Found unexpected entry");
                                    reader.skipValue();
                                }
                                break;
                            default:
                                logger.debug("Found unexpected entry");
                                reader.skipValue();
                                continue;
                            }
                        }
                        reader.endObject();
                        policies.add(p);
                    }
                    reader.endArray();
                    rs.setPolicies(policies);
                } else if (name.equals(SCOPES)) {
                    rs.setScopes(readSet(reader));
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        Long newId = resourceSetRepository.save(rs).getId();
        resourceSetOldToNewIdMap.put(oldId, newId);
    }
    reader.endArray();
    logger.info("Done reading resource sets");
}

From source file:org.mitre.uma.service.impl.UmaDataServiceExtension_1_3.java

License:Apache License

/**
 * @param reader/*from ww w.ja va 2 s  . c o  m*/
 */
private void readSavedRegisteredClients(JsonReader reader) throws IOException {
    reader.beginArray();
    while (reader.hasNext()) {
        String issuer = null;
        String clientString = 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(ISSUER)) {
                    issuer = reader.nextString();
                } else if (name.equals(REGISTERED_CLIENT)) {
                    clientString = reader.nextString();
                } else {
                    logger.debug("Found unexpected entry");
                    reader.skipValue();
                }
                break;
            default:
                logger.debug("Found unexpected entry");
                reader.skipValue();
                continue;
            }
        }
        reader.endObject();
        RegisteredClient client = ClientDetailsEntityJsonProcessor.parseRegistered(clientString);
        registeredClientService.save(issuer, client);
        logger.debug("Saved registered client");
    }
    reader.endArray();
    logger.info("Done reading saved registered clients");
}

From source file:org.mitre.util.JsonUtils.java

License:Apache License

public static Map readMap(JsonReader reader) throws IOException {
    Map map = new HashMap<>();
    reader.beginObject();/*w  w w .jav a  2s.  c  om*/
    while (reader.hasNext()) {
        String name = reader.nextName();
        Object value = null;
        switch (reader.peek()) {
        case STRING:
            value = reader.nextString();
            break;
        case BOOLEAN:
            value = reader.nextBoolean();
            break;
        case NUMBER:
            value = reader.nextLong();
            break;
        default:
            logger.debug("Found unexpected entry");
            reader.skipValue();
            continue;
        }
        map.put(name, value);
    }
    reader.endObject();
    return map;
}

From source file:org.mitre.util.JsonUtils.java

License:Apache License

public static Set readSet(JsonReader reader) throws IOException {
    Set arraySet = null;// w w w.ja va 2s. c om
    reader.beginArray();
    switch (reader.peek()) {
    case STRING:
        arraySet = new HashSet<>();
        while (reader.hasNext()) {
            arraySet.add(reader.nextString());
        }
        break;
    case NUMBER:
        arraySet = new HashSet<>();
        while (reader.hasNext()) {
            arraySet.add(reader.nextLong());
        }
        break;
    default:
        arraySet = new HashSet();
        break;
    }
    reader.endArray();
    return arraySet;
}

From source file:org.mule.runtime.extension.internal.persistence.metadata.FailureCodeTypeAdapterFactory.java

License:Open Source License

@Override
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
    Class<T> rawType = (Class<T>) type.getRawType();
    if (rawType.equals(FailureCode.class))
        return (TypeAdapter<T>) new TypeAdapter<FailureCode>() {

            @Override/*from w ww.  jav  a2  s .  c  om*/
            public void write(JsonWriter out, FailureCode value) throws IOException {
                out.value(value.getName());
            }

            @Override
            public FailureCode read(JsonReader in) throws IOException {
                return new FailureCode(in.nextString());
            }
        };
    return null;
}