com.atlassian.jira.web.action.issue
Class ViewIssue
java.lang.Object
webwork.action.ActionSupport
com.atlassian.jira.action.JiraActionSupport
com.atlassian.jira.web.action.JiraWebActionSupport
com.atlassian.jira.web.action.ProjectActionSupport
com.atlassian.jira.web.action.IssueActionSupport
com.atlassian.jira.web.action.issue.AbstractIssueSelectAction
com.atlassian.jira.web.action.issue.AbstractViewIssue
com.atlassian.jira.web.action.issue.AbstractCommentableIssue
com.atlassian.jira.web.action.issue.AddComment
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
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(TrackbackManager trackbackManager,
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,
AggregateTimeTrackingCalculatorFactory aggregateTimeTrackingCalculatorFactory,
PagerManager pagerManager,
com.atlassian.plugin.webresource.WebResourceManager webResourceManager,
SimpleLinkManager simpleLinkManager,
TimeTrackingGraphBeanFactory timeTrackingGraphBeanFactory,
AttachmentZipKit attachmentZipKit,
NonZipExpandableExtensions nonZipExpandableExtensions,
com.atlassian.plugin.web.WebInterfaceManager webInterfaceManager,
PermissionManager permissionManager)
|
Method Summary |
boolean |
canCreateAttachments()
|
protected String |
doExecute()
|
String |
doMoveIssueLink()
|
protected void |
doValidation()
|
boolean |
enableStalkerBar()
|
String |
getActionOrder()
|
Collection |
getActions()
|
Collection<org.ofbiz.core.entity.GenericValue> |
getAffectedVersions()
|
AggregateTimeTrackingBean |
getAggregateTimeTrackingBean()
Retrieve the AggregateTimeTrackingBean for the current issue |
TimeTrackingGraphBean |
getAggregateTimeTrackingGraphBean()
|
org.ofbiz.core.entity.GenericValue |
getAssignIn()
|
String |
getAttachmentOrder()
|
String |
getAttachmentSortBy()
|
String |
getCommentBoxHTML()
|
CommentManager |
getCommentManager()
|
Collection<org.ofbiz.core.entity.GenericValue> |
getComponents()
|
Long |
getCurrentSubTaskSequence()
|
String |
getCustomFieldHtml(FieldLayoutItem fieldLayoutItem,
CustomField field,
Issue issue)
|
List<FieldScreenRenderLayoutItem> |
getDateLayoutItems()
|
String |
getDefaultPage()
|
String |
getEstimate()
|
protected FieldScreenRenderer |
getFieldScreenRenderer()
|
List<FieldScreenRenderTab> |
getFieldScreenRenderTabs()
|
VersionedAttachmentsList |
getFileAttachments()
|
Collection<org.ofbiz.core.entity.GenericValue> |
getFixVersions()
|
VersionedAttachmentsList |
getImageAttachments()
|
List<com.atlassian.plugin.web.model.WebPanel> |
getInfoWebPanels()
|
List<IssueTabPanelModuleDescriptor> |
getIssueTabPanels()
|
String |
getIssuetype()
|
Collection<IssueViewModuleDescriptor> |
getIssueViews()
|
JiraWorkflow |
getJiraWorkflow()
|
IssueSummaryLayoutBean |
getLayoutBean()
Return a layout bean specifically tailored for view issue. |
int |
getMaximumNumberOfZipEntriesToShow()
|
NextPreviousPager |
getNextPreviousPager()
|
IssueOperationsBarUtil |
getOpsBarUtil()
|
String |
getPage()
Determine which page of the ViewIssue we're on
Options are : comments - brief overview of the issue and all the comments (default) details - detailed view
of the issue |
String |
getPeopleHtml()
|
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. |
int |
getSelectedTab()
|
SearchSort |
getSorter()
|
SubTaskBean |
getSubTaskBean()
|
Collection |
getSubTaskIssueTypes()
|
SubTaskQuickCreationWebComponent |
getSubTaskQuickCreationWebComponent()
|
Long |
getSubTaskSequence()
|
String |
getSubTaskView()
|
String |
getSummaryHtml()
|
Collection |
getThumbnails()
|
String |
getTimeOriginalEstimate()
|
String |
getTimeSpent()
|
TimeTrackingGraphBean |
getTimeTrackingGraphBean()
|
Collection<com.atlassian.trackback.Trackback> |
getTrackbacks()
|
String |
getUrlForIssueView(IssueViewModuleDescriptor descriptor)
|
AttachmentZipKit.AttachmentZipEntries |
getZipEntries(Attachment attachment)
Returns a list of zip entries for the specified attachment. |
boolean |
getZipSupport()
|
boolean |
isActiveTabPanelSortable()
|
boolean |
isAllowedReorderSubTasks()
|
boolean |
isAttachable()
Determines whether the current user can attach files or delete one or more files to this issue |
boolean |
isLinkable()
|
boolean |
isShowIssueDetails(Long projectId,
org.ofbiz.core.entity.GenericValue issue)
Determine if table displaying time tracking, attachments, environment, issue linking, trackbacks is required. |
boolean |
isSubTask()
Determines whether the issue is a sub task - i.e. |
protected boolean |
isTabPanelPluginVisible()
|
boolean |
isTimeTrackingShown()
|
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 |
renderWebPanel(com.atlassian.plugin.web.model.WebPanel webPanel)
|
void |
setActionOrder(String actionOrder)
|
void |
setAttachmentOrder(String attachmentOrder)
|
void |
setAttachmentSortBy(String attachmentSortBy)
|
void |
setCurrentSubTaskSequence(Long currentSubTaskSequence)
|
void |
setIssuetype(String issuetypeId)
|
void |
setPage(String page)
|
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.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.AbstractIssueSelectAction |
cameFromIssue, cameFromParent, getId, getIssue, getIssueObject, getIssueObjectNoSecurityCheck, getIssuePath, getKey, 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.JiraWebActionSupport |
addErrorCollection, addErrorMessageByKeyIfAbsent, addErrorMessageIfAbsent, forceRedirect, getApplicationProperties, getAssignableUsers, getAssignableUsers, getComponentManager, getConglomerateCookieValue, getConstantsManager, getDateFormat, getDateTimeFormat, getDescTranslation, getExternalLinkUtils, getField, getFlushedErrorMessages, getGlobalPermissionManager, getHint, getHintManager, getJiraServiceContext, getLanguage, getLoggedInUser, getNameTranslation, getOutlookDate, getPermissionManager, getProjectManager, getPropertySet, getRandomHint, 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, 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, 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 webwork.action.CommandDriven |
getCommandName, setCommand |
ViewIssue
public ViewIssue(TrackbackManager trackbackManager,
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,
AggregateTimeTrackingCalculatorFactory aggregateTimeTrackingCalculatorFactory,
PagerManager pagerManager,
com.atlassian.plugin.webresource.WebResourceManager webResourceManager,
SimpleLinkManager simpleLinkManager,
TimeTrackingGraphBeanFactory timeTrackingGraphBeanFactory,
AttachmentZipKit attachmentZipKit,
NonZipExpandableExtensions nonZipExpandableExtensions,
com.atlassian.plugin.web.WebInterfaceManager webInterfaceManager,
PermissionManager permissionManager)
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()
isLinkable
public boolean isLinkable()
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
getPage
public String getPage()
- Determine which page of the ViewIssue we're on
Options are : comments - brief overview of the issue and all the comments (default) details - detailed view
of the issue
- Returns:
- get the issue tab panel that should be displayed.
getInfoWebPanels
public List<com.atlassian.plugin.web.model.WebPanel> getInfoWebPanels()
renderWebPanel
public String renderWebPanel(com.atlassian.plugin.web.model.WebPanel webPanel)
isTabPanelPluginVisible
protected boolean isTabPanelPluginVisible()
setPage
public void setPage(String page)
getActions
public Collection getActions()
throws Exception
- Throws:
Exception
getDefaultPage
public String getDefaultPage()
- Returns:
- the default page (as specified by the
IssueTabPanelModuleDescriptor
) - See Also:
IssueTabPanelModuleDescriptor.isDefault()
isActiveTabPanelSortable
public boolean isActiveTabPanelSortable()
getIssueTabPanels
public List<IssueTabPanelModuleDescriptor> getIssueTabPanels()
getEstimate
public String getEstimate()
throws Exception
- Throws:
Exception
getTimeOriginalEstimate
public String getTimeOriginalEstimate()
throws Exception
- Throws:
Exception
getTimeSpent
public String getTimeSpent()
throws Exception
- Throws:
Exception
getTrackbacks
public Collection<com.atlassian.trackback.Trackback> getTrackbacks()
throws org.ofbiz.core.entity.GenericEntityException
- Throws:
org.ofbiz.core.entity.GenericEntityException
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()
getSubTaskBean
public SubTaskBean getSubTaskBean()
getSorter
public SearchSort getSorter()
doMoveIssueLink
public String doMoveIssueLink()
throws Exception
- Throws:
Exception
isAllowedReorderSubTasks
public boolean isAllowedReorderSubTasks()
getSubTaskView
public String getSubTaskView()
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)
getSubTaskIssueTypes
public Collection getSubTaskIssueTypes()
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()
isShowIssueDetails
public boolean isShowIssueDetails(Long projectId,
org.ofbiz.core.entity.GenericValue issue)
throws Exception
- Determine if table displaying time tracking, attachments, environment, issue linking, trackbacks is required.
- Parameters:
projectId
- project IDissue
- issue generic value
- Returns:
- true if time tracking, attachments, issue linking, trackbacks or environment is enabled
- Throws:
Exception
- if cannot get attachments or link collection or trackbacks
isTimeTrackingShown
public boolean isTimeTrackingShown()
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)
getActionOrder
public String getActionOrder()
setActionOrder
public void setActionOrder(String actionOrder)
getFieldScreenRenderTabs
public List<FieldScreenRenderTab> getFieldScreenRenderTabs()
getDateLayoutItems
public List<FieldScreenRenderLayoutItem> getDateLayoutItems()
getFieldScreenRenderer
protected FieldScreenRenderer getFieldScreenRenderer()
getSubTaskQuickCreationWebComponent
public SubTaskQuickCreationWebComponent getSubTaskQuickCreationWebComponent()
getSelectedTab
public int getSelectedTab()
getCustomFieldHtml
public String getCustomFieldHtml(FieldLayoutItem fieldLayoutItem,
CustomField field,
Issue issue)
getRenderedContent
public String getRenderedContent(String fieldName,
String value,
Issue issue)
throws FieldLayoutStorageException
- Throws:
FieldLayoutStorageException
getRenderedContentNoBreaks
public String getRenderedContentNoBreaks(String fieldName,
String value,
Issue issue)
throws FieldLayoutStorageException
- Throws:
FieldLayoutStorageException
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.
getTimeTrackingGraphBean
public TimeTrackingGraphBean getTimeTrackingGraphBean()
throws Exception
- Throws:
Exception
getAggregateTimeTrackingGraphBean
public TimeTrackingGraphBean getAggregateTimeTrackingGraphBean()
throws Exception
- Throws:
Exception
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()
getPeopleHtml
public String getPeopleHtml()
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
.
getCommentBoxHTML
public String getCommentBoxHTML()
Copyright © 2002-2011 Atlassian. All Rights Reserved.