List of usage examples for com.google.gson.stream JsonReader nextString
public String nextString() throws IOException
From source file:de.micromata.genome.junittools.wicket.models.WicketTestBuilderGsonBuilder.java
License:Apache License
public static Gson getGson() { if (gsonBuilder == null) { gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapterFactory(new TypeAdapterFactory() { @Override// w w w. j a v a2 s . c o m public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (type.getRawType() == Class.class) { return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { out.value(((Class) value).getName()); } @Override public T read(JsonReader in) throws IOException { try { return (T) Class.forName(in.nextString()); } catch (ClassNotFoundException e) { LOG.error("unable to transform " + in.nextString() + " to a reasonable class, please check this!"); } return null; } }; } return null; } }); } return gsonBuilder.create(); }
From source file:de.pribluda.android.jsonmarshaller.JSONUnmarshaller.java
License:Apache License
/** * unmarshal current value, possibly walking down the three * * @param reader json reader to pull value from * @param clazz expected class/*w w w . j a v a 2 s. c om*/ * @return * @throws IOException * @throws IllegalAccessException * @throws InvocationTargetException * @throws InstantiationException * @throws NoSuchMethodException */ private static Object unmarshalValue(JsonReader reader, Class clazz) throws IOException, IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException { Object value = null; switch (reader.peek()) { case STRING: case NUMBER: // process string value = reader.nextString(); break; case BOOLEAN: value = reader.nextBoolean(); break; case BEGIN_ARRAY: // we are interested in arrays if (clazz.isArray()) { // populate field value from JSON Array value = populateRecusrsive(clazz, reader); } else { reader.skipValue(); } break; case BEGIN_OBJECT: // so, we are unmarshalling nested object - recurse value = unmarshall(reader, clazz); break; default: // do not know what to do with it, skip reader.skipValue(); } return value; }
From source file:dk.ilios.spanner.json.InstantTypeAdapter.java
License:Apache License
@Override public Instant read(JsonReader in) throws IOException { return Instant.from(DateTimeFormatter.ISO_INSTANT.parse(in.nextString())); }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static Node readNode(JsonReader reader) throws IOException { String id = null;/* ww w. ja v a 2 s. c o m*/ Label label = null; NodeType type = null; String hNodeId = null; String columnName = null; Label rdfLiteralType = null; String language = null; Label datatype = null; String value = null; boolean isUri = false; SemanticType userSelectedSemanticType = null; List<SemanticType> learnedSemanticTypes = null; List<SemanticType> userSemanticTypes = null; Set<String> modelIds = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("label") && reader.peek() != JsonToken.NULL) { label = readLabel(reader); } else if (key.equals("type") && reader.peek() != JsonToken.NULL) { type = NodeType.valueOf(reader.nextString()); } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("columnName") && reader.peek() != JsonToken.NULL) { columnName = reader.nextString(); } else if (key.equals("datatype") && reader.peek() != JsonToken.NULL) { datatype = readLabel(reader); } else if (key.equals("value") && reader.peek() != JsonToken.NULL) { value = reader.nextString(); } else if (key.equals("isUri") && reader.peek() != JsonToken.NULL) { isUri = Boolean.parseBoolean(reader.nextString()); } else if (key.equals("rdfLiteralType") && reader.peek() != JsonToken.NULL) { rdfLiteralType = readLabel(reader); } else if (key.equals("language") && reader.peek() != JsonToken.NULL) { language = reader.nextString(); } else if (key.equals("userSelectedSemanticType") && reader.peek() != JsonToken.NULL) { userSelectedSemanticType = readSemanticType(reader); } else if (key.equals("suggestedSemanticTypes") && reader.peek() != JsonToken.NULL) { learnedSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); learnedSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("userSemanticTypes") && reader.peek() != JsonToken.NULL) { userSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); userSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("learnedSemanticTypes") && reader.peek() != JsonToken.NULL) { learnedSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); learnedSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("modelIds") && reader.peek() != JsonToken.NULL) { modelIds = readModelIds(reader); } else { reader.skipValue(); } } reader.endObject(); Node n = null; if (type == NodeType.InternalNode) { n = new InternalNode(id, label); } else if (type == NodeType.ColumnNode) { n = new ColumnNode(id, hNodeId, columnName, rdfLiteralType, language); if (userSemanticTypes == null && userSelectedSemanticType != null) { userSemanticTypes = new ArrayList<>(); userSemanticTypes.add(userSelectedSemanticType); } if (userSemanticTypes != null) { for (SemanticType st : userSemanticTypes) ((ColumnNode) n).assignUserType(st); } ((ColumnNode) n).setLearnedSemanticTypes(learnedSemanticTypes); } else if (type == NodeType.LiteralNode) { n = new LiteralNode(id, value, datatype, language, isUri); } else { logger.error("cannot instanciate a node from the type: " + type.toString()); return null; } n.setModelIds(modelIds); return n; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static DefaultLink readLink(JsonReader reader, Double[] weight) throws IOException { String id = null;//from w ww .j a va2s. c o m Label label = null; LinkType type = null; String hNodeId = null; ObjectPropertyType objectPropertyType = null; String specializedLinkId = null; LinkStatus status = null; LinkKeyInfo keyInfo = null; Set<String> modelIds = null; if (weight == null) weight = new Double[1]; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("label") && reader.peek() != JsonToken.NULL) { label = readLabel(reader); } else if (key.equals("type") && reader.peek() != JsonToken.NULL) { type = LinkType.valueOf(reader.nextString()); } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("objectPropertyType") && reader.peek() != JsonToken.NULL) { objectPropertyType = ObjectPropertyType.valueOf(reader.nextString()); } else if (key.equals("specializedLinkId") && reader.peek() != JsonToken.NULL) { specializedLinkId = reader.nextString(); } else if (key.equals("status") && reader.peek() != JsonToken.NULL) { status = LinkStatus.valueOf(reader.nextString()); } else if (key.equals("keyInfo") && reader.peek() != JsonToken.NULL) { keyInfo = LinkKeyInfo.valueOf(reader.nextString()); } else if (key.equals("modelIds") && reader.peek() != JsonToken.NULL) { modelIds = readModelIds(reader); } else if (key.equals("weight") && reader.peek() != JsonToken.NULL) { weight[0] = new Double(reader.nextDouble()); } else { reader.skipValue(); } } reader.endObject(); DefaultLink l = null; if (type == LinkType.ClassInstanceLink) { l = new ClassInstanceLink(id, keyInfo); } else if (type == LinkType.ColumnSubClassLink) { l = new ColumnSubClassLink(id); } else if (type == LinkType.DataPropertyLink) { l = new DataPropertyLink(id, label); } else if (type == LinkType.DataPropertyOfColumnLink) { l = new DataPropertyOfColumnLink(id, hNodeId, specializedLinkId); } else if (type == LinkType.ObjectPropertyLink) { l = new ObjectPropertyLink(id, label, objectPropertyType); } else if (type == LinkType.ObjectPropertySpecializationLink) { l = new ObjectPropertySpecializationLink(hNodeId, specializedLinkId); } else if (type == LinkType.SubClassLink) { l = new SubClassLink(id); } else if (type == LinkType.CompactObjectPropertyLink) { l = new CompactObjectPropertyLink(id, objectPropertyType); } else if (type == LinkType.CompactSubClassLink) { l = new CompactSubClassLink(id); } else { logger.error("cannot instanciate a link from the type: " + type.toString()); return null; } if (l instanceof LabeledLink) { ((LabeledLink) l).setStatus(status); ((LabeledLink) l).setModelIds(modelIds); } return l; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static Label readLabel(JsonReader reader) throws IOException { String uri = null;/*from w w w . ja v a 2 s . c o m*/ // String ns = null; // String prefix = null; // String rdfsComment = null; String rdfsLabel = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("uri") && reader.peek() != JsonToken.NULL) { uri = reader.nextString(); //} else if (key.equals("ns") && reader.peek() != JsonToken.NULL) { // ns = reader.nextString(); //} else if (key.equals("prefix") && reader.peek() != JsonToken.NULL) { // prefix = reader.nextString(); //} else if (key.equals("rdfsLabel") && reader.peek() != JsonToken.NULL) { // rdfsLabel = reader.nextString(); //} else if (key.equals("rdfsComment") && reader.peek() != JsonToken.NULL) { // rdfsComment = reader.nextString(); } else { reader.skipValue(); } } reader.endObject(); // Label label = new Label(uri, ns, prefix, rdfsLabel, rdfsComment); Label label = new Label(uri); return label; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static SemanticType readSemanticType(JsonReader reader) throws IOException { String hNodeId = null;//from w w w . j av a 2 s . co m Label domain = null; Label type = null; Origin origin = null; Double confidenceScore = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("domain") && reader.peek() != JsonToken.NULL) { domain = readLabel(reader); } else if (key.equals("type") && reader.peek() != JsonToken.NULL) { type = readLabel(reader); } else if (key.equals("origin") && reader.peek() != JsonToken.NULL) { origin = Origin.valueOf(reader.nextString()); } else if (key.equals("confidenceScore") && reader.peek() != JsonToken.NULL) { confidenceScore = reader.nextDouble(); } else { reader.skipValue(); } } reader.endObject(); SemanticType semanticType = new SemanticType(hNodeId, type, domain, origin, confidenceScore); return semanticType; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static Set<String> readModelIds(JsonReader reader) throws IOException { Set<String> modelIds = new HashSet<>(); reader.beginArray();/*from w w w . java2 s . co m*/ while (reader.hasNext()) { modelIds.add(reader.nextString()); } reader.endArray(); return modelIds; }
From source file:edu.isi.karma.modeling.alignment.SemanticModel.java
License:Apache License
private static SemanticModel readModel(JsonReader reader) throws IOException { String id = null;/*from w w w .j a va2 s. com*/ String name = null; String description = null; DirectedWeightedMultigraph<Node, DefaultLink> graph = null; List<ColumnNode> sourceColumns = null; HashMap<String, ColumnNode> sourceColumnIds = null; Map<String, String> mappingToSourceColumnsIds = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("name") && reader.peek() != JsonToken.NULL) { name = reader.nextString(); } else if (key.equals("description") && reader.peek() != JsonToken.NULL) { description = reader.nextString(); } else if (key.equals("sourceColumns") && reader.peek() != JsonToken.NULL) { sourceColumns = new LinkedList<>(); sourceColumnIds = new HashMap<>(); reader.beginArray(); while (reader.hasNext()) { ColumnNode cn = readSourceColumn(reader); if (cn != null) { sourceColumns.add(cn); sourceColumnIds.put(cn.getId(), cn); } } reader.endArray(); } else if (key.equals("mappingToSourceColumns") && reader.peek() != JsonToken.NULL) { mappingToSourceColumnsIds = new HashMap<>(); Map<String, String> oneEntryMapping; reader.beginArray(); while (reader.hasNext()) { oneEntryMapping = readMappingToSourceColumn(reader); if (oneEntryMapping != null && oneEntryMapping.size() == 1) mappingToSourceColumnsIds.putAll(oneEntryMapping); } reader.endArray(); } else if (key.equals("graph") && reader.peek() != JsonToken.NULL) { graph = GraphUtil.readGraph(reader); } else { reader.skipValue(); } } reader.endObject(); Map<ColumnNode, ColumnNode> mappingToSourceColumns = new HashMap<>(); if (graph != null && mappingToSourceColumnsIds != null && !mappingToSourceColumnsIds.isEmpty()) { for (Node n : graph.vertexSet()) { if (n instanceof ColumnNode) { ColumnNode cn = (ColumnNode) n; String sourceColumnId = mappingToSourceColumnsIds.get(cn.getId()); if (sourceColumnId != null) { ColumnNode sourceColumn = sourceColumnIds.get(sourceColumnId); if (sourceColumn != null) mappingToSourceColumns.put(cn, sourceColumn); } } } } SemanticModel semanticModel = new SemanticModel(id, GraphUtil.asLabeledGraph(graph), sourceColumns, mappingToSourceColumns); semanticModel.setName(name); semanticModel.setDescription(description); return semanticModel; }
From source file:edu.isi.karma.modeling.alignment.SemanticModel.java
License:Apache License
private static ColumnNode readSourceColumn(JsonReader reader) throws IOException { String id = null;/*from www .j a v a2s . co m*/ String hNodeId = null; String columnName = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("columnName") && reader.peek() != JsonToken.NULL) { columnName = reader.nextString(); } else { reader.skipValue(); } } reader.endObject(); ColumnNode cn = new ColumnNode(id, hNodeId, columnName, null, null); return cn; }