/* * Utility method for JSON'izing a single LB */ protected String LbToJson(LoadBalancer lb, String action) throws JSONException { JSONObject jsonResponseObject = new JSONObject(); try { // internal fields for worker IPC only if (action != null) { jsonResponseObject.put(HPCS_REQUESTID, ++requestId); jsonResponseObject.put(HPCS_ACTION, action); jsonResponseObject.put(HPCS_DEVICE, lb.getDevice()); } jsonResponseObject.put("name", lb.getName()); jsonResponseObject.put("id", lb.getId()); jsonResponseObject.put("protocol", lb.getProtocol()); jsonResponseObject.put("port", lb.getPort()); jsonResponseObject.put("algorithm", lb.getAlgorithm()); jsonResponseObject.put("status", lb.getStatus()); jsonResponseObject.put("created", lb.getCreated()); jsonResponseObject.put("updated", lb.getUpdated()); // vips JSONArray jsonVipArray = new JSONArray(); VirtualIps vips = lb.getVirtualIps(); if (vips != null) { List<VirtualIp> vipslist = vips.getVirtualIps(); if (vipslist != null) for (int x = 0; x < vipslist.size(); x++) { JSONObject jsonVIP = new JSONObject(); jsonVIP.put("address", vipslist.get(x).getAddress()); jsonVIP.put("id", vipslist.get(x).getId()); jsonVIP.put("type", vipslist.get(x).getType()); jsonVIP.put("ipVersion", vipslist.get(x).getIpVersion()); jsonVipArray.put(jsonVIP); } } jsonResponseObject.put("virtualIps", jsonVipArray); // nodes JSONArray jsonNodeArray = new JSONArray(); Nodes nodes = lb.getNodes(); if (nodes != null) { List<Node> nodeList = nodes.getNodes(); for (int y = 0; y < nodeList.size(); y++) { JSONObject jsonNode = new JSONObject(); jsonNode.put("address", nodeList.get(y).getAddress()); jsonNode.put("id", nodeList.get(y).getId()); jsonNode.put("port", nodeList.get(y).getPort()); jsonNode.put("status", nodeList.get(y).getStatus()); jsonNodeArray.put(jsonNode); } } jsonResponseObject.put("nodes", jsonNodeArray); return jsonResponseObject.toString(); } catch (JSONException jsone) { throw jsone; } }