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; }