示例#1
0
  protected JSONObject generateENUMField(
      Storage storage, Field f, JSONArray getallnames, Boolean showshortID) throws JSONException {
    JSONArray ids = new JSONArray();
    JSONArray names = new JSONArray();
    JSONArray activestatus = new JSONArray();
    int dfault = -1;
    int spacer = 0;
    if (f.hasEnumBlank()) {
      ids.put("");
      activestatus.put("");
      names.put(f.enumBlankValue());
      spacer = 1;
    }
    for (int i = 0; i < getallnames.length(); i++) {
      JSONObject namedata = getallnames.getJSONObject(i);
      String name = namedata.getString("displayName");
      String status = namedata.getString("termStatus");
      activestatus.put(status);
      String shortId = "";
      String refname = namedata.getString("refid");
      if (namedata.has("shortIdentifier") && !namedata.getString("shortIdentifier").equals("")) {
        shortId = namedata.getString("shortIdentifier");
      } else {
        shortId = name.replaceAll("\\W", "");
      }
      // currently only supports single select dropdowns and not multiselect
      if (f.isEnumDefault(name)) {
        dfault = i + spacer;
      }
      if (showshortID) {
        ids.put(shortId.toLowerCase());
      } else {
        ids.put(refname);
      }

      names.put(name);
    }
    // Dropdown entry pulled from service layer data
    JSONObject out = new JSONObject();

    if (dfault != -1) out.put("default", dfault + "");
    out.put("optionlist", ids);
    out.put("optionnames", names);
    out.put("activestatus", activestatus);
    return out;
  }