List of usage examples for com.google.gson.stream JsonReader beginObject
public void beginObject() throws IOException
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 . j av 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;//ww w . jav a2 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 ww w. ja v a 2s .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;/* w w w. j av a2s . c o 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 va2 s. 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(); reader.nextName();// w w w .j ava 2 s.c om 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();// w w w . jav a 2s. 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(); reader.nextName();//ww w . ja v a 2s. c om 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 a 2 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())); }
From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java
License:Apache License
@SuppressLint("SimpleDateFormat") private Vehicle readVehicleLocation(JsonReader reader) throws IOException { Vehicle shuttle = new Vehicle(); reader.beginObject(); reader.nextName();/*from ww w . j a va 2 s. c om*/ reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id")) { shuttle.id = reader.nextInt(); } else if (key.equals("name")) { shuttle.name = reader.nextString(); } else if (key.equals("latest_position")) { reader.beginObject(); while (reader.hasNext()) { key = reader.nextName(); if (key.equals("heading")) { shuttle.heading = reader.nextInt(); } else if (key.equals("latitude")) { shuttle.latitude = reader.nextDouble(); } else if (key.equals("longitude")) { shuttle.longitude = reader.nextDouble(); } else if (key.equals("speed")) { shuttle.speed = reader.nextInt(); } else if (key.equals("timestamp")) { SimpleDateFormat iso_format = new SimpleDateFormat("yyyy-MM-dd HH:mmZ"); try { shuttle.timestamp = iso_format.parse(reader.nextString().replace("T", " ")); } catch (ParseException e) { e.printStackTrace(); } } else if (key.equals("public_status_message")) { shuttle.description = reader.nextString(); } else if (key.equals("cardinal_point")) { shuttle.cardinalPoint = reader.nextString(); } } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); reader.endObject(); Log.d("RPIDataProvider", String.format("Updated Shuttle %S (%S) location...", Integer.toString(shuttle.id), shuttle.name)); return shuttle; }