This commit is contained in:
Stephane Nicoll
2015-07-12 09:20:12 +02:00
parent fd0b1c6332
commit 3664895f04
6 changed files with 42 additions and 42 deletions

View File

@@ -40,14 +40,14 @@ public class ItemHint implements Comparable<ItemHint> {
private final List<ValueHint> values;
private final List<ProviderHint> providers;
private final List<ValueProvider> providers;
public ItemHint(String name, List<ValueHint> values, List<ProviderHint> providers) {
public ItemHint(String name, List<ValueHint> values, List<ValueProvider> 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.providers = (providers != null ? new ArrayList<ValueProvider>(providers)
: new ArrayList<ValueProvider>());
}
private String toCanonicalName(String name) {
@@ -68,7 +68,7 @@ public class ItemHint implements Comparable<ItemHint> {
return Collections.unmodifiableList(this.values);
}
public List<ProviderHint> getProviders() {
public List<ValueProvider> getProviders() {
return Collections.unmodifiableList(this.providers);
}
@@ -79,7 +79,7 @@ public class ItemHint implements Comparable<ItemHint> {
public static ItemHint newHint(String name, ValueHint... values) {
return new ItemHint(name, Arrays.asList(values),
Collections.<ProviderHint> emptyList());
Collections.<ValueProvider> emptyList());
}
@Override
@@ -115,13 +115,13 @@ public class ItemHint implements Comparable<ItemHint> {
}
public static class ProviderHint {
public static class ValueProvider {
private final String name;
private final Map<String, Object> parameters;
public ProviderHint(String name, Map<String, Object> parameters) {
public ValueProvider(String name, Map<String, Object> parameters) {
this.name = name;
this.parameters = parameters;
}

View File

@@ -107,20 +107,20 @@ public class JsonMarshaller {
}
if (!hint.getProviders().isEmpty()) {
JSONArray providersArray = new JSONArray();
for (ItemHint.ProviderHint providerHint : hint.getProviders()) {
JSONObject providerHintObject = new JSONOrderedObject();
providerHintObject.put("name", providerHint.getName());
if (providerHint.getParameters() != null
&& !providerHint.getParameters().isEmpty()) {
for (ItemHint.ValueProvider valueProvider : hint.getProviders()) {
JSONObject valueProviderObject = new JSONOrderedObject();
valueProviderObject.put("name", valueProvider.getName());
if (valueProvider.getParameters() != null
&& !valueProvider.getParameters().isEmpty()) {
JSONObject parametersObject = new JSONOrderedObject();
for (Map.Entry<String, Object> entry : providerHint.getParameters()
for (Map.Entry<String, Object> entry : valueProvider.getParameters()
.entrySet()) {
parametersObject.put(entry.getKey(),
extractItemValue(entry.getValue()));
}
providerHintObject.put("parameters", parametersObject);
valueProviderObject.put("parameters", parametersObject);
}
providersArray.put(providerHintObject);
providersArray.put(valueProviderObject);
}
jsonObject.put("providers", providersArray);
}
@@ -203,11 +203,11 @@ public class JsonMarshaller {
values.add(toValueHint((JSONObject) valuesArray.get(i)));
}
}
List<ItemHint.ProviderHint> providers = new ArrayList<ItemHint.ProviderHint>();
List<ItemHint.ValueProvider> providers = new ArrayList<ItemHint.ValueProvider>();
if (object.has("providers")) {
JSONArray providersObject = object.getJSONArray("providers");
for (int i = 0; i < providersObject.length(); i++) {
providers.add(toProviderHint((JSONObject) providersObject.get(i)));
providers.add(toValueProvider((JSONObject) providersObject.get(i)));
}
}
return new ItemHint(name, values, providers);
@@ -219,7 +219,7 @@ public class JsonMarshaller {
return new ItemHint.ValueHint(value, description);
}
private ItemHint.ProviderHint toProviderHint(JSONObject object) {
private ItemHint.ValueProvider toValueProvider(JSONObject object) {
String name = object.getString("name");
Map<String, Object> parameters = new HashMap<String, Object>();
if (object.has("parameters")) {
@@ -230,7 +230,7 @@ public class JsonMarshaller {
parameters.put(key, value);
}
}
return new ItemHint.ProviderHint(name, parameters);
return new ItemHint.ValueProvider(name, parameters);
}
private Object readItemValue(Object value) {