public static void populateDefaults(FieldConfig config, Map<String, Object> customFieldValuesHolder) { CustomField cf = config.getCustomField(); Object defaultValues = cf.getCustomFieldType().getDefaultValue(config); CustomFieldParams paramsFromIssue; if (defaultValues != null) { paramsFromIssue = new CustomFieldParamsImpl(cf, defaultValues); paramsFromIssue.transformObjectsToStrings(); customFieldValuesHolder.put(cf.getId(), paramsFromIssue); } }
public void setDefaultValue(FieldConfig fieldConfig, Map<String, Option> cascadingOptions) { if (cascadingOptions != null) { final CustomFieldParams customFieldParams = new CustomFieldParamsImpl(fieldConfig.getCustomField(), cascadingOptions); customFieldParams.transformObjectsToStrings(); customFieldParams.setCustomField(null); genericConfigManager.update(DEFAULT_VALUE_TYPE, fieldConfig.getId().toString(), customFieldParams); } else { genericConfigManager.update(DEFAULT_VALUE_TYPE, fieldConfig.getId().toString(), null); } }
@Override public void populateDefaults(Map<String, Object> customFieldValuesHolder, Issue issue) { FieldConfig config = getRelevantConfig(issue); if (config != null) { Object defaultValues = getCustomFieldType().getDefaultValue(config); CustomFieldParams paramsFromIssue; if (defaultValues != null) { paramsFromIssue = new CustomFieldParamsImpl(this, defaultValues); paramsFromIssue.transformObjectsToStrings(); customFieldValuesHolder.put(getId(), paramsFromIssue); customFieldValuesHolder.put(getId() + ":objects", new CustomFieldParamsImpl(this, defaultValues)); } } else { log.info("No relevant config found for " + this + " for the issue " + issue); } }
private CustomFieldParams getCustomFieldParamsFromIssue(Issue issue) { //JRA-16915: The CustomFieldParams returned should NEVER be null, since this may break calls to validate() methods //later on with a NPE. This can cause problems for example, when deleting values in a workflow transition //via SOAP, if a customfield value for an issue is null. Object valueFromIssue = getCustomFieldType().getValueFromIssue(this, issue); if (valueFromIssue != null) { CustomFieldParams paramsFromIssue = new CustomFieldParamsImpl(this, valueFromIssue); paramsFromIssue.transformObjectsToStrings(); return paramsFromIssue; } else { return new CustomFieldParamsImpl(this); } }