Class AbstractCreatePageAction
- java.lang.Object
-
- com.opensymphony.xwork2.ActionSupport
-
- com.atlassian.confluence.core.ConfluenceActionSupport
-
- com.atlassian.confluence.pages.actions.AbstractPageAwareAction
-
- com.atlassian.confluence.pages.actions.AbstractPageAction
-
- com.atlassian.confluence.pages.actions.AbstractPreviewPageAction
-
- com.atlassian.confluence.pages.actions.AbstractTemplatePageAction
-
- com.atlassian.confluence.pages.actions.AbstractCreateAndEditPageAction
-
- com.atlassian.confluence.pages.actions.AbstractCreatePageAction
-
- All Implemented Interfaces:
Beanable,PageAware,TinyUrlAware,WebInterface,CaptchaAware,Spaced,BreadcrumbAware,MessageHolderAware,com.opensymphony.xwork2.Action,com.opensymphony.xwork2.interceptor.ValidationAware,com.opensymphony.xwork2.LocaleProvider,com.opensymphony.xwork2.TextProvider,com.opensymphony.xwork2.Validateable,Serializable
- Direct Known Subclasses:
CreateBlogPostAction,CreatePageAction
public abstract class AbstractCreatePageAction extends AbstractCreateAndEditPageAction implements Spaced, BreadcrumbAware
Functions shared between creating pages and blog posts.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected AttachmentManagerattachmentManagerprotected BreadcrumbGeneratorbreadcrumbGeneratorprotected StringParsingContextProvidercontextProviderstatic StringINPUT_VARIABLESprotected StringoriginalReferrerTo get back to the correct place if creation gets cancelled.protected Spacespaceprotected ThemeManagerthemeManager-
Fields inherited from class com.atlassian.confluence.pages.actions.AbstractCreateAndEditPageAction
ACTIVITY_UNAVAILABLE, captchaManager, collaborativeEditingHelper, draftManager, draftService, draftsTransitionHelper, heartbeatManager, LOCKED, movePageCommandHelper, newSpaceKey, notificationManager, pageService, parentPage, parentPageId, parentPageSpaceKey, parentPageString, parentPageTitle, targetId, USER_LIMIT_REACHED
-
Fields inherited from class com.atlassian.confluence.pages.actions.AbstractTemplatePageAction
pageTemplateManager, templateId
-
Fields inherited from class com.atlassian.confluence.pages.actions.AbstractPreviewPageAction
back, bean, formatConverter, inPreview, preview, storageFormat, wikiStyleRenderer, wysiwygContent
-
Fields inherited from class com.atlassian.confluence.pages.actions.AbstractPageAction
incomingLinks, linkManager, pageManager, PREVIEW, RICHTEXT, viewRenderer, wysiwygConverter
-
Fields inherited from class com.atlassian.confluence.pages.actions.AbstractPageAwareAction
contentPermissionManager, spaceManager
-
Fields inherited from class com.atlassian.confluence.core.ConfluenceActionSupport
accessModeService, CANCEL, DEVMODE, eventManager, i18NBeanFactory, labelManager, languageManager, LICENSE_EXPIRED, LICENSE_USERS_EXCEEDED, messageHolder, permissionManager, permitted, personService, pluginAccessor, settingsManager, spacePermissionManager, userAccessor, webInterfaceManager
-
-
Constructor Summary
Constructors Constructor Description AbstractCreatePageAction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringafterAdd()Common processing to be performed by all subclasses after the add operation.protected voidassignParentPage(ContentEntityObject page, Page parentPage)protected voidassignSpace(ContentEntityObject draft, Space space)protected StringbeforeAdd()Common processing to be performed by all subclasses prior to performing the add.voidcreatePage()Create the CEO to be saved from the data supplied to the action.StringdoAdd()StringdoDefault()Convenient Action execution method which defaults to returning INPUTContentEntityObjectgetAttachmentSourceContent()Returns theConfluenceEntityObjectthat contains attachments relevant to the current action.BreadcrumbgetBreadcrumb()Returns the breadcrumb to be shown when the action is accessed.StringgetCancelRedirectUrl()StringgetCancelResult()protected abstract CommandActionHelpergetCommandActionHelper()protected BreadcrumbgetContentBreadcrumb()StringgetContentType()Returns the content type being created or edited.protected abstract AbstractPagegetCreatedAbstractPage()PagegetFromPage()longgetFromPageId()Hack to grab the fromPageId in the AbstractCreatePageAction.SpacegetNewSpace()StringgetOriginalReferrer()protected abstract AbstractPagegetPageToCreate()StringgetQueryString()SpacegetSpace()StringgetSpaceKey()booleanhasSetPagePermissionsPermission()protected abstract voidinitialiseProvider(AbstractPage abstractPage)booleanisPageRequired()If the action requires that the page be set before being run, then it should return true to this method.protected voidpopulateContextProvider()voidsetAttachmentManager(AttachmentManager attachmentManager)voidsetBreadcrumbGenerator(BreadcrumbGenerator breadcrumbGenerator)voidsetFromPage(Page fromPage)voidsetFromPageId(long fromPageId)voidsetOriginalReferrer(String originalReferrer)voidsetQueryString(String queryString)voidsetSpaceKey(String spaceKey)voidsetThemeManager(ThemeManager themeManager)voidsetTitleWritten(String titleWritten)protected voidtransferDraftAttachments()-
Methods inherited from class com.atlassian.confluence.pages.actions.AbstractCreateAndEditPageAction
createDraft, getCaptchaManager, getCollaborativeEditingHelper, getConfluenceRevision, getContentDraft, getContentObject, getCurrentEditPermission, getCurrentViewPermission, getDraft, getDraftAsCEO, getDraftId, getDraftShareId, getEntityId, getExistingDraft, getExistingDraftId, getLabels, getLabelsString, getMovePageCommand, getNewSpaceKey, getNotificationManager, getParentPage, getParentPageId, getParentPageSpaceKey, getParentPageString, getParentPageTitle, getPermissionTypes, getPosition, getSynchronyRevisionSource, getSyncRev, getTargetId, getTitle, getViewInheritedContentPermissionSets, getWebInterfaceContext, hasDraftPermission, isCollaborativeContent, isNewAbstractPage, isRestricted, isShowDraftMessage, isUseDraft, setCaptchaManager, setCollaborativeEditingHelper, setDraftId, setDraftManager, setDraftService, setDraftShareId, setDraftsTransitionHelper, setHeartbeatManager, setLabelsString, setLabelsString, setMovePageCommandHelper, setNewSpaceKey, setNotificationManager, setPageService, setParentPageId, setParentPageSpaceKey, setParentPageString, setParentPageTitle, setPermissions, setPosition, setShowDraftMessage, setSpaceService, setSyncRev, setTargetId, setTitle, setUseDraft, startHeartbeatOnDoDefault, validate, validateDuplicatePageTitle
-
Methods inherited from class com.atlassian.confluence.pages.actions.AbstractTemplatePageAction
getGlobalPageTemplates, getPageTemplate, getSpacePageTemplates, getTemplateId, isPageTemplatesAvailable, loadTemplates, setPageTemplateManager, setTemplateId
-
Methods inherited from class com.atlassian.confluence.pages.actions.AbstractPreviewPageAction
getBean, getContentForSaving, getConversionContext, getEditorFormattedContent, getInPreview, getRenderContext, getStorageFormat, getWysiwygContent, getxHtmlContent, setBack, setFormatConverter, setInPreview, setPreview, setWikiStyleRenderer, setWysiwygContent, updateXHtmlContent
-
Methods inherited from class com.atlassian.confluence.pages.actions.AbstractPageAction
displayDatePath, getAvailableSpaces, getBeanKey, getBlogPost, getEditorVersion, getHelper, getIncomingLinks, getMode, getNextPost, getNumberOfAttachmentsAsString, getNumberOfLabelsAsString, getPermittedChildren, getPostingDate, getPostingDay, getPostingTime, getPreviousPost, getPreviousVersion, getSpaceManager, getSuggestedLabels, getTinyUrl, hasAttachFilePermissions, hasPermittedChildren, isSpaceAdmin, isSuperUser, isUserWatchingOwnContent, setConfluenceWysiwygConverter, setEditorManager, setLinkManager, setMode, setPageManager, setPostingDate, setPostingTime, setViewRenderer
-
Methods inherited from class com.atlassian.confluence.pages.actions.AbstractPageAwareAction
getCustomPageUrl, getFriendlyDateFormatterHelper, getPage, getPageId, getPageUrl, isLatestVersionRequired, isPermitted, isViewPermissionRequired, setContentPermissionManager, setPage, setSpaceManager
-
Methods inherited from class com.atlassian.confluence.core.ConfluenceActionSupport
addActionError, addActionMessage, addFieldError, addPermissionTypeTo, addToHistory, formatFriendlyDate, getAccessMode, getActionName, getActionName, getAuthenticatedUser, getBootstrapManager, getBootstrapStatusProvider, getCancel, getConfluenceAccessManager, getContentUiSupport, getContext, getCurrentRequest, getCurrentSession, getDateFormatSetting, getDateFormatter, getDefaultResourceBundle, getDefaultTimeZone, getDocBean, getDocLink, getEventManager, getFriendlyDateFormatter, getFrontendServiceURL, getGlobalSettings, getI18n, getInstalledLanguages, getLabelManager, getLanguageJs, getLanguageManager, getLanguageUserFriendly, getLocale, getLocaleManager, getLocaleString, getMessageHolder, getNiceContentType, getPermissionManager, getPermittedEntitiesOf, getPermittedEntitiesOf, getPermittedEntitiesOf, getPersonService, getPreviousLoginDate, getRemoteUser, getSession, getSystemInformationService, getText, getText, getText, getText, getText, getText, getText, getText, getTextStatic, getTextStatic, getTextStrict, getTimeZone, getUserAccessor, getUserByName, getUserFullName, getUserHasBrowseUsersPermission, getUserHasLicensedAccess, getUserInterfaceState, getUserLocaleDefaultDatePattern, getUserProfilePicUrl, getWebInterfaceManager, hasPermissionForSpace, isAnonymousUser, isCanceled, isDevMode, isEmailVisible, isExternalUserManagementEnabled, isLabelable, isPrintableVersion, isSkipAccessCheck, isUserStatusPluginEnabled, isUsingH2, isUsingHSQL, setAccessModeService, setApiDateFormatService, setApiPersonService, setBootstrapManager, setCancel, setConfluenceAccessManager, setContentUiSupport, setEventManager, setFormatSettingsManager, setI18NBean, setI18NBeanFactory, setLabelManager, setLanguageManager, setLocaleManager, setLoginManager, setMessageHolder, setPermissionManager, setPluginAccessor, setPreviousLoginDate, setServletRequestSupplier, setSettingsManager, setSkipAccessCheck, setSpacePermissionManager, setSystemInformationService, setTimeZoneManager, setUserAccessor, setWebInterfaceManager, withServletRequestSupplier
-
Methods inherited from class com.opensymphony.xwork2.ActionSupport
addActionError, addActionMessage, addFieldError, clearActionErrors, clearErrors, clearErrorsAndMessages, clearFieldErrors, clearMessages, clone, execute, getActionErrors, getActionMessages, getContainer, getFieldErrors, getFormatted, getLocaleProvider, getText, getText, getTextProvider, getTexts, getTexts, hasActionErrors, hasActionMessages, hasErrors, hasFieldErrors, hasKey, input, isValidLocale, isValidLocaleString, pause, setActionErrors, setActionMessages, setContainer, setFieldErrors
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.security.CaptchaAware
mustValidateCaptcha
-
Methods inherited from interface com.opensymphony.xwork2.LocaleProvider
isValidLocale, isValidLocaleString
-
Methods inherited from interface com.atlassian.confluence.pages.actions.PageAware
isEditPermissionRequired
-
-
-
-
Field Detail
-
INPUT_VARIABLES
public static final String INPUT_VARIABLES
- See Also:
- Constant Field Values
-
space
protected Space space
-
attachmentManager
protected AttachmentManager attachmentManager
-
themeManager
protected ThemeManager themeManager
-
breadcrumbGenerator
protected BreadcrumbGenerator breadcrumbGenerator
-
contextProvider
protected final StringParsingContextProvider contextProvider
-
originalReferrer
protected String originalReferrer
To get back to the correct place if creation gets cancelled. Specially important for integrations like Service Desk
-
-
Method Detail
-
setSpaceKey
public void setSpaceKey(String spaceKey)
-
getSpaceKey
public String getSpaceKey()
- Overrides:
getSpaceKeyin classAbstractPageAwareAction
-
getSpace
public Space getSpace()
- Specified by:
getSpacein interfaceSpaced- Overrides:
getSpacein classAbstractPageAwareAction
-
getNewSpace
public Space getNewSpace()
- Returns:
- the space referenced by the newSpaceKey property, or null if there is none or it cannot be found.
-
doDefault
public String doDefault() throws Exception
Description copied from class:ConfluenceActionSupportConvenient Action execution method which defaults to returning INPUT- Overrides:
doDefaultin classAbstractCreateAndEditPageAction- Throws:
Exception
-
beforeAdd
protected String beforeAdd() throws Exception
Common processing to be performed by all subclasses prior to performing the add.- Returns:
Action.SUCCESSif successful. Any other return value means the add operation should not proceed.- Throws:
Exception
-
populateContextProvider
protected void populateContextProvider()
-
assignSpace
protected void assignSpace(ContentEntityObject draft, Space space)
-
assignParentPage
protected void assignParentPage(ContentEntityObject page, Page parentPage)
-
getCreatedAbstractPage
protected abstract AbstractPage getCreatedAbstractPage()
-
getCommandActionHelper
protected abstract CommandActionHelper getCommandActionHelper()
-
initialiseProvider
protected abstract void initialiseProvider(AbstractPage abstractPage)
-
afterAdd
protected String afterAdd()
Common processing to be performed by all subclasses after the add operation.- Returns:
Action.SUCCESSif successful. Any other return value means a failure.
-
transferDraftAttachments
protected void transferDraftAttachments()
-
createPage
public void createPage() throws XhtmlException, IOExceptionCreate the CEO to be saved from the data supplied to the action.- Throws:
IOExceptionXhtmlException
-
getPageToCreate
protected abstract AbstractPage getPageToCreate()
-
isPageRequired
public boolean isPageRequired()
Description copied from interface:PageAwareIf the action requires that the page be set before being run, then it should return true to this method. If the action requires a page, but no page is available, then the interceptor will automatically redirect to the 'pagenotfound' result- Specified by:
isPageRequiredin interfacePageAware- Overrides:
isPageRequiredin classAbstractPageAwareAction- Returns:
- true if the action requires a page in order to execute
-
setFromPageId
public void setFromPageId(long fromPageId)
-
getFromPageId
public long getFromPageId()
Description copied from class:AbstractCreateAndEditPageActionHack to grab the fromPageId in the AbstractCreatePageAction. This is required so that we can create shared drafts with the correct parent page. This method is overridden in AbstractCreatePageAction which is the only place where fromPageId should be defined.- Overrides:
getFromPageIdin classAbstractCreateAndEditPageAction- Returns:
- The page referenced by the fromPageId provided in the action call
-
getFromPage
public Page getFromPage()
-
setFromPage
public void setFromPage(Page fromPage)
-
getAttachmentSourceContent
public ContentEntityObject getAttachmentSourceContent()
Description copied from class:AbstractPageActionReturns theConfluenceEntityObjectthat contains attachments relevant to the current action. E.g.:- The
AbstractPagebeing viewed or edited. - The
Draftof theAbstractPagebeing created - The
AbstractPageto which theCommentbeing created/edited belongs
- Overrides:
getAttachmentSourceContentin classAbstractPageAction
- The
-
getCancelRedirectUrl
public String getCancelRedirectUrl()
-
getContentType
public String getContentType()
Description copied from class:AbstractCreateAndEditPageActionReturns the content type being created or edited. e.g. "page", "blogpost"- Specified by:
getContentTypein classAbstractCreateAndEditPageAction
-
hasSetPagePermissionsPermission
public boolean hasSetPagePermissionsPermission()
- Overrides:
hasSetPagePermissionsPermissionin classAbstractCreateAndEditPageAction
-
setTitleWritten
public void setTitleWritten(String titleWritten)
-
setAttachmentManager
public void setAttachmentManager(AttachmentManager attachmentManager)
-
setThemeManager
public void setThemeManager(ThemeManager themeManager)
-
getCancelResult
public String getCancelResult()
- Overrides:
getCancelResultin classAbstractCreateAndEditPageAction
-
setBreadcrumbGenerator
public void setBreadcrumbGenerator(BreadcrumbGenerator breadcrumbGenerator)
-
getBreadcrumb
public Breadcrumb getBreadcrumb()
Description copied from interface:BreadcrumbAwareReturns the breadcrumb to be shown when the action is accessed.- Specified by:
getBreadcrumbin interfaceBreadcrumbAware- Returns:
- Breadcrumb
-
getContentBreadcrumb
protected Breadcrumb getContentBreadcrumb()
-
setQueryString
public void setQueryString(String queryString)
-
getQueryString
public String getQueryString()
-
getOriginalReferrer
public String getOriginalReferrer()
-
setOriginalReferrer
public void setOriginalReferrer(String originalReferrer)
-
-