APIClient: Add a mapStringDouble method
This patch adds a method to the APIClient that return a map of String and Double. It support both simple and with query parameters. Signed-off-by: Amnon Heiman <amnon@scylladb.com>
This commit is contained in:
parent
71c4e892f6
commit
e0e7dcdb5c
@ -692,4 +692,37 @@ public class APIClient {
|
||||
public long[] getEstimatedHistogramAsLongArrValue(String string) {
|
||||
return getEstimatedHistogramAsLongArrValue(string, null);
|
||||
}
|
||||
|
||||
public Map<String, Double> getMapStringDouble(String string,
|
||||
MultivaluedMap<String, String> queryParams) {
|
||||
if (string.equals("")) {
|
||||
return null;
|
||||
}
|
||||
JsonReader reader = getReader(string, queryParams);
|
||||
JsonArray arr = reader.readArray();
|
||||
Map<String, Double> map = new HashMap<String, Double>();
|
||||
for (int i = 0; i < arr.size(); i++) {
|
||||
JsonObject obj = arr.getJsonObject(i);
|
||||
Iterator<String> it = obj.keySet().iterator();
|
||||
String key = "";
|
||||
double val = -1;
|
||||
while (it.hasNext()) {
|
||||
String k = it.next();
|
||||
if (obj.get(k) instanceof JsonString) {
|
||||
key = obj.getString(k);
|
||||
} else {
|
||||
val = obj.getJsonNumber(k).doubleValue();
|
||||
}
|
||||
}
|
||||
if (!key.equals("")) {
|
||||
map.put(key, val);
|
||||
}
|
||||
|
||||
}
|
||||
reader.close();
|
||||
return map;
|
||||
}
|
||||
public Map<String, Double> getMapStringDouble(String string) {
|
||||
return getMapStringDouble(string, null);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user