List of usage examples for com.google.gson.stream JsonReader nextBoolean
public boolean nextBoolean() throws IOException
From source file:org.eclipse.lsp4j.jsonrpc.debug.adapters.DebugMessageTypeAdapter.java
License:Open Source License
@Override public Message read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull();/* w w w. j a v a 2 s . c o m*/ return null; } in.beginObject(); String messageType = null, method = null, message = null; int seq = 0, request_seq = 0; Boolean rawSuccess = null; Object rawParams = null; Object rawBody = null; try { while (in.hasNext()) { String name = in.nextName(); switch (name) { case "seq": { seq = in.nextInt(); break; } case "request_seq": { // on responses we treat the request_seq as the id request_seq = in.nextInt(); break; } case "type": { messageType = in.nextString(); break; } case "success": { rawSuccess = in.nextBoolean(); break; } case "command": { method = in.nextString(); break; } case "event": { method = in.nextString(); break; } case "message": { if (in.peek() == JsonToken.NULL) { in.nextNull(); } else { message = in.nextString(); } break; } case "arguments": { rawParams = parseParams(in, method); break; } case "body": { rawBody = parseBody(in, messageType, request_seq, method, rawSuccess); break; } default: in.skipValue(); } } boolean success = rawSuccess != null ? rawSuccess : false; Object params = parseParams(rawParams, method); Object body = parseBody(rawBody, messageType, request_seq, method, success); in.endObject(); return createMessage(messageType, seq, request_seq, method, success, message, params, body); } catch (JsonSyntaxException | MalformedJsonException | EOFException exception) { if ("request".equals(messageType) || "event".equals(messageType) || "response".equals(messageType)) { // Create a message and bundle it to an exception with an issue that wraps the original exception boolean success = rawSuccess != null ? rawSuccess : false; Message resultMessage = createMessage(messageType, seq, request_seq, method, success, message, rawParams, rawBody); MessageIssue issue = new MessageIssue("Message could not be parsed.", ResponseErrorCode.ParseError.getValue(), exception); throw new MessageIssueException(resultMessage, issue); } else { throw exception; } } }
From source file:org.eclipse.packagedrone.repo.channel.apm.ChannelReader.java
License:Open Source License
public ModifyContextImpl read() throws IOException { this.numberOfBytes = 0; final Reader reader = new InputStreamReader(this.stream, StandardCharsets.UTF_8); final ChannelState.Builder state = new ChannelState.Builder(); Boolean locked = null;/* w ww .j a va2s. c o m*/ Map<MetaKey, CacheEntryInformation> cacheEntries = Collections.emptyMap(); Map<String, ArtifactInformation> artifacts = Collections.emptyMap(); Map<MetaKey, String> extractedMetaData = Collections.emptyMap(); Map<MetaKey, String> providedMetaData = Collections.emptyMap(); Map<String, String> aspects = new HashMap<>(); final JsonReader jr = new JsonReader(reader); jr.beginObject(); while (jr.hasNext()) { final String name = jr.nextName(); switch (name) { case "locked": state.setLocked(locked = jr.nextBoolean()); break; case "creationTimestamp": state.setCreationTimestamp(readTime(jr)); break; case "modificationTimestamp": state.setModificationTimestamp(readTime(jr)); break; case "cacheEntries": cacheEntries = readCacheEntries(jr); break; case "artifacts": artifacts = readArtifacts(jr); break; case "extractedMetaData": extractedMetaData = readMetadata(jr); break; case "providedMetaData": providedMetaData = readMetadata(jr); break; case "validationMessages": state.setValidationMessages(readValidationMessages(jr)); break; case "aspects": aspects = readAspects(jr); break; default: jr.skipValue(); break; } } jr.endObject(); if (locked == null) { throw new IOException("Missing values for channel"); } // transient information state.setNumberOfArtifacts(artifacts.size()); state.setNumberOfBytes(this.numberOfBytes); // create result return new ModifyContextImpl(this.channelId, this.store, this.cacheStore, state.build(), aspects, artifacts, cacheEntries, extractedMetaData, providedMetaData); }
From source file:org.eclipse.tm4e.core.internal.parser.json.JSONPListParser.java
License:Open Source License
public T parse(InputStream contents) throws Exception { PList<T> pList = new PList<T>(theme); JsonReader reader = new JsonReader(new InputStreamReader(contents, StandardCharsets.UTF_8)); // reader.setLenient(true); boolean parsing = true; while (parsing) { JsonToken nextToken = reader.peek(); switch (nextToken) { case BEGIN_ARRAY: pList.startElement(null, "array", null, null); reader.beginArray();//from w w w . j a v a 2s.co m break; case END_ARRAY: pList.endElement(null, "array", null); reader.endArray(); break; case BEGIN_OBJECT: pList.startElement(null, "dict", null, null); reader.beginObject(); break; case END_OBJECT: pList.endElement(null, "dict", null); reader.endObject(); break; case NAME: String lastName = reader.nextName(); pList.startElement(null, "key", null, null); pList.characters(lastName.toCharArray(), 0, lastName.length()); pList.endElement(null, "key", null); break; case NULL: reader.nextNull(); break; case BOOLEAN: reader.nextBoolean(); break; case NUMBER: reader.nextLong(); break; case STRING: String value = reader.nextString(); pList.startElement(null, "string", null, null); pList.characters(value.toCharArray(), 0, value.length()); pList.endElement(null, "string", null); break; case END_DOCUMENT: parsing = false; break; default: break; } } reader.close(); return pList.getResult(); }
From source file:org.fao.fenix.wds.core.datasource.DatasourcePool.java
License:Open Source License
/** * @param reader Google's <code>JsonReader</code> * @return <code>DatasourceBean</code> populated out of the JSON file * @throws IOException// w w w .j a va 2s.c om * * This method reads one of the objects of the JSON array through the * <code>JsonReader</code> and creates a <code>DatasourceBean</code> * out of it. */ public DatasourceBean readMessage(JsonReader reader) throws IOException { DatasourceBean b = new DatasourceBean(); reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equalsIgnoreCase("driver")) { DRIVER d = DRIVER.valueOf(reader.nextString().toUpperCase()); b.setDriver(d); } else if (name.equalsIgnoreCase("id")) { b.setId(reader.nextString()); } else if (name.equalsIgnoreCase("url")) { b.setUrl(reader.nextString()); } else if (name.equalsIgnoreCase("dbName")) { b.setDbName(reader.nextString()); } else if (name.equalsIgnoreCase("username")) { b.setUsername(reader.nextString()); } else if (name.equalsIgnoreCase("password")) { b.setPassword(reader.nextString()); } else if (name.equalsIgnoreCase("create")) { b.setCreate(reader.nextBoolean()); } else if (name.equalsIgnoreCase("retrieve")) { b.setRetrieve(reader.nextBoolean()); } else if (name.equalsIgnoreCase("update")) { b.setUpdate(reader.nextBoolean()); } else if (name.equalsIgnoreCase("delete")) { b.setDelete(reader.nextBoolean()); } else { reader.skipValue(); } } reader.endObject(); return b; }
From source file:org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.ModuleMetadataParser.java
License:Apache License
private ImmutableAttributes consumeAttributes(JsonReader reader) throws IOException { ImmutableAttributes attributes = ImmutableAttributes.EMPTY; reader.beginObject();/*from ww w . jav a 2s . c o m*/ while (reader.peek() != END_OBJECT) { String attrName = reader.nextName(); if (reader.peek() == BOOLEAN) { boolean attrValue = reader.nextBoolean(); attributes = attributesFactory.concat(attributes, Attribute.of(attrName, Boolean.class), attrValue); } else { String attrValue = reader.nextString(); attributes = attributesFactory.concat(attributes, Attribute.of(attrName, String.class), new CoercingStringValueSnapshot(attrValue, instantiator)); } } reader.endObject(); return attributes; }
From source file:org.hibernate.search.backend.elasticsearch.document.model.impl.esnative.ElasticsearchRoutingTypeJsonAdapter.java
License:LGPL
@Override public RoutingType read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull();//from www .j a v a2 s . c o m return null; } RoutingType value = null; in.beginObject(); while (in.hasNext()) { String name = in.nextName(); switch (name) { case "required": if (in.nextBoolean()) { value = RoutingType.REQUIRED; } else { value = RoutingType.OPTIONAL; } break; default: throw new AssertionFailure( "Unexpected property for attribute of type " + RoutingType.class + ": " + name); } } return value; }
From source file:org.hibernate.search.backend.elasticsearch.gson.impl.ES5FieldDataTypeJsonAdapter.java
License:LGPL
@Override public FieldDataType read(JsonReader in) throws IOException { if (in.nextBoolean()) { return FieldDataType.TRUE; } else {/*from w w w .jav a2s . com*/ return FieldDataType.FALSE; } }
From source file:org.hibernate.search.backend.elasticsearch.gson.impl.ES5IndexTypeJsonAdapter.java
License:LGPL
@Override public IndexType read(JsonReader in) throws IOException { if (in.nextBoolean()) { return IndexType.TRUE; } else {//from w w w .j a v a2 s.co m return IndexType.FALSE; } }
From source file:org.hibernate.search.backend.elasticsearch.gson.impl.ES5NormsTypeJsonAdapter.java
License:LGPL
@Override public NormsType read(JsonReader in) throws IOException { if (in.nextBoolean()) { return NormsType.TRUE; } else {/*from ww w . j a v a2s . c o m*/ return NormsType.FALSE; } }
From source file:org.jclouds.http.functions.ParseFirstJsonValueNamed.java
License:Apache License
private JsonToken skipAndPeek(JsonToken token, JsonReader reader) throws IOException { switch (token) { case BEGIN_ARRAY: reader.beginArray();/*w w w . ja va 2 s . c o m*/ break; case END_ARRAY: reader.endArray(); break; case BEGIN_OBJECT: reader.beginObject(); break; case END_OBJECT: reader.endObject(); break; case NAME: // NOTE that we have already advanced on NAME in the eval block; break; case STRING: reader.nextString(); break; case NUMBER: reader.nextString(); break; case BOOLEAN: reader.nextBoolean(); break; case NULL: reader.nextNull(); break; case END_DOCUMENT: break; } return reader.peek(); }