From 7e7e0ca367bbbc37301763012ff1f159ff7df535 Mon Sep 17 00:00:00 2001 From: Amnon Heiman Date: Mon, 24 Aug 2015 10:32:16 +0300 Subject: [PATCH] APIClient: Add the getMapInetAddressFloatValue implementation This adds the implementation to the stubed getMapInetAddressFloatValue, it gets an array of 'key', 'value' and translate it into a map of key to float. Signed-off-by: Amnon Heiman --- .../com/cloudius/urchin/api/APIClient.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/cloudius/urchin/api/APIClient.java b/src/main/java/com/cloudius/urchin/api/APIClient.java index cddeebd..08b60b0 100644 --- a/src/main/java/com/cloudius/urchin/api/APIClient.java +++ b/src/main/java/com/cloudius/urchin/api/APIClient.java @@ -37,6 +37,8 @@ import javax.ws.rs.core.MediaType; public class APIClient { JsonReaderFactory factory = Json.createReaderFactory(null); + private static final java.util.logging.Logger logger = java.util.logging.Logger + .getLogger(APIClient.class.getName()); public static String getBaseUrl() { return "http://" + System.getProperty("apiaddress", "localhost") + ":" @@ -372,11 +374,29 @@ public class APIClient { return Long.parseLong(getStringValue(string)); } - public Map getMapInetAddressFloatValue(String string) { - // TODO Auto-generated method stub - return null; + public Map getMapInetAddressFloatValue(String string, + MultivaluedMap queryParams) { + Map res = new HashMap(); + + JsonReader reader = getReader(string, queryParams); + + JsonArray arr = reader.readArray(); + JsonObject obj = null; + for (int i = 0; i < arr.size(); i++) { + try { + obj = arr.getJsonObject(i); + res.put(InetAddress.getByName(obj.getString("key")), + Float.parseFloat(obj.getString("value"))); + } catch (UnknownHostException e) { + logger.warning("Bad formatted address " + obj.getString("key")); + } + } + return res; } + public Map getMapInetAddressFloatValue(String string) { + return getMapInetAddressFloatValue(string, null); + } public Map getMapStringLongValue(String string) { // TODO Auto-generated method stub return null;