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

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.AddComment
                                      extended by com.atlassian.jira.web.action.issue.ViewIssue
All Implemented Interfaces:
OperationContext, ErrorCollection, I18nHelper, IssueSummaryAware, AuthorizationSupport, Serializable, webwork.action.Action, webwork.action.CommandDriven, webwork.action.IllegalArgumentAware

public class ViewIssue
extends AddComment
implements OperationContext

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.util.ErrorCollection
ErrorCollection.Reason
 
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.AbstractIssueSelectAction
id, ISSUE_PERMISSION_ERROR, PREPOPULATED_ISSUE_OBJECT
 
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
ViewIssue(ThumbnailManager thumbnailManager, SubTaskManager subTaskManager, IssueLinkManager issueLinkManager, com.atlassian.plugin.PluginAccessor pluginAccessor, FieldManager fieldManager, FieldScreenRendererFactory fieldScreenRendererFactory, FieldLayoutManager fieldLayoutManager, RendererManager rendererManager, CommentManager commentManager, ProjectRoleManager projectRoleManager, CommentService commentService, AttachmentManager attachmentManager, AttachmentService attachmentService, PagerManager pagerManager, com.atlassian.plugin.webresource.WebResourceManager webResourceManager, SimpleLinkManager simpleLinkManager, AttachmentZipKit attachmentZipKit, NonZipExpandableExtensions nonZipExpandableExtensions, com.atlassian.plugin.web.WebInterfaceManager webInterfaceManager, PermissionManager permissionManager, ModuleWebComponent moduleWebComponent, AggregateTimeTrackingCalculatorFactory aggregateTimeTrackingCalculatorFactory)
           
 
Method Summary
 boolean areAttachmentsEmpty()
           
 boolean canCreateAttachments()
           
protected  String doExecute()
           
 String doMoveIssueLink()
           
protected  void doValidation()
           
 boolean enableStalkerBar()
           
 Collection<org.ofbiz.core.entity.GenericValue> getAffectedVersions()
           
 AggregateTimeTrackingBean getAggregateTimeTrackingBean()
          Retrieve the AggregateTimeTrackingBean for the current issue
 org.ofbiz.core.entity.GenericValue getAssignIn()
           
 String getAttachmentOrder()
           
 String getAttachmentSortBy()
           
 CommentManager getCommentManager()
           
 Collection<org.ofbiz.core.entity.GenericValue> getComponents()
           
 Long getCurrentSubTaskSequence()
           
 String getCustomFieldHtml(FieldLayoutItem fieldLayoutItem, CustomField field, Issue issue)
           
protected  FieldScreenRenderer getFieldScreenRenderer()
           
 List<FieldScreenRenderTab> getFieldScreenRenderTabs()
           
 VersionedAttachmentsList getFileAttachments()
           
 Collection<org.ofbiz.core.entity.GenericValue> getFixVersions()
           
 VersionedAttachmentsList getImageAttachments()
           
 List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getInfoWebPanels()
           
 String getIssuetype()
           
 Collection<IssueViewModuleDescriptor> getIssueViews()
           
 JiraWorkflow getJiraWorkflow()
           
 IssueSummaryLayoutBean getLayoutBean()
          Return a layout bean specifically tailored for view issue.
 List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getLeftWebPanels()
           
 int getMaximumNumberOfZipEntriesToShow()
           
 NextPreviousPager getNextPreviousPager()
           
 IssueOperationsBarUtil getOpsBarUtil()
           
 String getRenderedContent(String fieldName, String value, Issue issue)
           
 String getRenderedContentNoBreaks(String fieldName, String value, Issue issue)
           
 String getRenderedEnvironmentFieldValue()
          Gets the HTML that shows the environment field.
 List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getRightWebPanels()
           
 int getSelectedTab()
           
 SearchSort getSorter()
           
 Long getSubTaskSequence()
           
 String getSummaryHtml()
           
 Collection getThumbnails()
           
 String getUrlForIssueView(IssueViewModuleDescriptor descriptor)
           
 Map<String,Object> getWebPanelContext()
           
 AttachmentZipKit.AttachmentZipEntries getZipEntries(Attachment attachment)
          Returns a list of zip entries for the specified attachment.
 boolean getZipSupport()
           
 boolean isAllowedReorderSubTasks()
           
 boolean isAttachable()
          Determines whether the current user can attach files or delete one or more files to this issue
 boolean isSubTask()
          Determines whether the issue is a sub task - i.e.
 boolean isToolkitAvailable()
           
 Boolean isViewIssue()
          Return Boolean.TRUE if this is the ViewIssue page (so the UI can customise itself).
 boolean isWorkable()
          Determines whether the current user can work on this issue
 boolean isWorkflowAllowsEdit()
           
 String renderHeadlessPanel(com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor panel)
           
 String renderPanels(List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> panels)
           
 void setAttachmentOrder(String attachmentOrder)
           
 void setAttachmentSortBy(String attachmentSortBy)
           
 void setCurrentSubTaskSequence(Long currentSubTaskSequence)
           
 void setIssuetype(String issuetypeId)
           
 void setSubTaskSequence(Long subTaskSequence)
           
 void setSubTaskView(String subTaskView)
           
 boolean shouldExpandAsZip(Attachment attachment)
          Determines whether the specified attachment should be expanded as a zip file.
 boolean showEdit()
           
 boolean showLogin()
           
 boolean showOpsBar()
           
 
Methods inherited from class com.atlassian.jira.web.action.issue.AddComment
doDefault, getDisplayParams, isAbleToComment
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractCommentableIssue
createComment, doCommentValidation, getComment, getCommentLevel, 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, getPossibleComponents, getPossibleVersions, getPossibleVersionsReleasedFirst
 
Methods inherited from class com.atlassian.jira.web.action.issue.AbstractIssueSelectAction
addErrorMessage, assertIssueIsValid, cameFromIssue, cameFromParent, getId, getIssue, getIssueObject, getIssueObjectNoSecurityCheck, getIssueObjectWithoutDatabaseRead, getIssuePath, getKey, getParentIssueObject, getProject, getSecurityLevel, getSubTaskManager, getSummaryIssue, getViewIssueKey, getViewUrl, isEditable, isEditable, isHasEditIssuePermission, isIssueExists, isIssueValid, isSubTaskCreatable, isWorkflowAllowsEdit, redirectToView, refreshIssueObject, setId, setIssueObject, setKey, setViewIssueKey
 
Methods inherited from class com.atlassian.jira.web.action.IssueActionSupport
addIssueToHistory, 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, 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
addError, addErrorCollection, addErrorMessage, addErrorMessageByKeyIfAbsent, addErrorMessageIfAbsent, addReason, addReasons, forceRedirect, getAdministratorContactLink, getApplicationProperties, getAssignableUsers, getAssignableUsers, getComponentManager, getConglomerateCookieValue, getConstantsManager, getDateFormat, getDateTimeFormat, getDateTimeFormatter, getDescTranslation, getDmyDateFormatter, getExternalLinkUtils, getField, getFlushedErrorMessages, getGlobalPermissionManager, getHint, getHintManager, getJiraContactHelper, getJiraServiceContext, getLanguage, getLoggedInUser, getNameTranslation, getOutlookDate, getPermissionManager, getProjectManager, getPropertySet, getRandomHint, getReasons, getRedirect, getRedirectChecker, getRemoteUser, getReturnUrl, getReturnUrlForCancelLink, getSearchSortDescriptions, getSelectedProject, getSelectedProjectObject, getServerId, getTimeFormat, getUriValidator, getUserFullName, getUserProjectHistoryManager, getVersionManager, getWebworkStack, getWebworkStack, getXsrfToken, hasErrorMessage, hasErrorMessageByKey, htmlEncode, insertContextPath, isHasIssuePermission, isHasIssuePermission, isHasPermission, isHasPermission, isHasPermission, isHasProjectPermission, isHasProjectPermission, isInlineDialogMode, isSystemAdministrator, isUserExists, returnComplete, returnComplete, returnCompleteWithInlineRedirect, setConglomerateCookieValue, setInline, setReasons, setReturnUrl, setSelectedProjectId
 
Methods inherited from class com.atlassian.jira.action.JiraActionSupport
addErrorMessages, addErrorMessages, addErrors, addIllegalArgumentException, execute, getActionName, getComponentInstanceOfType, getDefaultResourceBundle, getDelegator, getI18nHelper, getKeysForPrefix, getLocale, getResult, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getUnescapedText, getUserPreferences, getWatcherManager, hasAnyErrors, isIndexing, removeKeyOrAddError
 
Methods inherited from class webwork.action.ActionSupport
addError, 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, addErrorMessages, addErrors, getErrorMessages, getErrors, hasAnyErrors, setErrorMessages
 
Methods inherited from interface webwork.action.CommandDriven
getCommandName, setCommand
 

Constructor Detail

ViewIssue

public ViewIssue(ThumbnailManager thumbnailManager,
                 SubTaskManager subTaskManager,
                 IssueLinkManager issueLinkManager,
                 com.atlassian.plugin.PluginAccessor pluginAccessor,
                 FieldManager fieldManager,
                 FieldScreenRendererFactory fieldScreenRendererFactory,
                 FieldLayoutManager fieldLayoutManager,
                 RendererManager rendererManager,
                 CommentManager commentManager,
                 ProjectRoleManager projectRoleManager,
                 CommentService commentService,
                 AttachmentManager attachmentManager,
                 AttachmentService attachmentService,
                 PagerManager pagerManager,
                 com.atlassian.plugin.webresource.WebResourceManager webResourceManager,
                 SimpleLinkManager simpleLinkManager,
                 AttachmentZipKit attachmentZipKit,
                 NonZipExpandableExtensions nonZipExpandableExtensions,
                 com.atlassian.plugin.web.WebInterfaceManager webInterfaceManager,
                 PermissionManager permissionManager,
                 ModuleWebComponent moduleWebComponent,
                 AggregateTimeTrackingCalculatorFactory aggregateTimeTrackingCalculatorFactory)
Method Detail

doValidation

protected void doValidation()
Overrides:
doValidation in class AddComment

doExecute

protected String doExecute()
                    throws Exception
Overrides:
doExecute in class AddComment
Throws:
Exception

getNextPreviousPager

public NextPreviousPager getNextPreviousPager()

getCommentManager

public CommentManager getCommentManager()

getComponents

public Collection<org.ofbiz.core.entity.GenericValue> getComponents()
                                                             throws Exception
Throws:
Exception

getAffectedVersions

public Collection<org.ofbiz.core.entity.GenericValue> getAffectedVersions()
                                                                   throws Exception
Throws:
Exception

getFixVersions

public Collection<org.ofbiz.core.entity.GenericValue> getFixVersions()
                                                              throws Exception
Throws:
Exception

isWorkable

public boolean isWorkable()
Determines whether the current user can work on this issue

Returns:
true if the current user can work on this issue, false otherwise

isWorkflowAllowsEdit

public boolean isWorkflowAllowsEdit()

isAttachable

public boolean isAttachable()
Determines whether the current user can attach files or delete one or more files to this issue

Returns:
true if the current user can attach files or delete one or more files on this issue, false otherwise

canCreateAttachments

public boolean canCreateAttachments()

isViewIssue

public Boolean isViewIssue()
Return Boolean.TRUE if this is the ViewIssue page (so the UI can customise itself).

Any subclass should probably return FALSE.

Returns:
Boolean.TRUE

getInfoWebPanels

public List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getInfoWebPanels()

getRightWebPanels

public List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getRightWebPanels()

getLeftWebPanels

public List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> getLeftWebPanels()

getWebPanelContext

public Map<String,Object> getWebPanelContext()

renderPanels

public String renderPanels(List<com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor> panels)

renderHeadlessPanel

public String renderHeadlessPanel(com.atlassian.plugin.web.descriptors.WebPanelModuleDescriptor panel)

getThumbnails

public Collection getThumbnails()
                         throws Exception
Throws:
Exception

getFileAttachments

public VersionedAttachmentsList getFileAttachments()
                                            throws Exception
Throws:
Exception

getImageAttachments

public VersionedAttachmentsList getImageAttachments()
                                             throws Exception
Throws:
Exception

isToolkitAvailable

public boolean isToolkitAvailable()

getSorter

public SearchSort getSorter()

doMoveIssueLink

public String doMoveIssueLink()
                       throws Exception
Throws:
Exception

isAllowedReorderSubTasks

public boolean isAllowedReorderSubTasks()

setSubTaskView

public void setSubTaskView(String subTaskView)

getCurrentSubTaskSequence

public Long getCurrentSubTaskSequence()

setCurrentSubTaskSequence

public void setCurrentSubTaskSequence(Long currentSubTaskSequence)

getSubTaskSequence

public Long getSubTaskSequence()

setSubTaskSequence

public void setSubTaskSequence(Long subTaskSequence)

getAssignIn

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

getJiraWorkflow

public JiraWorkflow getJiraWorkflow()
                             throws WorkflowException
Throws:
WorkflowException

setIssuetype

public void setIssuetype(String issuetypeId)

getIssuetype

public String getIssuetype()

areAttachmentsEmpty

public boolean areAttachmentsEmpty()
                            throws Exception
Throws:
Exception

isSubTask

public boolean isSubTask()
Description copied from class: AbstractIssueSelectAction
Determines whether the issue is a sub task - i.e. if it has any incoming sub-task issue links

Overrides:
isSubTask in class AbstractIssueSelectAction
Returns:
whether the issue is a sub task.

getAttachmentSortBy

public String getAttachmentSortBy()

setAttachmentSortBy

public void setAttachmentSortBy(String attachmentSortBy)

getAttachmentOrder

public String getAttachmentOrder()

setAttachmentOrder

public void setAttachmentOrder(String attachmentOrder)

getFieldScreenRenderTabs

public List<FieldScreenRenderTab> getFieldScreenRenderTabs()

getFieldScreenRenderer

protected FieldScreenRenderer getFieldScreenRenderer()

getSelectedTab

public int getSelectedTab()

getCustomFieldHtml

public String getCustomFieldHtml(FieldLayoutItem fieldLayoutItem,
                                 CustomField field,
                                 Issue issue)

getRenderedContent

public String getRenderedContent(String fieldName,
                                 String value,
                                 Issue issue)

getRenderedContentNoBreaks

public String getRenderedContentNoBreaks(String fieldName,
                                         String value,
                                         Issue issue)

getLayoutBean

public IssueSummaryLayoutBean getLayoutBean()
Return a layout bean specifically tailored for view issue.

Specified by:
getLayoutBean in interface IssueSummaryAware
Overrides:
getLayoutBean in class AbstractIssueSelectAction

getRenderedEnvironmentFieldValue

public String getRenderedEnvironmentFieldValue()
Gets the HTML that shows the environment field. This includes divs and a javascript enabled hide/show toggle button.

Returns:
the HTML that shows the environment field.

getAggregateTimeTrackingBean

public AggregateTimeTrackingBean getAggregateTimeTrackingBean()
Retrieve the AggregateTimeTrackingBean for the current issue

Returns:
The AggregateTimeTrackingBean for this issue

enableStalkerBar

public boolean enableStalkerBar()

showOpsBar

public boolean showOpsBar()

showEdit

public boolean showEdit()

showLogin

public boolean showLogin()

getOpsBarUtil

public IssueOperationsBarUtil getOpsBarUtil()

getSummaryHtml

public String getSummaryHtml()

getIssueViews

public Collection<IssueViewModuleDescriptor> getIssueViews()

getUrlForIssueView

public String getUrlForIssueView(IssueViewModuleDescriptor descriptor)

getZipSupport

public boolean getZipSupport()

shouldExpandAsZip

public boolean shouldExpandAsZip(Attachment attachment)
Determines whether the specified attachment should be expanded as a zip file. Files are expanded if zip support is on, the file extension is not one of the extensions specified by NonZipExpandableExtensions and if the file represents a valid zip file.

Parameters:
attachment - The attachment in play.
Returns:
true if the the specified attachment should be expanded as a zip file; otherwise, false is returned.

getMaximumNumberOfZipEntriesToShow

public int getMaximumNumberOfZipEntriesToShow()

getZipEntries

public AttachmentZipKit.AttachmentZipEntries getZipEntries(Attachment attachment)

Returns a list of zip entries for the specified attachment. The number of entries returned is limited to the value of MAX_ZIP_ENTRIES.

It is assumed that this attachment represents a valid zip file. In order to find this out, use shouldExpandAsZip(com.atlassian.jira.issue.attachment.Attachment).

Parameters:
attachment - The attachment in play.
Returns:
A List of AttachmentZipKit.AttachmentZipEntry for the specified attachment. Limited to APKeys.JIRA_ATTACHMENT_NUMBER_OF_ZIP_ENTRIES_TO_SHOW.


Copyright © 2002-2011 Atlassian. All Rights Reserved.