/** * Populate given map of parameters with data which can identify user, in order to be able retrieve {@link * ApplicationUser} later via {@link #getCallerUserFromArgs(java.util.Map, java.util.Map)} * <p/> * If you want to pass parameters explicitly, please use {@link #populateParamsWithUser(java.util.Map, String)} * * @param params mutable map, which will be populated with user's identifier * @param user user, which later should be identified by {@link #getCallerUserFromArgs(java.util.Map, * java.util.Map)} * @see #getCallerUserFromArgs(java.util.Map, java.util.Map) * @since 6.0 */ public static void populateParamsWithUser(Map<String, Object> params, ApplicationUser user) { populateParamsWithUser(params, user != null ? user.getKey() : null); }
Map<String, Object> createAdditionalParameters(final ApplicationUser user, final Map<String, Object> fieldValuesHolder, TransitionOptions transitionOptions, final HistoryMetadata historyMetadata, final String originalAssigneeId) { final Map<String, Object> additionalParams = new HashMap<String, Object>(); // put the user info into the additional params WorkflowFunctionUtils.populateParamsWithUser(additionalParams, user); ///JRA-20604, JRADEV-1246: Need to populate the comment parameters into the additionalParams so they will be available //to the workflow actions. Importantly, this means that the event fired by the workflow will contain a comment if provided //by the user. final CommentSystemField commentSystemField = (CommentSystemField) fieldManager.getOrderableField(IssueFieldConstants.COMMENT); commentSystemField.populateAdditionalInputs(fieldValuesHolder, additionalParams); additionalParams.putAll(transitionOptions.getWorkflowParams()); if (historyMetadata != null) { additionalParams.put(DefaultChangeHistoryManager.HISTORY_METADATA_KEY, historyMetadata); } additionalParams.put("originalAssigneeId", originalAssigneeId); return additionalParams; }
@SuppressWarnings ("unchecked") @Override public Map getAdditionalInputs() { final Map map = new HashMap(additionalInputs.size() + 3); map.putAll(additionalInputs); // Only supply fields that have been updated if (fieldUpdated(FIELD_COMMENT)) { map.put(FIELD_COMMENT, getComment()); map.put(FIELD_COMMENT_LEVEL, getCommentLevel()); map.put(CommentSystemField.PARAM_ROLE_LEVEL, getCommentRoleLevel()); } WorkflowFunctionUtils.populateParamsWithUser(map, getUserKey()); return map; }