List of usage examples for com.google.gson.stream JsonReader skipValue
public void skipValue() throws IOException
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 www .ja va 2 s . co 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;// w w w . j a v a 2 s. co 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 ww . j a v a 2 s . c o 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.SemanticModel.java
License:Apache License
private static SemanticModel readModel(JsonReader reader) throws IOException { String id = null;/*from w ww . java 2 s . c om*/ 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 w ww.java2s .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; }
From source file:edu.isi.karma.modeling.alignment.SemanticModel.java
License:Apache License
private static Map<String, String> readMappingToSourceColumn(JsonReader reader) throws IOException { String id = null;//from w w w . j a va2s . c o m String sourceColumnId = 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("sourceColumnId") && reader.peek() != JsonToken.NULL) { sourceColumnId = reader.nextString(); } else { reader.skipValue(); } } reader.endObject(); Map<String, String> mapping = new HashMap<>(); mapping.put(id, sourceColumnId); return mapping; }
From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java
License:Apache License
private Stop readStop(JsonReader reader) throws IOException { Stop stop = new Stop(); ArrayList<Integer> routes = new ArrayList<Integer>(); reader.beginObject();// w w w .ja v a 2 s . co m reader.nextName(); reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id")) { stop.id = reader.nextInt(); } else if (key.equals("name")) { stop.name = reader.nextString(); } else if (key.equals("short_name")) { stop.short_name = reader.nextString(); } else if (key.equals("enabled")) { stop.enabled = reader.nextBoolean(); } else if (key.equals("latitude")) { stop.latitude = reader.nextDouble(); } else if (key.equals("longitude")) { stop.longitude = reader.nextDouble(); } else if (key.equals("routes")) { reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); while (reader.hasNext()) { if (reader.nextName().equals("id")) { routes.add(reader.nextInt()); } else { reader.skipValue(); } } reader.endObject(); } reader.endArray(); } else { stop.extraAttributes.put(key, reader.nextString()); } } reader.endObject(); reader.endObject(); Log.d("RPIDataProvider", String.format("Pulling stop %S (%S)...", Integer.toString(stop.id), stop.name)); for (int i = 0; i < routes.size(); i++) { ArrayList<Integer> route = mRouteStopsMap.get(routes.get(i), new ArrayList<Integer>()); route.add(stop.id); mRouteStopsMap.put(routes.get(i), route); } return stop; }
From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java
License:Apache License
public SparseArray<Route> fetchRoutes() throws IOException { URL routesURL = new URL(mRoutesUrl); URLConnection routesConnection = routesURL.openConnection(); routesConnection.setRequestProperty("User-Agent", mUserAgent); InputStream in = new BufferedInputStream(routesConnection.getInputStream()); URL routePathsURL = new URL(mRoutePathsUrl); URLConnection routePathsConnection = routePathsURL.openConnection(); routePathsConnection.setRequestProperty("User-Agent", mUserAgent); InputStream pathInputStream = new BufferedInputStream(routePathsConnection.getInputStream()); mRoutes.clear();/*from w ww. ja v a2s . c o m*/ JsonReader routesReader = new JsonReader(new InputStreamReader(in)); routesReader.beginArray(); while (routesReader.hasNext()) { Route route = readRoute(routesReader); mRoutes.put(route.id, route); } routesReader.endArray(); JsonReader routePathReader = new JsonReader(new InputStreamReader(pathInputStream)); routePathReader.beginObject(); while (routePathReader.hasNext()) { Log.d("RouteDataProvider", "Entering L1."); String key = routePathReader.nextName(); Log.d("RouteDataProvider", String.format("L1: %s", key)); if (key.equals("routes")) { Log.d("RouteDataProvider", "Found 'routes' tag."); routePathReader.beginArray(); while (routePathReader.hasNext()) { populateRoutePath(routePathReader); } routePathReader.endArray(); } else { Log.d("RouteDataProvider", "Found other tag."); routePathReader.skipValue(); } } routePathReader.endObject(); return mRoutes; }
From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java
License:Apache License
private Route readRoute(JsonReader reader) throws IOException { Route route = new Route(); reader.beginObject();//from w ww . j a va2 s. c o m reader.nextName(); reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id")) { route.id = reader.nextInt(); } else if (key.equals("name")) { route.name = reader.nextString(); } else if (key.equals("description")) { route.description = reader.nextString(); } else if (key.equals("enabled")) { route.enabled = reader.nextBoolean(); } else if (key.equals("color")) { route.map_color = reader.nextString(); } else { reader.skipValue(); } } reader.endObject(); reader.endObject(); Log.d("RouteDataProvider", String.format("Pulling route %S (%S)...", Integer.toString(route.id), route.name)); Log.d("RouteDataProvider", String.format("Route %S (%S) has %S stops.", Integer.toString(route.id), route.name, Integer.toString(mRouteStopsMap.get(route.id).size()))); return route; }
From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java
License:Apache License
private void populateRoutePath(JsonReader reader) throws IOException { ArrayList<Coordinate> path = new ArrayList<Coordinate>(); Integer path_id = 0;/* w w w .j a v a2 s . co m*/ reader.beginObject(); while (reader.hasNext()) { // Process attributes of a route. // We have the array of coordinates making up the path of the route on a map. String key = reader.nextName(); if (key.equals("coords")) { Double latitude = 0.0; Double longitude = 0.0; reader.beginArray(); // Read coordinate attributes and add to path. while (reader.hasNext()) { reader.beginObject(); // Read coordinate attributes. while (reader.hasNext()) { String coordinate_key = reader.nextName(); if (coordinate_key.equals("latitude")) { latitude = reader.nextDouble(); } else if (coordinate_key.equals("longitude")) { longitude = reader.nextDouble(); } else { reader.skipValue(); } } reader.endObject(); // Add coordinate to path. path.add(new Coordinate(latitude, longitude)); Log.d("CreatePoint", String.format("Inserting point %S, %S", latitude.toString(), longitude.toString())); } reader.endArray(); } else if (key.equals("id")) { path_id = reader.nextInt(); } else { reader.skipValue(); } } reader.endObject(); Route route = mRoutes.get(path_id); route.map_polyline = path; mRoutes.put(path_id, route); Log.d("RouteDataProvider", String.format("Pulling route %S (%S) with %s coordinates...", Integer.toString(route.id), route.name, Integer.valueOf(route.map_polyline.size()).toString())); }