Example usage for com.google.gson.stream JsonReader skipValue

List of usage examples for com.google.gson.stream JsonReader skipValue

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader skipValue.

Prototype

public void skipValue() throws IOException 

Source Link

Document

Skips the next value recursively.

Usage

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()));
}