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

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

Introduction

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

Prototype

public String nextName() throws IOException 

Source Link

Document

Returns the next token, a com.google.gson.stream.JsonToken#NAME property name , and consumes it.

Usage

From source file:org.eclipse.thym.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseDistDetails(JsonReader reader, RegistryPluginVersion plugin) throws IOException {
    reader.beginObject();//from   www. j  a  va 2 s.  c  om
    JsonToken token = reader.peek();
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            String name = reader.nextName();
            if ("shasum".equals(name)) {
                plugin.setShasum(reader.nextString());
                break;
            }
            if ("tarball".equals(name)) {
                plugin.setTarball(reader.nextString());
                break;
            }
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.eclipse.thym.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseVersions(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginObject();//versions
    JsonToken token = reader.peek();//w  w w. j a  v  a2s  . c  o m
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            RegistryPluginVersion version = plugin.new RegistryPluginVersion();
            version.setVersionNumber(reader.nextName());
            readVersionInfo(reader, version);
            plugin.addVersion(version);
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.eclipse.thym.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseLatestVersion(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginObject();//from  w w w .  j a  va  2 s.  c o  m
    JsonToken token = reader.peek();
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case NAME:
            String tag = reader.nextName();
            if ("latest".equals(tag)) {
                plugin.setLatestVersion(reader.nextString());
            }
            break;

        default:
            reader.skipValue();
            break;
        }
        token = reader.peek();
    }
    reader.endObject();
}

From source file:org.eclipse.thym.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseMaintainers(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginArray();//from  www.j  a  va  2  s . com
    String name = null, email = null;
    JsonToken token = reader.peek();

    while (token != JsonToken.END_ARRAY) {
        switch (token) {
        case BEGIN_OBJECT:
            reader.beginObject();
            name = email = null;
            break;
        case END_OBJECT:
            reader.endObject();
            plugin.addMaintainer(email, name);
            break;
        case NAME:
            String tagName = reader.nextName();
            if ("name".equals(tagName)) {
                name = reader.nextString();
                break;
            }
            if ("email".equals(tagName)) {
                email = reader.nextString();
                break;
            }
        default:
            Assert.isTrue(false, "Unexpected token");
            break;
        }
        token = reader.peek();
    }
    reader.endArray();
}

From source file:org.eclipse.tm4e.core.internal.parser.json.JSONPListParser.java

License:Open Source License

public T parse(InputStream contents) throws Exception {
    PList<T> pList = new PList<T>(theme);
    JsonReader reader = new JsonReader(new InputStreamReader(contents, StandardCharsets.UTF_8));
    // reader.setLenient(true);
    boolean parsing = true;
    while (parsing) {
        JsonToken nextToken = reader.peek();
        switch (nextToken) {
        case BEGIN_ARRAY:
            pList.startElement(null, "array", null, null);
            reader.beginArray();//from   www  . j av  a2s  .c  om
            break;
        case END_ARRAY:
            pList.endElement(null, "array", null);
            reader.endArray();
            break;
        case BEGIN_OBJECT:
            pList.startElement(null, "dict", null, null);
            reader.beginObject();
            break;
        case END_OBJECT:
            pList.endElement(null, "dict", null);
            reader.endObject();
            break;
        case NAME:
            String lastName = reader.nextName();
            pList.startElement(null, "key", null, null);
            pList.characters(lastName.toCharArray(), 0, lastName.length());
            pList.endElement(null, "key", null);
            break;
        case NULL:
            reader.nextNull();
            break;
        case BOOLEAN:
            reader.nextBoolean();
            break;
        case NUMBER:
            reader.nextLong();
            break;
        case STRING:
            String value = reader.nextString();
            pList.startElement(null, "string", null, null);
            pList.characters(value.toCharArray(), 0, value.length());
            pList.endElement(null, "string", null);
            break;
        case END_DOCUMENT:
            parsing = false;
            break;
        default:
            break;
        }
    }
    reader.close();
    return pList.getResult();
}

From source file:org.fao.fenix.wds.core.datasource.DatasourcePool.java

License:Open Source License

/**
 * @param reader    Google's <code>JsonReader</code>
 * @return <code>DatasourceBean</code> populated out of the JSON file
 * @throws IOException//from   w w w.  java2s  .  com
 *
 * This method reads one of the objects of the JSON array through the
 * <code>JsonReader</code> and creates a <code>DatasourceBean</code>
 * out of it.
 */
public DatasourceBean readMessage(JsonReader reader) throws IOException {
    DatasourceBean b = new DatasourceBean();
    reader.beginObject();
    while (reader.hasNext()) {
        String name = reader.nextName();
        if (name.equalsIgnoreCase("driver")) {
            DRIVER d = DRIVER.valueOf(reader.nextString().toUpperCase());
            b.setDriver(d);
        } else if (name.equalsIgnoreCase("id")) {
            b.setId(reader.nextString());
        } else if (name.equalsIgnoreCase("url")) {
            b.setUrl(reader.nextString());
        } else if (name.equalsIgnoreCase("dbName")) {
            b.setDbName(reader.nextString());
        } else if (name.equalsIgnoreCase("username")) {
            b.setUsername(reader.nextString());
        } else if (name.equalsIgnoreCase("password")) {
            b.setPassword(reader.nextString());
        } else if (name.equalsIgnoreCase("create")) {
            b.setCreate(reader.nextBoolean());
        } else if (name.equalsIgnoreCase("retrieve")) {
            b.setRetrieve(reader.nextBoolean());
        } else if (name.equalsIgnoreCase("update")) {
            b.setUpdate(reader.nextBoolean());
        } else if (name.equalsIgnoreCase("delete")) {
            b.setDelete(reader.nextBoolean());
        } else {
            reader.skipValue();
        }
    }
    reader.endObject();
    return b;
}

From source file:org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.ModuleMetadataParser.java

License:Apache License

public void parse(final LocallyAvailableExternalResource resource,
        final MutableModuleComponentResolveMetadata metadata) {
    resource.withContent(new Transformer<Void, InputStream>() {
        @Override/*from  ww  w .ja  v  a2s  . c om*/
        public Void transform(InputStream inputStream) {
            try {
                JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "utf-8"));
                reader.beginObject();
                if (reader.peek() != JsonToken.NAME) {
                    throw new RuntimeException("Module metadata should contain a 'formatVersion' value.");
                }
                String name = reader.nextName();
                if (!name.equals("formatVersion")) {
                    throw new RuntimeException(String.format(
                            "The 'formatVersion' value should be the first value in a module metadata. Found '%s' instead.",
                            name));
                }
                if (reader.peek() != JsonToken.STRING) {
                    throw new RuntimeException("The 'formatVersion' value should have a string value.");
                }
                String version = reader.nextString();
                if (!version.equals(FORMAT_VERSION)) {
                    throw new RuntimeException(String.format(
                            "Unsupported format version '%s' specified in module metadata. This version of Gradle supports format version %s only.",
                            version, FORMAT_VERSION));
                }
                consumeTopLevelElements(reader, metadata);
                return null;
            } catch (Exception e) {
                throw new MetaDataParseException("module metadata", resource, e);
            }
        }
    });
}

From source file:org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.ModuleMetadataParser.java

License:Apache License

private void consumeTopLevelElements(JsonReader reader, MutableModuleComponentResolveMetadata metadata)
        throws IOException {
    while (reader.peek() != END_OBJECT) {
        String name = reader.nextName();
        if ("variants".equals(name)) {
            consumeVariants(reader, metadata);
        } else if ("component".equals(name)) {
            consumeComponent(reader, metadata);
        } else {/*from   w ww.j  a  v a  2 s  .c  o m*/
            consumeAny(reader);
        }
    }
}

From source file:org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.ModuleMetadataParser.java

License:Apache License

private void consumeComponent(JsonReader reader, MutableModuleComponentResolveMetadata metadata)
        throws IOException {
    reader.beginObject();/* w  w  w  .  j av  a  2s. c om*/
    while (reader.peek() != END_OBJECT) {
        String name = reader.nextName();
        if ("attributes".equals(name)) {
            metadata.setAttributes(consumeAttributes(reader));
        } else {
            consumeAny(reader);
        }
    }
    reader.endObject();
}

From source file:org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.ModuleMetadataParser.java

License:Apache License

private void consumeVariant(JsonReader reader, MutableModuleComponentResolveMetadata metadata)
        throws IOException {
    reader.beginObject();//w  w w.  j  a v  a 2 s .co m
    String variantName = null;
    ImmutableAttributes attributes = ImmutableAttributes.EMPTY;
    List<ModuleFile> files = Collections.emptyList();
    List<ModuleDependency> dependencies = Collections.emptyList();
    List<ModuleDependencyConstraint> dependencyConstraints = Collections.emptyList();
    List<VariantCapability> capabilities = Collections.emptyList();
    while (reader.peek() != END_OBJECT) {
        String name = reader.nextName();
        if (name.equals("name")) {
            variantName = reader.nextString();
        } else if (name.equals("attributes")) {
            attributes = consumeAttributes(reader);
        } else if (name.equals("files")) {
            files = consumeFiles(reader);
        } else if (name.equals("dependencies")) {
            dependencies = consumeDependencies(reader);
        } else if (name.equals("dependencyConstraints")) {
            dependencyConstraints = consumeDependencyConstraints(reader);
        } else if (name.equals("capabilities")) {
            capabilities = consumeCapabilities(reader);
        } else if (name.equals("available-at")) {
            // For now just collect this as another dependency
            // TODO - collect this information and merge the metadata from the other module
            dependencies = consumeVariantLocation(reader);
        } else {
            consumeAny(reader);
        }
    }
    reader.endObject();

    MutableComponentVariant variant = metadata.addVariant(variantName, attributes);
    for (ModuleFile file : files) {
        variant.addFile(file.name, file.uri);
    }
    for (ModuleDependency dependency : dependencies) {
        variant.addDependency(dependency.group, dependency.module, dependency.versionConstraint,
                dependency.excludes, dependency.reason, dependency.attributes);
    }
    for (ModuleDependencyConstraint dependencyConstraint : dependencyConstraints) {
        variant.addDependencyConstraint(dependencyConstraint.group, dependencyConstraint.module,
                dependencyConstraint.versionConstraint, dependencyConstraint.reason,
                dependencyConstraint.attributes);
    }
    for (VariantCapability capability : capabilities) {
        variant.addCapability(capability.group, capability.name, capability.version);
    }
}