com.atlassian.jira.web.action.issue
Class MoveIssueConfirm

java.lang.Object
  extended by webwork.action.ActionSupport
      extended by com.atlassian.jira.action.JiraActionSupport
          extended by com.atlassian.jira.web.action.JiraWebActionSupport
              extended by com.atlassian.jira.web.action.ProjectActionSupport
                  extended by com.atlassian.jira.web.action.IssueActionSupport
                      extended by com.atlassian.jira.web.action.issue.AbstractIssueSelectAction
                          extended by com.atlassian.jira.web.action.issue.AbstractViewIssue
                              extended by com.atlassian.jira.web.action.issue.AbstractCommentableIssue
                                  extended by com.atlassian.jira.web.action.issue.AbstractCommentableAssignableIssue
                                      extended by com.atlassian.jira.web.action.issue.MoveIssue
                                          extended by com.atlassian.jira.web.action.issue.MoveIssueUpdateFields
                                              extended by com.atlassian.jira.web.action.issue.MoveIssueConfirm
All Implemented Interfaces:
OperationContext, ErrorCollection, I18nHelper, Assignable, IssueSummaryAware, java.io.Serializable, webwork.action.Action, webwork.action.CommandDriven, webwork.action.IllegalArgumentAware

public class MoveIssueConfirm
extends MoveIssueUpdateFields

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.util.I18nHelper
I18nHelper.BeanFactory
 
Field Summary
 
Fields inherited from class com.atlassian.jira.web.action.issue.MoveIssue
constantsManager, fieldLayoutManager, fieldManager, issueFactory, SUBTASK_STATUS_PREFIX, workflowManager
 
Fields inherited from class com.atlassian.jira.web.action.issue.AbstractIssueSelectAction
id, issueObject
 
Fields inherited from class com.atlassian.jira.web.action.ProjectActionSupport
projectManager
 
Fields inherited from class com.atlassian.jira.web.action.JiraWebActionSupport
ISSUE_NOT_FOUND_RESULT, PERMISSION_VIOLATION_RESULT, request, RETURN_URL_PARAMETER, savedFilters
 
Fields inherited from class com.atlassian.jira.action.JiraActionSupport
log
 
Fields inherited from class webwork.action.ActionSupport
command, errorMap, errorMessages
 
Fields inherited from interface webwork.action.Action
ERROR, INPUT, LOGIN, NONE, SUCCESS
 
Constructor Summary
MoveIssueConfirm(IssueLinkManager issueLinkManager, SubTaskManager subTaskManager, AttachmentManager attachmentManager, ConstantsManager constantsManager, WorkflowManager workflowManager, FieldManager fieldManager, FieldLayoutManager fieldLayoutmanager, IssueFactory issueFactory, FieldScreenRendererFactory fieldScreenRendererFactory, CommentService commentService, IssueSecurityHelper issueSecurityHelper, IssueManager issueManager, AttachmentPathManager attachmentPathManager)
           
 
Method Summary
 java.lang.String doDefault()
          Handles the initial request to move an issue.
 java.lang.String doExecute()
          Actually does the moving of the issue from one Project/Issue Type to another
protected  void doValidation()
           
 java.util.Collection getConfimationFieldLayoutItems()
           
 java.lang.String getNewViewHtml(OrderableField field)
           
 java.lang.String getOldViewHtml(OrderableField field)
           
 java.lang.String getPrefixCustomFieldId(java.lang.String key)
           
 java.util.Collection getRemoveFields()
           
protected  MutableIssue getTargetIssueObject()
          Retrieves the issue from the IssueManager and updates the Project and IssueType, and possibly clears the security.
 org.ofbiz.core.entity.GenericValue getTargetStatusGV()
           
 boolean isConfirm()
           
 boolean isIssueTypeMatch()
           
 boolean isProjectMatch()
           
 boolean isStatusMatch()
           
protected  void migrateIssueToWorkflow(org.ofbiz.core.entity.GenericValue issue, java.lang.String oldIssueType, JiraWorkflow targetWorkflow, org.ofbiz.core.entity.GenericValue targetStatus)
          Migrate the specified issue to the specified workflow, specified status and target type.
protected  void popluateDefault(OrderableField orderableField)
           
protected  void populateFromParams(OrderableField orderableField)
           
 void setConfirm(boolean confirm)
           
 
Methods inherited from class com.atlassian.jira.web.action.issue.MoveIssueUpdateFields
getCurrentCustomFieldObjects, getCustomFieldValuesHolder, getFieldHtml, getFieldName, getInvalidCustomFields, getMoveFieldLayoutItems, getTargetCustomFieldObjects, getTargetCustomFields, getTargetFieldLayout, getTargetHiddenFields, getTargetIssueObjectWithSecurityLevel, isShouldCheckFieldValue
 
Methods inherited from class com.atlassian.jira.web.action.issue.MoveIssue
getAllowedProjects, getBeanTargetStatusId, getConstantsManager, getCurrentIssueType, getCurrentStatusGV, getCurrentWorkflow, getFieldHtml, getFieldLayoutManager, getFieldManager, getIssueObject, getMoveIssueBean, getPrefixIssueTypeId, getPrefixTaskStatusId, getSubTasks, getSubtaskTargetIssueType, getSubTaskTargetStatus, getSubTaskTypesUsed, getTargetIssueType, getTargetIssueTypeGV, getTargetPid, getTargetProject, getTargetStatusId, getTargetWorkflow, getTargetWorkflowStatuses, getTaskInvalidStatuses, getTasksWithStatus, getViewHtmlParams, getWorkflowForType, getWorkflowManager, isHasSubTasks, isIssueStatusValid, isStatusChangeRequired, isSubTask, isTaskStatusChangeRequired, isTaskStatusValid, isWorkflowMatch, redirectToSessionTimeoutPage, setBeanTargetStatusId, validateAttachmentMove, validateCreateIssue
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractCommentableAssignableIssue
assigneeChanged, getAssignee, getAssignIn, hasAssigneePermission, setAssignee
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractCommentableIssue
createComment, doCommentValidation, getComment, getCommentLevel, getDisplayParams, getFieldScreenRendererLayoutItemForField, getFieldScreenRendererWithAllFields, getFieldValuesHolder, getGroupLevel, getGroupLevels, getIssueOperation, getOrderableField, getRoleLevels, setComment, setCommentLevel, setFieldValuesHolder, setGroupLevel
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractViewIssue
getAttachments, getIssueLinkManager, getLinkCollection, getLinkCollection, getPossibleComponents, getPossibleVersions, getPossibleVersionsReleasedFirst
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractIssueSelectAction
cameFromIssue, cameFromParent, getId, getIssue, getIssueObject, getIssueObjectNoSecurityCheck, getIssuePath, getKey, getLayoutBean, getParentIssueObject, getProject, getSecurityLevel, getSecurityLevel, getSecurityLevelName, getSubTaskManager, getSummaryIssue, getViewIssueKey, getViewUrl, isEditable, isEditable, isHasEditIssuePermission, isIssueExists, isIssueValid, isSubTaskCreatable, isWorkflowAllowsEdit, redirectToView, resetIssue, setId, setIssue, setKey, setViewIssueKey
 
Methods inherited from class com.atlassian.jira.web.action.IssueActionSupport
clearSelectedIssue, getAttachmentManager, getCurrentFailedLoginCount, getCurrentJQL, getCustomFieldManager, getDaysPerWeek, getEverLoggedIn, getHoursPerDay, getIssueManager, getLastFailedLogin, getLastLogin, getLoginCount, getPossibleVersions, getPossibleVersionsReleasedFirst, getPrettyDuration, getPreviousLogin, getSearchRequest, getSelectedIssueId, getSessionPagerFilterManager, getSessionSearchRequestManager, getSessionSearchRequestManagerFactory, getSessionSelectedIssueManager, getTotalFailedLoginCount, getUrlEncoded, getWorkflow, getWorkflowTransitionDescription, getWorkflowTransitionDisplayName, isCustomFieldHidden, isElevatedSecurityCheckRequired, isFieldHidden, isFieldHidden, isFieldHidden, isTimeTrackingEnabled, setCurrentIssue, setSearchRequest, setSelectedIssueId, updateSearchRequest
 
Methods inherited from class com.atlassian.jira.web.action.ProjectActionSupport
getBrowseableProjects, getBrowseableProjectsInCategory, getSelectedProjectId, setSelectedProject, setSelectedProject
 
Methods inherited from class com.atlassian.jira.web.action.JiraWebActionSupport
addErrorCollection, addErrorMessageByKeyIfAbsent, addErrorMessageIfAbsent, forceRedirect, getApplicationProperties, getAssignableUsers, getAssignableUsers, getCachedGroups, getComponentManager, getConglomerateCookieValue, getDateFormat, getDateTimeFormat, getDescTranslation, getExternalLinkUtils, getField, getFlushedErrorMessages, getGlobalPermissionManager, getHint, getHintManager, getJiraServiceContext, getLanguage, getNameTranslation, getOutlookDate, getPermissionManager, getProjectManager, getPropertySet, getRandomHint, getRedirect, getRemoteUser, getReturnUrl, getReturnUrlForCancelLink, getSearchSortDescriptions, getSelectedProject, getSelectedProjectObject, getServerId, getText, getTimeFormat, getUriValidator, getUserFullName, getUserProjectHistoryManager, getVersionManager, getWebworkStack, getWebworkStack, getXsrfToken, hasErrorMessage, hasErrorMessageByKey, htmlEncode, isHasIssuePermission, isHasIssuePermission, isHasPermission, isHasPermission, isHasPermission, isHasProjectPermission, isHasProjectPermission, isInlineDialogMode, isSystemAdministrator, isUserExists, returnComplete, returnComplete, returnCompleteWithInlineRedirect, setConglomerateCookieValue, setInline, setReturnUrl, setSelectedProjectId
 
Methods inherited from class com.atlassian.jira.action.JiraActionSupport
addErrorMessages, addErrorMessages, addErrors, addIllegalArgumentException, execute, getActionName, getDefaultResourceBundle, getDelegator, getKeysForPrefix, getLocale, getResult, getText, getText, getText, getText, getText, getText, getText, getText, getText0, getUnescapedText, getUserPreferences, getWatcherManager, hasAnyErrors, isEnterprise, isIndexing, isProfessional, isProfessionalOrEnterprise, isStandard, removeKeyOrAddError
 
Methods inherited from class webwork.action.ActionSupport
addError, addErrorMessage, getCommandName, getErrorMessages, getErrors, getHasErrorMessages, getHasErrors, getPropertyEditorMessage, getTexts, getTexts, getTimezone, invalidInput, invokeCommand, isCommand, setCommand, setErrorMessages, setErrors, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.jira.issue.customfields.OperationContext
getFieldValuesHolder, getIssueOperation
 
Methods inherited from interface com.atlassian.jira.web.action.issue.IssueSummaryAware
getRemoteUser
 
Methods inherited from interface com.atlassian.jira.util.ErrorCollection
addError, addErrorMessage, addErrorMessages, addErrors, getErrorMessages, getErrors, hasAnyErrors, setErrorMessages
 
Methods inherited from interface webwork.action.CommandDriven
getCommandName, setCommand
 

Constructor Detail

MoveIssueConfirm

public MoveIssueConfirm(IssueLinkManager issueLinkManager,
                        SubTaskManager subTaskManager,
                        AttachmentManager attachmentManager,
                        ConstantsManager constantsManager,
                        WorkflowManager workflowManager,
                        FieldManager fieldManager,
                        FieldLayoutManager fieldLayoutmanager,
                        IssueFactory issueFactory,
                        FieldScreenRendererFactory fieldScreenRendererFactory,
                        CommentService commentService,
                        IssueSecurityHelper issueSecurityHelper,
                        IssueManager issueManager,
                        AttachmentPathManager attachmentPathManager)
Method Detail

doDefault

public java.lang.String doDefault()
Description copied from class: MoveIssue
Handles the initial request to move an issue. It returns the view responsible for rendering the first step of the wizard, if the user is authorised to perform the move and if the issue exists.

Overrides:
doDefault in class MoveIssueUpdateFields
Returns:
"securitybreach" if the user is not authorised to move the issue; Action.ERROR if the issue can't be found (which means it was probably deleted), or if the user isn't authorised to browse the issue; otherwise, Action.INPUT} is returned to render the view for the first step of the wizard.

getConfimationFieldLayoutItems

public java.util.Collection getConfimationFieldLayoutItems()

getRemoveFields

public java.util.Collection getRemoveFields()

getOldViewHtml

public java.lang.String getOldViewHtml(OrderableField field)
                                throws FieldLayoutStorageException
Throws:
FieldLayoutStorageException

getNewViewHtml

public java.lang.String getNewViewHtml(OrderableField field)
                                throws FieldLayoutStorageException
Throws:
FieldLayoutStorageException

doValidation

protected void doValidation()
Overrides:
doValidation in class MoveIssueUpdateFields

popluateDefault

protected void popluateDefault(OrderableField orderableField)
Overrides:
popluateDefault in class MoveIssueUpdateFields

populateFromParams

protected void populateFromParams(OrderableField orderableField)
Overrides:
populateFromParams in class MoveIssueUpdateFields

getTargetIssueObject

protected MutableIssue getTargetIssueObject()
Description copied from class: MoveIssueUpdateFields
Retrieves the issue from the IssueManager and updates the Project and IssueType, and possibly clears the security.

JRA-11605 - we need this method so that the display can prompt the user with values from system fields that are unencumbered by security level permission checks. It will set security level to null if the issue is moving somewhere that the old security level is no relevant.

Overrides:
getTargetIssueObject in class MoveIssueUpdateFields
Returns:
Target Issue Object with required Project and Issue Type added in.
See Also:
MoveIssueUpdateFields.getTargetIssueObjectWithSecurityLevel()

doExecute

public java.lang.String doExecute()
                           throws java.lang.Exception
Actually does the moving of the issue from one Project/Issue Type to another

Overrides:
doExecute in class MoveIssueUpdateFields
Returns:
It actually doesn't return anything. If the issue has sub-tasks it redirects to MoveIssueSubtasks.doDefault() so that the tasks issue types can be mapped; otherwise, it redirects to MoveIssueUpdateWorkflow.doDefault()
Throws:
java.lang.Exception

migrateIssueToWorkflow

protected void migrateIssueToWorkflow(org.ofbiz.core.entity.GenericValue issue,
                                      java.lang.String oldIssueType,
                                      JiraWorkflow targetWorkflow,
                                      org.ofbiz.core.entity.GenericValue targetStatus)
                               throws org.ofbiz.core.entity.GenericEntityException
Migrate the specified issue to the specified workflow, specified status and target type.

Parameters:
issue - - the issue to migrate - should be the issue that will be changed
oldIssueType - - the old issue type of the issue
targetWorkflow - - the destination workflow
targetStatus - - the destination status
Throws:
org.ofbiz.core.entity.GenericEntityException

getPrefixCustomFieldId

public java.lang.String getPrefixCustomFieldId(java.lang.String key)
                                        throws org.ofbiz.core.entity.GenericEntityException
Throws:
org.ofbiz.core.entity.GenericEntityException

isConfirm

public boolean isConfirm()

setConfirm

public void setConfirm(boolean confirm)

getTargetStatusGV

public org.ofbiz.core.entity.GenericValue getTargetStatusGV()

isIssueTypeMatch

public boolean isIssueTypeMatch()
                         throws org.ofbiz.core.entity.GenericEntityException
Throws:
org.ofbiz.core.entity.GenericEntityException

isProjectMatch

public boolean isProjectMatch()
                       throws org.ofbiz.core.entity.GenericEntityException
Throws:
org.ofbiz.core.entity.GenericEntityException

isStatusMatch

public boolean isStatusMatch()


Copyright © 2002-2010 Atlassian. All Rights Reserved.