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

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

Introduction

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

Prototype

public void beginObject() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is the beginning of a new object.

Usage

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//w  w w  . jav a 2 s .  c  om
 *
 * 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//  w ww  .j a va2  s. c  o m
        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 consumeComponent(JsonReader reader, MutableModuleComponentResolveMetadata metadata)
        throws IOException {
    reader.beginObject();
    while (reader.peek() != END_OBJECT) {
        String name = reader.nextName();
        if ("attributes".equals(name)) {
            metadata.setAttributes(consumeAttributes(reader));
        } else {//from w w w . jav a  2 s  . c o  m
            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();
    String variantName = null;//w  w  w .  ja  va 2 s.c om
    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 ww  .  j  a v  a2s  .  co  m
    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));
}

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

License:Apache License

private List<ModuleDependency> consumeDependencies(JsonReader reader) throws IOException {
    List<ModuleDependency> dependencies = new ArrayList<ModuleDependency>();
    reader.beginArray();//  w w w  .j a  va  2  s. co  m
    while (reader.peek() != END_ARRAY) {
        reader.beginObject();
        String group = null;
        String module = null;
        String reason = null;
        ImmutableAttributes attributes = ImmutableAttributes.EMPTY;
        VersionConstraint version = DefaultImmutableVersionConstraint.of();
        ImmutableList<ExcludeMetadata> excludes = ImmutableList.of();
        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 = consumeVersion(reader);
            } else if (name.equals("excludes")) {
                excludes = consumeExcludes(reader);
            } else if (name.equals("reason")) {
                reason = reader.nextString();
            } else if (name.equals("attributes")) {
                attributes = consumeAttributes(reader);
            } else {
                consumeAny(reader);
            }
        }
        dependencies.add(new ModuleDependency(group, module, version, excludes, reason, attributes));
        reader.endObject();
    }
    reader.endArray();
    return dependencies;
}

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

License:Apache License

private List<VariantCapability> consumeCapabilities(JsonReader reader) throws IOException {
    ImmutableList.Builder<VariantCapability> capabilities = ImmutableList.builder();
    reader.beginArray();//from  ww  w .  j  a v  a  2s . c o  m
    while (reader.peek() != END_ARRAY) {
        reader.beginObject();
        String group = null;
        String name = null;
        String version = null;
        while (reader.peek() != END_OBJECT) {
            String val = reader.nextName();
            if (val.equals("group")) {
                group = reader.nextString();
            } else if (val.equals("name")) {
                name = reader.nextString();
            } else if (val.equals("version")) {
                version = reader.nextString();
            }
        }
        capabilities.add(new VariantCapability(group, name, version));
        reader.endObject();
    }
    reader.endArray();
    return capabilities.build();
}

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

License:Apache License

private List<ModuleDependencyConstraint> consumeDependencyConstraints(JsonReader reader) throws IOException {
    List<ModuleDependencyConstraint> dependencies = new ArrayList<ModuleDependencyConstraint>();
    reader.beginArray();//from   w w  w. j a  v  a 2  s.  co m
    while (reader.peek() != END_ARRAY) {
        reader.beginObject();
        String group = null;
        String module = null;
        String reason = null;
        VersionConstraint version = null;
        ImmutableAttributes attributes = ImmutableAttributes.EMPTY;
        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 = consumeVersion(reader);
            } else if (name.equals("reason")) {
                reason = reader.nextString();
            } else if (name.equals("attributes")) {
                attributes = consumeAttributes(reader);
            } else {
                consumeAny(reader);
            }
        }
        dependencies.add(new ModuleDependencyConstraint(group, module, version, reason, attributes));
        reader.endObject();
    }
    reader.endArray();
    return dependencies;
}

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

License:Apache License

private ImmutableVersionConstraint consumeVersion(JsonReader reader) throws IOException {
    reader.beginObject();
    String requiredVersion = "";
    String preferredVersion = "";
    String strictVersion = "";
    List<String> rejects = Lists.newArrayList();
    while (reader.peek() != END_OBJECT) {
        // At this stage, 'requires' implies 'prefers', 'strictly' implies 'requires'.
        String cst = reader.nextName();
        if ("prefers".equals(cst)) {
            preferredVersion = reader.nextString();
        } else if ("requires".equals(cst)) {
            requiredVersion = reader.nextString();
            preferredVersion = requiredVersion;
        } else if ("strictly".equals(cst)) {
            strictVersion = reader.nextString();
            requiredVersion = strictVersion;
            preferredVersion = strictVersion;
        } else if ("rejects".equals(cst)) {
            reader.beginArray();//  w ww .  j  av a 2s.  c  om
            while (reader.peek() != END_ARRAY) {
                rejects.add(reader.nextString());
            }
            reader.endArray();
        }
    }
    reader.endObject();
    return DefaultImmutableVersionConstraint.of(preferredVersion, requiredVersion, strictVersion, rejects);
}

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

License:Apache License

private ImmutableList<ExcludeMetadata> consumeExcludes(JsonReader reader) throws IOException {
    ImmutableList.Builder<ExcludeMetadata> builder = new ImmutableList.Builder<ExcludeMetadata>();
    reader.beginArray();//  w ww  .j  a v a 2  s.c o  m
    while (reader.peek() != END_ARRAY) {
        reader.beginObject();
        String group = null;
        String module = null;
        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 {
                consumeAny(reader);
            }
        }
        reader.endObject();
        ExcludeMetadata exclude = excludeRuleConverter.createExcludeRule(group, module);
        builder.add(exclude);
    }
    reader.endArray();
    return builder.build();
}