List of usage examples for com.google.gson.stream JsonReader beginObject
public void beginObject() throws IOException
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(); }