@Override public JsonData getJsonDefaultValue(IssueContext issueCtx, CustomField field) { FieldConfig config = field.getRelevantConfig(issueCtx); Collection<Option> defaultValue = (Collection<Option>) field.getCustomFieldType().getDefaultValue(config); return defaultValue == null ? null : new JsonData(CustomFieldOptionJsonBean.shortBeans(defaultValue, jiraBaseUrls)); }
/** * * @return null if the input is null */ public static CustomFieldOptionJsonBean shortBean(final Option option, final JiraBaseUrls urls) { if (option == null) { return null; } final CustomFieldOptionJsonBean bean = new CustomFieldOptionJsonBean(); bean.self = urls.restApi2BaseUrl() + "customFieldOption/" + JiraUrlCodec.encode(option.getOptionId().toString()); bean.value = option.getValue(); bean.id = String.valueOf(option.getOptionId()); List<Option> children = option.getChildOptions(); if (children != null && !children.isEmpty()) { bean.children = shortBeans(children, urls); } return bean; }
@Override public FieldTypeInfo getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext) { // Get the allowed options FieldConfig config = ((CustomField) fieldTypeInfoContext.getOderableField()).getRelevantConfig(fieldTypeInfoContext.getIssueContext()); Options options = optionsManager.getOptions(config); Collection<CustomFieldOptionJsonBean> optionBeans = CustomFieldOptionJsonBean.shortBeans(options, jiraBaseUrls); return new FieldTypeInfo(optionBeans, null); }
@Override public FieldTypeInfo getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext) { // Get the allowed options FieldConfig config = ((CustomField) fieldTypeInfoContext.getOderableField()).getRelevantConfig(fieldTypeInfoContext.getIssueContext()); Options options = optionsManager.getOptions(config); Collection<CustomFieldOptionJsonBean> optionBeans = CustomFieldOptionJsonBean.shortBeans(options, jiraBaseUrls); return new FieldTypeInfo(optionBeans, null); }
@Override public FieldTypeInfo getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext) { // Get the allowed options FieldConfig config = ((CustomField) fieldTypeInfoContext.getOderableField()).getRelevantConfig(fieldTypeInfoContext.getIssueContext()); Options options = optionsManager.getOptions(config); Collection<CustomFieldOptionJsonBean> optionBeans = CustomFieldOptionJsonBean.shortBeans(options, jiraBaseUrls); return new FieldTypeInfo(optionBeans, null); }
@Override public FieldJsonRepresentation getJsonFromIssue(CustomField field, Issue issue, boolean renderedVersionRequested, @Nullable FieldLayoutItem fieldLayoutItem) { Collection<Option> valueFromIssue = getValueFromIssue(field, issue); if (valueFromIssue == null) { return new FieldJsonRepresentation(new JsonData(null)); } return new FieldJsonRepresentation(new JsonData(CustomFieldOptionJsonBean.shortBeans(valueFromIssue, jiraBaseUrls))); }