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

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

Introduction

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

Prototype

public void endObject() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is the end of the current object.

Usage

From source file:se.sics.datamodel.client.gson.CGetObjAdapter.java

License:Open Source License

@Override
public CGetObj read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();/*w  ww  .j  av a2 s .  c om*/

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("objId")) {
        throw new IOException();
    }
    ByteId objId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    reader.endObject();
    return new CGetObj(Triplet.with(dbId, typeId, objId));
}

From source file:se.sics.datamodel.client.gson.CGetTypeAdapter.java

License:Open Source License

@Override
public CGetType read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();// w  w  w  .  ja  va 2s . c  o  m

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    reader.endObject();
    return new CGetType(Pair.with(dbId, typeId));
}

From source file:se.sics.datamodel.client.gson.CPutObjAdapter.java

License:Open Source License

@Override
public CPutObj read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();//from w ww  .j  a va2 s.c o  m

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("objId")) {
        throw new IOException();
    }
    ByteId objId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("obj")) {
        throw new IOException();
    }
    ValueHolder vh = gson.fromJson(reader, ValueHolder.class);
    reader.endObject();
    return new CPutObj(Triplet.with(dbId, typeId, objId), vh);
}

From source file:se.sics.datamodel.client.gson.CPutTypeAdapter.java

License:Open Source License

@Override
public CPutType read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();//from   w  ww . jav a 2 s. c o m

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeInfo")) {
        throw new IOException();
    }
    TypeInfo typeInfo = gson.fromJson(reader, TypeInfo.class);
    reader.endObject();

    return new CPutType(Pair.with(dbId, typeId), typeInfo);
}

From source file:se.sics.datamodel.client.gson.CQueryObjAdapter.java

License:Open Source License

@Override
public CQueryObj read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();/* ww w  .  j av a2s .com*/

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("indexId")) {
        throw new IOException();
    }
    ByteId indexId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("indexVal")) {
        throw new IOException();
    }
    QueryTypeHolder indexVal = gson.fromJson(reader, QueryTypeHolder.class);
    reader.endObject();
    return new CQueryObj(Pair.with(dbId, typeId), indexId, indexVal);
}

From source file:se.sics.datamodel.gson.TypeInfoAdapter.java

License:Open Source License

@Override
public TypeInfo read(JsonReader reader) throws IOException {
    String typeName;//  w  w w.j  a v a2 s .  co  m

    Gson gson = GsonHelper.getGson();

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeName")) {
        throw new IOException();
    }
    typeName = reader.nextString();

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("fieldMap")) {
        throw new IOException();
    }
    if (reader.peek() != JsonToken.BEGIN_ARRAY) {
        throw new IOException();
    }
    reader.beginArray();

    TypeInfo.Builder tiBuilder = new TypeInfo.Builder(typeName);

    while (reader.peek() != JsonToken.END_ARRAY) {
        if (reader.peek() != JsonToken.BEGIN_OBJECT) {
            throw new IOException();
        }
        reader.beginObject();

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("id")) {
            throw new IOException();
        }
        ByteId fieldId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("field")) {
            throw new IOException();
        }
        FieldInfo fieldInfo = gson.fromJson(reader, FieldInfo.class);

        tiBuilder.put(fieldId, fieldInfo);
        reader.endObject();
    }

    reader.endArray();
    reader.endObject();
    return tiBuilder.build();
}

From source file:se.sics.datamodel.gson.ValueHolderAdapter.java

License:Open Source License

@Override
public ValueHolder read(JsonReader reader) throws IOException {
    Gson gson = GsonHelper.getGson();/*from w w w .j a v  a 2  s .c  o  m*/
    ValueHolder.Builder vhBuilder = new ValueHolder.Builder();

    if (reader.peek() != JsonToken.BEGIN_OBJECT) {
        throw new IOException();
    }
    reader.beginObject();

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("fieldMap")) {
        throw new IOException();
    }
    if (reader.peek() != JsonToken.BEGIN_ARRAY) {
        throw new IOException();
    }
    reader.beginArray();

    while (reader.peek() != JsonToken.END_ARRAY) {
        if (reader.peek() != JsonToken.BEGIN_OBJECT) {
            throw new IOException();
        }
        reader.beginObject();

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("id")) {
            throw new IOException();
        }
        ByteId fieldId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("field")) {
            throw new IOException();
        }
        JsonElement je = gson.fromJson(reader, JsonElement.class);

        vhBuilder.put(fieldId, je);

        if (reader.peek() != JsonToken.END_OBJECT) {
            throw new IOException();
        }
        reader.endObject();
    }

    reader.endArray();
    reader.endObject();
    return vhBuilder.build();
}

From source file:sf.net.experimaestro.manager.json.JsonConverter.java

License:Open Source License

private Json readNext(JsonReader jsonReader) throws IOException {
    final JsonToken token = jsonReader.peek();
    switch (token) {
    case BEGIN_ARRAY: {
        jsonReader.beginArray();//from ww  w. j a v  a 2 s.co  m
        JsonArray array = new JsonArray();
        while (jsonReader.peek() != JsonToken.END_ARRAY) {
            array.add(readNext(jsonReader));
        }
        jsonReader.endArray();
        return array;
    }

    case BEGIN_OBJECT: {
        jsonReader.beginObject();
        JsonObject object = new JsonObject();
        while (jsonReader.peek() != JsonToken.END_OBJECT) {
            final String name = jsonReader.nextName();
            final Json value = readNext(jsonReader);
            object.put(name, value);
        }
        jsonReader.endObject();
        return object;
    }

    case BOOLEAN:
        return new JsonBoolean(jsonReader.nextBoolean());

    case STRING:
        return new JsonString(jsonReader.nextString());

    case NULL: {
        jsonReader.nextNull();
        return JsonNull.getSingleton();
    }

    case NUMBER:
        return new JsonReal(jsonReader.nextDouble());

    default:
        throw new RuntimeException("Cannot handle GSON token type: " + token.name());

    }
}

From source file:sf.net.experimaestro.utils.gson.JsonAdapter.java

License:Open Source License

private Json readValue(JsonReader in) throws IOException {
    final JsonToken peek = in.peek();
    switch (peek) {
    case BEGIN_ARRAY:
        in.beginArray();/*from  w  w  w.j  a  v a 2  s  .  c  o m*/
        JsonArray array = new JsonArray();
        while (in.peek() != JsonToken.END_ARRAY) {
            array.add(readValue(in));
        }
        in.endArray();
        return array;

    case BEGIN_OBJECT:
        in.beginObject();
        JsonObject object = new JsonObject();
        while (in.peek() != JsonToken.END_OBJECT) {
            final String name = in.nextName();
            final Json value = readValue(in);
            object.put(name, value);
        }
        in.endObject();
        return object;

    case BOOLEAN:
        return new JsonBoolean(in.nextBoolean());

    case NUMBER:
        final double value = in.nextDouble();
        if (value == Math.round(value))
            return new JsonInteger((long) value);
        return new JsonReal(value);

    case STRING:
        return new JsonString(in.nextString());

    case NULL:
        return JsonNull.getSingleton();

    case NAME:
    case END_OBJECT:
    case END_ARRAY:
    case END_DOCUMENT:
        throw new AssertionError("Not expecting " + peek);
    }
    return null;
}

From source file:tools.DrawStatisticsForPubMedData.java

License:Apache License

public void parseStream(String jsonFile, String listOfJournals) throws IOException {

    String journalName;// w w  w  .  j  a va2  s .c  om
    int count = 0;
    int abstract_count = 0;
    int duplicates = 0;

    try {
        JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(jsonFile)));
        reader.setLenient(true);

        reader.beginObject();
        reader.skipValue();

        //System.out.println(nam);
        reader.beginArray();
        while (reader.hasNext()) {

            reader.beginObject();
            this.numeOfArticles++;
            while (reader.hasNext()) {
                String name = reader.nextName();

                if (name.equals("abstractText")) {
                    abstract_count++;
                    reader.skipValue();

                } else if (name.equals("journal")) {
                    journalName = reader.nextString();
                    journalList.add(journalName);
                } else if (name.equals("meshMajor")) {
                    int num_labels = readLabelsArray(reader);
                    count += num_labels;
                    labelDensity += (double) num_labels / 26563.0;
                } else if (name.equals("pmid")) {
                    int pmid = reader.nextInt();
                    if (!pmids.contains(pmid))
                        pmids.add(pmid);
                    else
                        duplicates++;
                } else if (name.equals("title")) {
                    reader.skipValue();
                } else if (name.equals("year")) {
                    reader.skipValue();
                } else {
                    System.out.println(name);
                    reader.skipValue();
                }
            }
            reader.endObject();
        }
        reader.endArray();

        System.out.println("Abstracts: " + abstract_count);
        System.out.println("Duplicates: " + duplicates);

        labelsPerArticle = (double) count / (double) numeOfArticles;
        labelDensity = labelDensity / (double) numeOfArticles;
        exportListOfJournals(listOfJournals);
        printStatistics();

    } catch (Exception ex) {
        System.out.println("Abstracts: " + abstract_count);
        System.out.println("Duplicates: " + duplicates);

        labelsPerArticle = (double) count / (double) numeOfArticles;
        labelDensity = labelDensity / (double) numeOfArticles;
        exportListOfJournals(listOfJournals);
        printStatistics();
        Logger.getLogger(DrawStatisticsForPubMedData.class.getName()).log(Level.SEVERE, null, ex);
    }
}