Example #1
0
  /*
   * 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;
    }
  }