List of usage examples for com.google.gson.stream JsonReader nextString
public String nextString() throws IOException
From source file:com.sap.core.odata.core.ep.consumer.JsonLinkConsumer.java
License:Apache License
/** * Reads single link with format <code>{"d":{"uri":"http://somelink"}}</code> * or <code>{"uri":"http://somelink"}</code>. * @param reader//from w ww.java 2s . co m * @param entitySet * @return link as string object * @throws EntityProviderException */ public String readLink(final JsonReader reader, final EdmEntitySet entitySet) throws EntityProviderException { try { String result; reader.beginObject(); String nextName = reader.nextName(); final boolean wrapped = FormatJson.D.equals(nextName); if (wrapped) { reader.beginObject(); nextName = reader.nextName(); } if (FormatJson.URI.equals(nextName) && reader.peek() == JsonToken.STRING) { result = reader.nextString(); } else { throw new EntityProviderException(EntityProviderException.INVALID_CONTENT .addContent(FormatJson.D + " or " + FormatJson.URI).addContent(nextName)); } reader.endObject(); if (wrapped) { reader.endObject(); } reader.peek(); // to assert end of structure or document return result; } 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); } }
From source file:com.sap.core.odata.core.ep.consumer.JsonLinkConsumer.java
License:Apache License
private List<String> readLinksArray(final JsonReader reader) throws IOException, EntityProviderException { List<String> links = new ArrayList<String>(); reader.beginArray();/*from www. j ava2 s. c om*/ while (reader.hasNext()) { reader.beginObject(); String nextName = reader.nextName(); if (FormatJson.URI.equals(nextName) && reader.peek() == JsonToken.STRING) { links.add(reader.nextString()); } else { throw new EntityProviderException( EntityProviderException.INVALID_CONTENT.addContent(FormatJson.URI).addContent(nextName)); } reader.endObject(); } reader.endArray(); return links; }
From source file:com.sap.core.odata.core.ep.consumer.JsonPropertyConsumer.java
License:Apache License
private Object readSimpleProperty(final JsonReader reader, final EntityPropertyInfo entityPropertyInfo, final Object typeMapping) throws EdmException, EntityProviderException, IOException { final EdmSimpleType type = (EdmSimpleType) entityPropertyInfo.getType(); Object value = null;// w w w.jav a2s . c om final JsonToken tokenType = reader.peek(); if (tokenType == JsonToken.NULL) { reader.nextNull(); } else { switch (EdmSimpleTypeKind.valueOf(type.getName())) { case Boolean: if (tokenType == JsonToken.BOOLEAN) { value = reader.nextBoolean(); value = value.toString(); } else { throw new EntityProviderException(EntityProviderException.INVALID_PROPERTY_VALUE .addContent(entityPropertyInfo.getName())); } break; case Byte: case SByte: case Int16: case Int32: if (tokenType == JsonToken.NUMBER) { value = reader.nextInt(); value = value.toString(); } else { throw new EntityProviderException(EntityProviderException.INVALID_PROPERTY_VALUE .addContent(entityPropertyInfo.getName())); } break; default: if (tokenType == JsonToken.STRING) { value = reader.nextString(); } else { throw new EntityProviderException(EntityProviderException.INVALID_PROPERTY_VALUE .addContent(entityPropertyInfo.getName())); } break; } } final Class<?> typeMappingClass = typeMapping == null ? type.getDefaultType() : (Class<?>) typeMapping; return type.valueOfString((String) value, EdmLiteralKind.JSON, entityPropertyInfo.getFacets(), typeMappingClass); }
From source file:com.sap.core.odata.core.ep.consumer.JsonPropertyConsumer.java
License:Apache License
@SuppressWarnings("unchecked") private Object readComplexProperty(final JsonReader reader, final EntityComplexPropertyInfo complexPropertyInfo, final Object typeMapping) throws EdmException, EntityProviderException, IOException { if (reader.peek().equals(JsonToken.NULL)) { reader.nextNull();/*from www. j a va 2 s .c o m*/ if (complexPropertyInfo.isMandatory()) { throw new EntityProviderException( EntityProviderException.INVALID_PROPERTY_VALUE.addContent(complexPropertyInfo.getName())); } return null; } reader.beginObject(); Map<String, Object> data = new HashMap<String, Object>(); Map<String, Object> mapping; if (typeMapping != null) { if (typeMapping instanceof Map) { mapping = (Map<String, Object>) typeMapping; } else { throw new EntityProviderException( EntityProviderException.INVALID_MAPPING.addContent(complexPropertyInfo.getName())); } } else { mapping = new HashMap<String, Object>(); } while (reader.hasNext()) { String childName = reader.nextName(); if (FormatJson.METADATA.equals(childName)) { reader.beginObject(); childName = reader.nextName(); if (!FormatJson.TYPE.equals(childName)) { throw new EntityProviderException(EntityProviderException.MISSING_ATTRIBUTE .addContent(FormatJson.TYPE).addContent(FormatJson.METADATA)); } String actualTypeName = reader.nextString(); String expectedTypeName = complexPropertyInfo.getType().getNamespace() + Edm.DELIMITER + complexPropertyInfo.getType().getName(); if (!expectedTypeName.equals(actualTypeName)) { throw new EntityProviderException(EntityProviderException.INVALID_ENTITYTYPE .addContent(expectedTypeName).addContent(actualTypeName)); } reader.endObject(); } else { EntityPropertyInfo childPropertyInfo = complexPropertyInfo.getPropertyInfo(childName); if (childPropertyInfo == null) { throw new EntityProviderException( EntityProviderException.INVALID_PROPERTY.addContent(childName)); } Object childData = readPropertyValue(reader, childPropertyInfo, mapping.get(childName)); if (data.containsKey(childName)) { throw new EntityProviderException( EntityProviderException.DOUBLE_PROPERTY.addContent(childName)); } data.put(childName, childData); } } reader.endObject(); return data; }
From source file:com.sap.core.odata.core.ep.consumer.JsonServiceDocumentConsumer.java
License:Apache License
private void readEntitySets(final JsonReader reader) throws IOException, EntityProviderException, EdmException { while (reader.hasNext()) { currentHandledObjectName = reader.nextString(); if (currentHandledObjectName != null) { // Looking for the last dot: "\\.(?=[^.]+$)" String[] names = currentHandledObjectName .split("\\" + Edm.DELIMITER + "(?=[^" + Edm.DELIMITER + "]+$)"); if (names.length == 1) { EntitySet entitySet = new EntitySet().setName(names[0]); EntityContainerInfo container = new EntityContainerInfo().setDefaultEntityContainer(true); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } else { EntitySet entitySet = new EntitySet().setName(names[1]); EntityContainerInfo container = new EntityContainerInfo().setName(names[0]) .setDefaultEntityContainer(false); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); }/*from www. j a va 2 s .c o m*/ } } }
From source file:com.scvngr.levelup.core.model.factory.json.PermissionsRequestJsonFactory.java
License:Apache License
@Override protected void onBuildFactory(@NonNull final GsonBuilder gsonBuilder) { gsonBuilder.registerTypeAdapter(PermissionsRequest.State.class, new TypeAdapter<PermissionsRequest.State>() { @Override//from ww w. jav a2s.com public State read(final JsonReader reader) throws IOException { return State.forString(NullUtils.nonNullContract(reader.nextString())); } @Override public void write(final JsonWriter writer, final State value) throws IOException { writer.value(value.toString()); } }); }
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 ww .j a v a 2s. 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: {/* w w w.java2 s . c o m*/ 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 www . j a v a2s . c om*/ 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 www .j a va2 s .c o 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. }