List of usage examples for com.google.gson.stream JsonReader skipValue
public void skipValue() throws IOException
From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_3.java
License:Apache License
/** * @param reader// w ww .j av a2 s. c o 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(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 a va 2s . 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 { 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.web.DataAPI.java
License:Apache License
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) public String importData(Reader in, Model m) throws IOException { JsonReader reader = new JsonReader(in); reader.beginObject();//from www. j a v a2 s. co m while (reader.hasNext()) { JsonToken tok = reader.peek(); switch (tok) { case NAME: String name = reader.nextName(); if (supportedVersions.contains(name)) { // we're working with a known data version tag for (MITREidDataService dataService : importers) { // dispatch to the correct service if (dataService.supportsVersion(name)) { dataService.importData(reader); break; } } } else { // consume the next bit silently for now logger.debug("Skipping value for " + name); // TODO: write these out? reader.skipValue(); } break; case END_OBJECT: break; case END_DOCUMENT: break; } } reader.endObject(); return "httpCodeView"; }
From source file:org.mitre.uma.service.impl.UmaDataServiceExtension_1_3.java
License:Apache License
/** * @param reader/*from w ww .j av a 2 s. co m*/ */ private void readTokenPermissions(JsonReader reader) throws IOException { reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); Long tokenId = null; Set<Long> permissions = new HashSet<>(); while (reader.hasNext()) { switch (reader.peek()) { case END_OBJECT: continue; case NAME: String name = reader.nextName(); if (name.equals(TOKEN_ID)) { tokenId = reader.nextLong(); } else if (name.equals(PERMISSIONS)) { reader.beginArray(); while (reader.hasNext()) { Permission p = new Permission(); Long rsid = null; Set<String> scope = new HashSet<>(); 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)) { scope = readSet(reader); } else { logger.debug("Found unexpected entry"); reader.skipValue(); } break; default: logger.debug("Found unexpected entry"); reader.skipValue(); continue; } } reader.endObject(); p.setScopes(scope); Permission saved = permissionRepository.saveRawPermission(p); permissionToResourceRefs.put(saved.getId(), rsid); permissions.add(saved.getId()); } reader.endArray(); } break; default: logger.debug("Found unexpected entry"); reader.skipValue(); continue; } } reader.endObject(); tokenToPermissionRefs.put(tokenId, permissions); } reader.endArray(); }
From source file:org.mitre.uma.service.impl.UmaDataServiceExtension_1_3.java
License:Apache License
/** * @param reader//from w ww .jav a 2 s. c o m */ 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//from w w w.jav a 2s . 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/* w w w.j ava 2 s . c om*/ */ 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();// ww w . j av a2 s .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.mythdroid.services.GuideService.java
License:Open Source License
/** * Get ProgramGuide data/*from w w w . ja v a 2 s . com*/ * @param start Date for start of data * @param end Date for end of data * @return ArrayList of Channels */ public ArrayList<Channel> GetProgramGuide(Date start, Date end) throws IOException { final Params params = new Params(); params.put("StartTime", Globals.utcFormat(start)); //$NON-NLS-1$ params.put("EndTime", Globals.utcFormat(end)); //$NON-NLS-1$ params.put("StartChanId", 0); //$NON-NLS-1$ params.put("NumChannels", -1); //$NON-NLS-1$ params.put("Details", "true"); //$NON-NLS-1$ //$NON-NLS-2$ InputStream is = jc.GetStream("GetProgramGuide", params); //$NON-NLS-1$ JsonReader jreader = new JsonReader(new BufferedReader(new InputStreamReader(is, "UTF-8")) //$NON-NLS-1$ ); ArrayList<Channel> channels = new ArrayList<Channel>(); jreader.beginObject(); skipTo(jreader, JsonToken.BEGIN_OBJECT); jreader.beginObject(); skipTo(jreader, JsonToken.NAME); while (jreader.hasNext()) { String name = jreader.nextName(); if (name.equals("NumOfChannels")) { //$NON-NLS-1$ channels.ensureCapacity(jreader.nextInt()); break; } jreader.skipValue(); } skipTo(jreader, JsonToken.BEGIN_ARRAY); jreader.beginArray(); while (jreader.hasNext()) { jreader.beginObject(); channels.add((Channel) gson.fromJson(jreader, Channel.class)); jreader.endObject(); } jreader.endArray(); jreader.endObject(); jreader.endObject(); jreader.close(); jc.endStream(); return channels; }
From source file:org.mythdroid.services.GuideService.java
License:Open Source License
private void skipTo(JsonReader jr, JsonToken token) throws IOException { while (jr.hasNext() && jr.peek() != token) jr.skipValue(); }