List of usage examples for com.google.gson.stream JsonReader peek
public JsonToken peek() throws IOException
From source file:com.sap.core.odata.core.ep.consumer.JsonServiceDocumentConsumer.java
License:Apache License
private ServiceDocumentImpl readServiceDocument(final JsonReader reader) throws EntityProviderException { try {//from w w w . j a v a2 s . co m reader.beginObject(); currentHandledObjectName = reader.nextName(); if (FormatJson.D.equals(currentHandledObjectName)) { reader.beginObject(); readContent(reader); reader.endObject(); } reader.endObject(); reader.peek(); reader.close(); } catch (final IOException e) { throw new EntityProviderException( EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass().getSimpleName()), e); } catch (final IllegalStateException e) { throw new EntityProviderException( EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass().getSimpleName()), e); } catch (final EdmException e) { throw new EntityProviderException( EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass().getSimpleName()), e); } return new ServiceDocumentImpl().setEntitySetsInfo(entitySets); }
From source file:com.sap.core.odata.core.ep.util.JsonUtils.java
License:Apache License
public static int startJson(final JsonReader reader) throws EntityProviderException { //The enclosing "d" and "results" are optional - so we cannot check for the presence //but we have to read over them in case they are present. JsonToken token;/* w w w.ja v a 2s . co m*/ try { token = reader.peek(); int openJsonObjects = 0; if (JsonToken.BEGIN_OBJECT == token) { reader.beginObject(); openJsonObjects++; token = reader.peek(); if (JsonToken.NAME == token) { String name = reader.nextName(); if (!("d".equals(name) ^ "results".equals(name))) { //TODO I18N throw new EntityProviderException(EntityProviderException.COMMON, name + " not expected, only d or results"); } } token = reader.peek(); if (JsonToken.BEGIN_OBJECT == token) { reader.beginObject(); openJsonObjects++; } else if (JsonToken.BEGIN_ARRAY == token) { //TODO I18N throw new EntityProviderException(EntityProviderException.COMMON, "Array not expected"); } } return openJsonObjects; } catch (IOException e) { //TODO I18N throw new EntityProviderException(EntityProviderException.COMMON, e); } }
From source file:com.sap.core.odata.core.ep.util.JsonUtils.java
License:Apache License
public static boolean endJson(final JsonReader reader, final int openJsonObjects) throws IOException, EntityProviderException { for (int closedJsonObjects = 0; closedJsonObjects < openJsonObjects; closedJsonObjects++) { reader.endObject();/* ww w . j a v a 2 s . co m*/ } return reader.peek() == JsonToken.END_DOCUMENT; }
From source file:com.seleritycorp.common.base.coreservices.RawCoreServiceClient.java
License:Apache License
private void pushToWriter(JsonReader reader, JsonWriter writer) throws IOException { int count = 0; boolean isObject = reader.peek() == JsonToken.BEGIN_OBJECT; do {//from w w w . j av a 2 s . com JsonToken jsToken = reader.peek(); switch (jsToken) { case BEGIN_ARRAY: reader.beginArray(); writer.beginArray(); if (!isObject) { count++; } break; case END_ARRAY: reader.endArray(); writer.endArray(); if (!isObject) { count--; } break; case BEGIN_OBJECT: reader.beginObject(); writer.beginObject(); if (isObject) { count++; } break; case END_OBJECT: reader.endObject(); writer.endObject(); if (isObject) { count--; } break; case NAME: String name = reader.nextName(); writer.name(name); break; case STRING: String stringValue = reader.nextString(); writer.value(stringValue); break; case NUMBER: String numValue = reader.nextString(); writer.value(new BigDecimal(numValue)); break; case BOOLEAN: boolean boolValue = reader.nextBoolean(); writer.value(boolValue); break; case NULL: reader.nextNull(); writer.nullValue(); break; case END_DOCUMENT: return; default: return; } } while (count != 0); }
From source file:com.sencko.basketball.stats.advanced.adapters.ActionAdapter.java
@Override public Action read(JsonReader reader) throws IOException { switch (reader.peek()) { case NULL: {/*from www. ja va 2s .com*/ reader.nextNull(); return null; } case STRING: { String stringValue = reader.nextString().trim(); if (stringValue.length() == 0) { return null; } else { Matcher matcher = fullAction.matcher(stringValue); if (matcher.matches()) { Actor actor = new Actor(); actor.setName(matcher.group(2)); actor.setNumber(Integer.parseInt(matcher.group(1))); Action action = new Action(); action.setActor(actor); String desc = matcher.group(3); action.setDescription(desc); return action; } else { Action action = new Action(); action.setDescription(stringValue); return action; } } } } throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }
From source file:com.sencko.basketball.stats.advanced.adapters.IntegerAdapter.java
@Override public Integer read(JsonReader reader) throws IOException { switch (reader.peek()) { case NULL: {/*from w w w . ja va2 s. com*/ reader.nextNull(); break; } case NUMBER: { return reader.nextInt(); } case STRING: { String stringValue = reader.nextString().trim(); if (stringValue.length() == 0) { return null; } else { Matcher matcher = pattern.matcher(stringValue); if (matcher.matches()) { Integer ret = Integer.parseInt(matcher.group(1)) * 60 + Integer.parseInt(matcher.group(2)); // System.out.println(stringValue +" \t" + ret); return ret; } } return Integer.parseInt(stringValue); } } throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }
From source file:com.sencko.basketball.stats.advanced.adapters.StringAdapter.java
@Override public String read(JsonReader reader) throws IOException { switch (reader.peek()) { case NULL: {/*from w w w. j a va 2 s .co m*/ reader.nextNull(); return null; } case NUMBER: { return String.valueOf(reader.nextInt()); } case STRING: { String stringValue = reader.nextString().trim(); if (stringValue.length() == 0) { return null; } else { // System.out.println(stringValue); return stringValue; } } } throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }
From source file:com.singhinderjeet.gracenoteapi.json.UtcDateTypeAdapter.java
License:Apache License
@SuppressWarnings("deprecation") @Override//from w w w . j av a2 s . c o m public Date read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); // Instead of using iso8601Format.parse(value), we use Jackson's date parsing // This is because Android doesn't support XXX because it is JDK 1.6 try { return parse(date, new ParsePosition(0)); } catch (ParseException e) { try { return new Date(date); } catch (IllegalArgumentException iae) { try { return dateFormat.get().parse(date); } catch (ParseException pe) { throw new JsonParseException(pe); } } } } }
From source file:com.smartling.api.sdk.util.DateTypeAdapter.java
License:Apache License
public Date read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull();//from w w w. j a va 2 s . com return null; } String value = reader.nextString(); try { return DateFormatter.parse(value); } catch (ParseException e) { throw new IOException(e); } }
From source file:com.solidfire.jsvcgen.serialization.ApiServerExceptionTypeAdapter.java
License:Open Source License
/** * {@inheritDoc}//from w w w . ja v a 2 s . c om */ @Override public ApiServerException read(JsonReader in) throws IOException { String name = null; String code = null; String message = null; in.beginObject(); while (in.hasNext()) { if (in.peek() != JsonToken.NAME) { in.skipValue(); continue; } switch (in.nextName()) { case "name": name = in.nextString(); break; case "code": code = in.nextString(); break; case "message": message = in.nextString(); break; } } in.endObject(); return new ApiServerException(name, code, message); }