Fixed Metadata deserialization

Metadata fields 'dependencies', 'conflicting', 'providing', 'platforms' and 'replacing' are
simple Map<String, String>, where the value is a version constraint like '>= 0.0.0', but not
a Json array.

See https://github.com/opscode/chef/blob/master/chef/lib/chef/cookbook/metadata.rb for more
details about Metadata format.
This commit is contained in:
Ignasi Barrera 2011-08-24 13:06:07 +02:00
parent e2ab6bc791
commit be70cb3f67
2 changed files with 17 additions and 17 deletions

View File

@ -35,16 +35,16 @@ public class Metadata {
private String license; private String license;
private String maintainer; private String maintainer;
private Map<String, String> suggestions = Maps.newLinkedHashMap(); private Map<String, String> suggestions = Maps.newLinkedHashMap();
private Map<String, Set<String>> dependencies = Maps.newLinkedHashMap(); private Map<String, String> dependencies = Maps.newLinkedHashMap();
@SerializedName("maintainer_email") @SerializedName("maintainer_email")
private String maintainerEmail; private String maintainerEmail;
private Map<String, Set<String>> conflicting = Maps.newLinkedHashMap(); private Map<String, String> conflicting = Maps.newLinkedHashMap();
private String description; private String description;
private Map<String, Set<String>> providing = Maps.newLinkedHashMap(); private Map<String, String> providing = Maps.newLinkedHashMap();
private Map<String, Set<String>> platforms = Maps.newLinkedHashMap(); private Map<String, String> platforms = Maps.newLinkedHashMap();
private String version; private String version;
private Map<String, String> recipes = Maps.newLinkedHashMap(); private Map<String, String> recipes = Maps.newLinkedHashMap();
private Map<String, Set<String>> replacing = Maps.newLinkedHashMap(); private Map<String, String> replacing = Maps.newLinkedHashMap();
private String name; private String name;
private Map<String, String> groupings = Maps.newLinkedHashMap(); private Map<String, String> groupings = Maps.newLinkedHashMap();
@SerializedName("long_description") @SerializedName("long_description")
@ -53,9 +53,9 @@ public class Metadata {
private Map<String, String> recommendations = Maps.newLinkedHashMap(); private Map<String, String> recommendations = Maps.newLinkedHashMap();
public Metadata(String license, String maintainer, Map<String, String> suggestions, public Metadata(String license, String maintainer, Map<String, String> suggestions,
Map<String, Set<String>> dependencies, String maintainerEmail, Map<String, Set<String>> conflicting, Map<String, String> dependencies, String maintainerEmail, Map<String, String> conflicting,
String description, Map<String, Set<String>> providing, Map<String, Set<String>> platforms, String version, String description, Map<String,String> providing, Map<String, String> platforms, String version,
Map<String, String> recipes, Map<String, Set<String>> replacing, String name, Map<String, String> groupings, Map<String, String> recipes, Map<String, String> replacing, String name, Map<String, String> groupings,
String longDescription, Map<String, Attribute> attributes, Map<String, String> recommendations) { String longDescription, Map<String, Attribute> attributes, Map<String, String> recommendations) {
this.license = license; this.license = license;
this.maintainer = maintainer; this.maintainer = maintainer;
@ -91,7 +91,7 @@ public class Metadata {
return suggestions; return suggestions;
} }
public Map<String, Set<String>> getDependencies() { public Map<String, String> getDependencies() {
return dependencies; return dependencies;
} }
@ -99,7 +99,7 @@ public class Metadata {
return maintainerEmail; return maintainerEmail;
} }
public Map<String, Set<String>> getConflicting() { public Map<String, String> getConflicting() {
return conflicting; return conflicting;
} }
@ -107,11 +107,11 @@ public class Metadata {
return description; return description;
} }
public Map<String, Set<String>> getProviding() { public Map<String, String> getProviding() {
return providing; return providing;
} }
public Map<String, Set<String>> getPlatforms() { public Map<String, String> getPlatforms() {
return platforms; return platforms;
} }
@ -123,7 +123,7 @@ public class Metadata {
return recipes; return recipes;
} }
public Map<String, Set<String>> getReplacing() { public Map<String, String> getReplacing() {
return replacing; return replacing;
} }

View File

@ -106,10 +106,10 @@ public class ParseCookbookVersionFromJsonTest {
ImmutableSet.<Attribute> of(), ImmutableSet.<Attribute> of(),
ImmutableSet.<Resource> of(), ImmutableSet.<Resource> of(),
new Metadata("Apache v2.0", "Your Name", ImmutableMap.<String, String> of(), ImmutableMap new Metadata("Apache v2.0", "Your Name", ImmutableMap.<String, String> of(), ImmutableMap
.<String, Set<String>> of(), "youremail@example.com", ImmutableMap .<String, String> of(), "youremail@example.com", ImmutableMap
.<String, Set<String>> of(), "A fabulous new cookbook", ImmutableMap .<String, String> of(), "A fabulous new cookbook", ImmutableMap
.<String, Set<String>> of(), ImmutableMap.<String, Set<String>> of(), "0.0.0", .<String, String> of(), ImmutableMap.<String, String> of(), "0.0.0",
ImmutableMap.<String, String> of(), ImmutableMap.<String, Set<String>> of(), ImmutableMap.<String, String> of(), ImmutableMap.<String, String> of(),
"apache-chef-demo", ImmutableMap.<String, String> of(), "", ImmutableMap "apache-chef-demo", ImmutableMap.<String, String> of(), "", ImmutableMap
.<String, Attribute> of(), ImmutableMap.<String, String> of()), .<String, Attribute> of(), ImmutableMap.<String, String> of()),
ImmutableSet.<Resource> of(), ImmutableSet.<Resource> of(),