private void saveFieldValues() throws Exception {
for (FieldLayoutItem fieldLayoutItem : getFieldLayoutItems()) {
FieldScreenRenderer fieldScreenRenderer = issueCreationHelperBean.createFieldScreenRenderer(getLoggedInUser(), getIssue());
SimpleErrorCollection simpleErrorCollection = new SimpleErrorCollection();
OrderableField orderableField = fieldLayoutItem.getOrderableField();
Object fieldValue = ActionContext.getParameters().get(orderableField.getId());
if (containsValues(fieldValue)) {
orderableField.populateFromParams(getFieldValuesHolder(), ActionContext.getParameters());
orderableField.validateParams(this, simpleErrorCollection, getI18nHelper(), getIssue(), fieldScreenRenderer.getFieldScreenRenderLayoutItem(orderableField));
if (!simpleErrorCollection.hasAnyErrors()) {
configChanges.add(getI18nHelper().getText("cpji.config.default.value", orderableField.getName()));
defaultFieldValuesManager.persistDefaultFieldValue(getProject().getKey(), orderableField.getId(), getIssueTypeObject().getName(), fieldValue);
} else {
getFieldValuesHolder().remove(orderableField.getId());
addErrorMessages(simpleErrorCollection.getErrorMessages());
addErrors(simpleErrorCollection.getErrors());
log.info("Value for field '" + orderableField.getId() + "' is invalid!" + simpleErrorCollection);
}
} else {
if (defaultFieldValuesManager.hasDefaultValue(getProject().getKey(), orderableField.getId(), getIssueTypeObject().getName())) {
configChanges.add(getI18nHelper().getText("cpji.config.default.empty.value", orderableField.getName()));
defaultFieldValuesManager.clearDefaultValue(getProject().getKey(), orderableField.getId(), getIssueTypeObject().getName());
}
}
}
}