List of usage examples for com.google.gson.stream JsonReader nextName
public String nextName() throws IOException
From source file:org.lanternpowered.server.data.persistence.json.JsonDataFormat.java
License:MIT License
private static void readView(JsonReader reader, DataView view) throws IOException { reader.beginObject();/* w w w .j a v a 2 s. com*/ while (reader.hasNext()) { DataQuery key = DataQuery.of(reader.nextName()); if (reader.peek() == JsonToken.BEGIN_OBJECT) { // Check this early so we don't need to copy the view readView(reader, view.createView(key)); } else { view.set(key, read0(reader)); } } reader.endObject(); }
From source file:org.mitre.openid.connect.service.impl.AbstractMITREidDataService.java
License:Apache License
protected static Map readMap(JsonReader reader) throws IOException { Map map = new HashMap<String, Object>(); reader.beginObject();//w ww . java 2 s . c o m 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; } map.put(name, value); } reader.endObject(); return map; }
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 . java 2s .c o m 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 . j a va 2 s . c o 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// w w w.j av a 2s . 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//from w ww. java 2 s. com * @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 ww . j a va 2s . 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 www .j a va 2s. com * @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; }
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 2 s. com*/ * @throws IOException */ private void readGrants(JsonReader reader) throws IOException { reader.beginArray(); while (reader.hasNext()) { ApprovedSite site = new ApprovedSite(); Long currentId = null; Long whitelistedSiteId = null; Set<Long> tokenIds = 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("id")) { currentId = reader.nextLong(); } else if (name.equals("accessDate")) { Date date = utcToDate(reader.nextString()); site.setAccessDate(date); } else if (name.equals("clientId")) { site.setClientId(reader.nextString()); } else if (name.equals("creationDate")) { Date date = utcToDate(reader.nextString()); site.setCreationDate(date); } else if (name.equals("timeoutDate")) { Date date = utcToDate(reader.nextString()); site.setTimeoutDate(date); } else if (name.equals("userId")) { site.setUserId(reader.nextString()); } else if (name.equals("allowedScopes")) { Set<String> allowedScopes = readSet(reader); site.setAllowedScopes(allowedScopes); } else if (name.equals("whitelistedSiteId")) { whitelistedSiteId = reader.nextLong(); } else if (name.equals("approvedAccessTokens")) { tokenIds = readSet(reader); } else { logger.debug("Found unexpected entry"); reader.skipValue(); } break; default: logger.debug("Found unexpected entry"); reader.skipValue(); continue; } } reader.endObject(); Long newId = approvedSiteRepository.save(site).getId(); maps.getGrantOldToNewIdMap().put(currentId, newId); if (whitelistedSiteId != null) { logger.debug("Ignoring whitelisted site marker on approved site."); } if (tokenIds != null) { maps.getGrantToAccessTokensRefs().put(currentId, tokenIds); } logger.debug("Read grant {}", currentId); } reader.endArray(); logger.info("Done reading grants"); }
From source file:org.mitre.openid.connect.service.impl.MITREidDataService_1_0.java
License:Apache License
/** * @param reader/* ww w . ja va 2 s . co m*/ * @throws IOException */ private void readWhitelistedSites(JsonReader reader) throws IOException { reader.beginArray(); while (reader.hasNext()) { WhitelistedSite wlSite = new WhitelistedSite(); Long currentId = null; reader.beginObject(); while (reader.hasNext()) { switch (reader.peek()) { case END_OBJECT: continue; case NAME: String name = reader.nextName(); if (name.equals("id")) { currentId = reader.nextLong(); } else if (name.equals("clientId")) { wlSite.setClientId(reader.nextString()); } else if (name.equals("creatorUserId")) { wlSite.setCreatorUserId(reader.nextString()); } else if (name.equals("allowedScopes")) { Set<String> allowedScopes = readSet(reader); wlSite.setAllowedScopes(allowedScopes); } else { logger.debug("Found unexpected entry"); reader.skipValue(); } break; default: logger.debug("Found unexpected entry"); reader.skipValue(); continue; } } reader.endObject(); Long newId = wlSiteRepository.save(wlSite).getId(); maps.getWhitelistedSiteOldToNewIdMap().put(currentId, newId); } reader.endArray(); logger.info("Done reading whitelisted sites"); }