This commit is contained in:
Phillip Webb
2015-06-25 12:00:48 -07:00
parent bedca634c9
commit 7879743b9f
9 changed files with 64 additions and 52 deletions

View File

@@ -44,8 +44,10 @@ public class ItemHint implements Comparable<ItemHint> {
public ItemHint(String name, List<ValueHint> values, List<ProviderHint> providers) {
this.name = toCanonicalName(name);
this.values = (values != null ? new ArrayList<ValueHint>(values) : new ArrayList<ValueHint>());
this.providers = (providers != null ? new ArrayList<ProviderHint>(providers) : new ArrayList<ProviderHint>());
this.values = (values != null ? new ArrayList<ValueHint>(values)
: new ArrayList<ValueHint>());
this.providers = (providers != null ? new ArrayList<ProviderHint>(providers)
: new ArrayList<ProviderHint>());
}
private String toCanonicalName(String name) {
@@ -76,7 +78,8 @@ public class ItemHint implements Comparable<ItemHint> {
}
public static ItemHint newHint(String name, ValueHint... values) {
return new ItemHint(name, Arrays.asList(values), Collections.<ProviderHint>emptyList());
return new ItemHint(name, Arrays.asList(values),
Collections.<ProviderHint> emptyList());
}
@Override
@@ -113,8 +116,10 @@ public class ItemHint implements Comparable<ItemHint> {
}
public static class ProviderHint {
private final String name;
private final Map<String,Object> parameters;
private final Map<String, Object> parameters;
public ProviderHint(String name, Map<String, Object> parameters) {
this.name = name;
@@ -122,18 +127,19 @@ public class ItemHint implements Comparable<ItemHint> {
}
public String getName() {
return name;
return this.name;
}
public Map<String, Object> getParameters() {
return parameters;
return this.parameters;
}
@Override
public String toString() {
return "Provider{" + "name='" + this.name + ", parameters=" + this.parameters +
'}';
return "Provider{" + "name='" + this.name + ", parameters=" + this.parameters
+ '}';
}
}
}

View File

@@ -110,10 +110,13 @@ public class JsonMarshaller {
for (ItemHint.ProviderHint providerHint : hint.getProviders()) {
JSONObject providerHintObject = new JSONOrderedObject();
providerHintObject.put("name", providerHint.getName());
if (providerHint.getParameters() != null && !providerHint.getParameters().isEmpty()) {
if (providerHint.getParameters() != null
&& !providerHint.getParameters().isEmpty()) {
JSONObject parametersObject = new JSONOrderedObject();
for (Map.Entry<String, Object> entry : providerHint.getParameters().entrySet()) {
parametersObject.put(entry.getKey(), extractItemValue(entry.getValue()));
for (Map.Entry<String, Object> entry : providerHint.getParameters()
.entrySet()) {
parametersObject.put(entry.getKey(),
extractItemValue(entry.getValue()));
}
providerHintObject.put("parameters", parametersObject);
}
@@ -218,7 +221,7 @@ public class JsonMarshaller {
private ItemHint.ProviderHint toProviderHint(JSONObject object) {
String name = object.getString("name");
Map<String,Object> parameters = new HashMap<String,Object>();
Map<String, Object> parameters = new HashMap<String, Object>();
if (object.has("parameters")) {
JSONObject parametersObject = object.getJSONObject("parameters");
for (Object k : parametersObject.keySet()) {