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

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

Introduction

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

Prototype

public String nextString() throws IOException 

Source Link

Document

Returns the com.google.gson.stream.JsonToken#STRING string value of the next token, consuming 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();//w w w . j av  a  2 s  .  c  o m
    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 parseLatestVersion(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginObject();/*ww w. j  a  v a 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();//  w w w. j a  v a  2  s  .c  o m
    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.thym.core.plugin.registry.CordovaPluginRegistryManager.java

License:Open Source License

private void parseKeywords(JsonReader reader, CordovaRegistryPlugin plugin) throws IOException {
    reader.beginArray();//from w w w .  j a  v  a 2  s.  c o  m
    while (reader.hasNext()) {
        plugin.addKeyword(reader.nextString());
    }
    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   w  w  w .j  ava 2  s  . co m
            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  ww  .  j  av a 2  s. c  o m*/
 *
 * 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.fenixedu.bennu.adapters.DomainObjectAdapter.java

License:Open Source License

@Override
public DomainObject read(JsonReader reader) throws IOException {
    final DomainObject domainObject = FenixFramework.getDomainObject(reader.nextString());

    if (FenixFramework.isDomainObjectValid(domainObject)) {
        return domainObject;
    }//from   w w  w .  j a  va 2  s . co  m

    return null;
}

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 w  ww.j a v a 2  s  .com*/
        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 consumeVariant(JsonReader reader, MutableModuleComponentResolveMetadata metadata)
        throws IOException {
    reader.beginObject();//from  ww w . j av 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);
    }
}

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

License:Apache License

private List<ModuleDependency> consumeVariantLocation(JsonReader reader) throws IOException {
    String group = null;//from   w w w .  j a  v  a  2  s.com
    String module = null;
    String version = null;
    reader.beginObject();
    while (reader.peek() != END_OBJECT) {
        String name = reader.nextName();
        if (name.equals("group")) {
            group = reader.nextString();
        } else if (name.equals("module")) {
            module = reader.nextString();
        } else if (name.equals("version")) {
            version = reader.nextString();
        } else {
            consumeAny(reader);
        }
    }
    reader.endObject();
    return ImmutableList.of(new ModuleDependency(group, module, new DefaultImmutableVersionConstraint(version),
            ImmutableList.<ExcludeMetadata>of(), null, ImmutableAttributes.EMPTY));
}