/** * Extracts field metadata from an editmeta JSON object. * * @param name Field name * @param editmeta Edit metadata JSON object * * @return a Meta instance with field metadata * * @throws JiraException when the field is missing or metadata is bad */ public static Meta getFieldMetadata(String name, JSONObject editmeta) throws JiraException { if (editmeta.isNullObject() || !editmeta.containsKey(name)) throw new JiraException("Field '" + name + "' does not exist or read-only"); Map f = (Map)editmeta.get(name); Meta m = new Meta(); m.required = Field.getBoolean(f.get("required")); m.name = Field.getString(f.get("name")); if (!f.containsKey("schema")) throw new JiraException("Field '" + name + "' is missing schema metadata"); Map schema = (Map)f.get("schema"); m.type = Field.getString(schema.get("type")); m.items = Field.getString(schema.get("items")); m.system = Field.getString(schema.get("system")); m.custom = Field.getString(schema.get("custom")); m.customId = Field.getInteger(schema.get("customId")); return m; }
/** * Extracts field metadata from an editmeta JSON object. * * @param name Field name * @param editmeta Edit metadata JSON object * * @return a Meta instance with field metadata * * @throws JiraException when the field is missing or metadata is bad */ public static Meta getFieldMetadata(String name, JSONObject editmeta) throws JiraException { if (editmeta.isNullObject() || !editmeta.containsKey(name)) throw new JiraException("Field '" + name + "' does not exist or read-only"); Map f = (Map)editmeta.get(name); Meta m = new Meta(); m.required = Field.getBoolean(f.get("required")); m.name = Field.getString(f.get("name")); if (!f.containsKey("schema")) throw new JiraException("Field '" + name + "' is missing schema metadata"); Map schema = (Map)f.get("schema"); m.type = Field.getString(schema.get("type")); m.items = Field.getString(schema.get("items")); m.system = Field.getString(schema.get("system")); m.custom = Field.getString(schema.get("custom")); m.customId = Field.getInteger(schema.get("customId")); return m; }