List of usage examples for com.google.gson.stream JsonReader nextName
public String nextName() throws IOException
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 w ww.j a va 2 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 w w. j a va 2 s .c o 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 .j a v a 2 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//from www . j a va 2 s .c o m */ 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 .j a va 2 s . co 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();// www . ja va 2 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.mule.runtime.extension.internal.persistence.ModelPropertyMapTypeAdapter.java
License:Open Source License
@Override public HierarchyClassMap<ModelProperty> read(JsonReader in) throws IOException { final HierarchyClassMap<ModelProperty> modelPropertyHashMap = new HierarchyClassMap<>(); in.beginObject();/* www . j a va 2 s . c o m*/ while (in.hasNext()) { final Class<? extends ModelProperty> type = getClassForModelProperty(in.nextName()); final TypeAdapter<?> adapter = gson.getAdapter(type); final ModelProperty read = (ModelProperty) adapter.read(in); modelPropertyHashMap.put(type, read); } in.endObject(); return modelPropertyHashMap; }
From source file:org.mythdroid.services.GuideService.java
License:Open Source License
/** * Get ProgramGuide data//w w w .j a v a 2 s . c o m * @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.netscan.core.json.CredentialJsonAdapter.java
License:Open Source License
@Override public Credential read(JsonReader in) throws IOException { in.beginObject();/*from w ww .j a va 2s . co m*/ in.nextName(); String[] str = in.nextString().split(":"); in.endObject(); //fixme personalize add on credential list to avoid problematic credential config. return new Credential(str[0], str[1], str[2]); }
From source file:org.netscan.core.json.FilterJsonAdapter.java
License:Open Source License
@Override public Filter read(JsonReader in) throws IOException { in.beginObject();/*from ww w . j a v a 2 s .c o m*/ in.nextName(); String[] filter = in.nextString().replaceAll("\\s*", "").split(","); in.endObject(); return new Filter(Stream.of(filter).collect(Collectors.toList())); }