/** * Takes a name (vars.key) of a transient var in the args map * If the modified fields of the issue contains that the field id stored in "vars.key" set the field value as the field.value and call the * super method to update the issue field function. */ public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException { MutableIssue issue = (MutableIssue) transientVars.get("issue"); String varKey = (String) args.get("vars.key"); if (issue != null && issue.getModifiedFields().containsKey(varKey)) { args.put("field.value", transientVars.get(varKey)); super.execute(transientVars, args, ps); } } }
@Nonnull @Override public ValidationResult validateModifiedFields(@Nonnull final MutableIssue issue) { return validateFields(issue, Option.some(issue.getModifiedFields().keySet())); }
@Nullable protected Comment createComment() { final MutableIssue commentedIssue = getMutableIssue(); final OrderableField commentField = getOrderableField(IssueFieldConstants.COMMENT); final FieldLayoutItem fieldLayoutItem = ComponentAccessor.getFieldLayoutManager().getFieldLayout( commentedIssue).getFieldLayoutItem(commentField); commentField.updateIssue(fieldLayoutItem, commentedIssue, getFieldValuesHolder()); final ModifiedValue comment = commentedIssue.getModifiedFields().get(IssueFieldConstants.COMMENT); final IssueChangeHolder changeHolder = new DefaultIssueChangeHolder(); if (comment != null) { commentField.updateValue(fieldLayoutItem, commentedIssue, comment, changeHolder); } // Reset the comment field as it has been persisted to the db. commentedIssue.getModifiedFields().remove(IssueFieldConstants.COMMENT); return changeHolder.getComment(); }
protected DefaultIssueChangeHolder updateFieldValues(MutableIssue issue, StringBuffer ignored) { DefaultIssueChangeHolder issueChangeHolder = new DefaultIssueChangeHolder(); Map<String, ModifiedValue> modifiedFields = issue.getModifiedFields(); for (final String fieldId : modifiedFields.keySet()) { if (getFieldManager().isOrderableField(fieldId)) { OrderableField field = getFieldManager().getOrderableField(fieldId); FieldLayoutItem fieldLayoutItem = getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem(field); final ModifiedValue modifiedValue = modifiedFields.get(fieldId); field.updateValue(fieldLayoutItem, issue, modifiedValue, issueChangeHolder); } } return issueChangeHolder; }
if (issue.getModifiedFields().containsKey(field.getId())) field.updateValue(fieldLayoutItem, issue, issue.getModifiedFields().get(field.getId()), changeHolder); issue.getModifiedFields().remove(field.getId());
Map<String, ModifiedValue> modifiedFields = issue.getModifiedFields(); if (!modifiedFields.isEmpty())
/** * If the value of this field has changed in the issue, the new user is added to the "used user" history */ protected void addToUsedUserHistoryIfValueChanged(MutableIssue issue) { ModifiedValue modifiedValue = issue.getModifiedFields().get(getId()); if (modifiedValue == null) { return; } final ApplicationUser newValue = (ApplicationUser) modifiedValue.getNewValue(); final User newUser = getDirectoryUser(newValue); final User oldUser = getDirectoryUser((ApplicationUser) modifiedValue.getOldValue()); final User loggedInUser = getDirectoryUser(authenticationContext.getUser()); //JRADEV-14962 Don't add current to user history; we don't want to clobber genuine choices with current user. if (newUser != null && !UserComparator.equal(oldUser, newUser) && !UserComparator.equal(newUser, loggedInUser)) { userHistoryManager.addUserToHistory(UserHistoryItem.USED_USER, authenticationContext.getUser(), newValue); } }
Map<String, ModifiedValue> modifiedFields = issue.getModifiedFields(); for (final String fieldId : modifiedFields.keySet())
final Map<String, ModifiedValue> modifiedFields = newIssue.getModifiedFields(); for (final String fieldId : modifiedFields.keySet())
Map<String, ModifiedValue> modifiedFields = targetIssue.getModifiedFields(); for (final String fieldId : modifiedFields.keySet())
Map<String, ModifiedValue> modifiedFields = targetSubTask.getModifiedFields(); for (final String fieldId : modifiedFields.keySet())
Map<String, ModifiedValue> modifiedFields = newIssue.getModifiedFields(); for (final String fieldId : modifiedFields.keySet())