Package com.atlassian.confluence.pages
Class DefaultDraftsTransitionHelper
- java.lang.Object
-
- com.atlassian.confluence.pages.DefaultDraftsTransitionHelper
-
- All Implemented Interfaces:
DraftsTransitionHelper
@Internal public class DefaultDraftsTransitionHelper extends Object implements DraftsTransitionHelper
Class intended to help during the transition period from legacy drafts to shared drafts.- See Also:
ContentEntityObject.DRAFT,Draft
-
-
Constructor Summary
Constructors Constructor Description DefaultDraftsTransitionHelper(PageManagerInternal pageManager, DraftManager draftManager, ContentEntityManager contentEntityManager, AttachmentManager attachmentManager, ContentPermissionManager contentPermissionManager, ContentPropertyManager contentPropertyManager, LabelManager labelManager, CollaborativeEditingHelper collaborativeEditingHelper)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ContentEntityObjectcreateDraft(String contentType, String spaceKey)This method should attempt to create a draft based on whether or not the Shared Drafts Dark Feature is enabled or disabled.ContentEntityObjectcreateDraft(String contentType, String spaceKey, long parentPageId)This method should attempt to create a draft based on whether or not the Shared Drafts Dark Feature is enabled or disabled.ContentEntityObjectgetDraft(long draftId)This method should attempt to retrieve a draft, and based on whether or not the Shared Draft dark feature is enabled (determined by the isSharedDraftsFeatureEnabled method) or disabled should return a Shared Draft or Legacy Draft respectively.ContentEntityObjectgetDraftForPage(AbstractPage abstractPage)This method should retrieve a draft from a given AbstractPage respecting the Shared Drafts feature state.StringgetEditMode(String spaceKey)This method is used to determine what's the current edit mode regarding collaborative editing (legacy, limited or collaborative), the method is provided a spaceKey and returns the current edit mode for that space.booleanisFallbackModeEnabled(String spaceKey)Deprecated.booleanisLimitedModeEnabled(String spaceKey)Deprecated.booleanisSharedDraftsFeatureEnabled(String spaceKey)This method is used to determine whether or not the Shared Drafts Dark Feature is enabled or disabled on a per space basis, the method is provided a spaceKey and returns whether or not the feature is enabled.voidtransitionContentObjects(ContentEntityObject from, ContentEntityObject to)Transitions content objects such as attachments, content properties, labels and permissions from one content object to another.
-
-
-
Constructor Detail
-
DefaultDraftsTransitionHelper
public DefaultDraftsTransitionHelper(PageManagerInternal pageManager, DraftManager draftManager, ContentEntityManager contentEntityManager, AttachmentManager attachmentManager, ContentPermissionManager contentPermissionManager, ContentPropertyManager contentPropertyManager, LabelManager labelManager, CollaborativeEditingHelper collaborativeEditingHelper)
-
-
Method Detail
-
getDraftForPage
public ContentEntityObject getDraftForPage(AbstractPage abstractPage)
Description copied from interface:DraftsTransitionHelperThis method should retrieve a draft from a given AbstractPage respecting the Shared Drafts feature state.- Specified by:
getDraftForPagein interfaceDraftsTransitionHelper- Parameters:
abstractPage- the page we want the draft for (for legacy drafts, we get the current users per-page draft).- Returns:
- a ContentEntityObject of the draft for the given AbstractPage.
-
createDraft
public ContentEntityObject createDraft(String contentType, String spaceKey)
Description copied from interface:DraftsTransitionHelperThis method should attempt to create a draft based on whether or not the Shared Drafts Dark Feature is enabled or disabled.- Specified by:
createDraftin interfaceDraftsTransitionHelper- Parameters:
contentType- specifies the type of Draft, either "blogpost" or "page" as of 5.9.1.spaceKey- is used to specify the key of the Space the draft will belong to.- Returns:
- a ContentEntityObject of the newly created draft.
-
createDraft
public ContentEntityObject createDraft(String contentType, String spaceKey, long parentPageId)
Description copied from interface:DraftsTransitionHelperThis method should attempt to create a draft based on whether or not the Shared Drafts Dark Feature is enabled or disabled. The draft will be created as a child of the provided parent page.- Specified by:
createDraftin interfaceDraftsTransitionHelper- Parameters:
contentType- specifies the type of Draft, either "blogpost" or "page" as of 5.9.1.spaceKey- is used to specify the key of the Space the draft will belong to.parentPageId- is the parent ID of the draft.- Returns:
- a ContentEntityObject of the newly created draft.
-
getDraft
public ContentEntityObject getDraft(long draftId)
Description copied from interface:DraftsTransitionHelperThis method should attempt to retrieve a draft, and based on whether or not the Shared Draft dark feature is enabled (determined by the isSharedDraftsFeatureEnabled method) or disabled should return a Shared Draft or Legacy Draft respectively.There is no need to provide a spaceKey because the spaceKey of the draft (if found) will be used in the Shared Draft dark feature check
- Specified by:
getDraftin interfaceDraftsTransitionHelper- Parameters:
draftId- specifies the ID of the draft to be retrieved.- Returns:
- a ContentEntityObject of that draft.
-
transitionContentObjects
public void transitionContentObjects(ContentEntityObject from, ContentEntityObject to)
Description copied from interface:DraftsTransitionHelperTransitions content objects such as attachments, content properties, labels and permissions from one content object to another. Attachments are moved, everything else is copied.- Specified by:
transitionContentObjectsin interfaceDraftsTransitionHelper
-
getEditMode
public String getEditMode(String spaceKey)
Description copied from interface:DraftsTransitionHelperThis method is used to determine what's the current edit mode regarding collaborative editing (legacy, limited or collaborative), the method is provided a spaceKey and returns the current edit mode for that space.- Specified by:
getEditModein interfaceDraftsTransitionHelper- Parameters:
spaceKey- is used to specify the key of the Space we want to check.- Returns:
- edit mode: legacy, limited or collaborative.
-
isSharedDraftsFeatureEnabled
public boolean isSharedDraftsFeatureEnabled(String spaceKey)
Description copied from interface:DraftsTransitionHelperThis method is used to determine whether or not the Shared Drafts Dark Feature is enabled or disabled on a per space basis, the method is provided a spaceKey and returns whether or not the feature is enabled.- Specified by:
isSharedDraftsFeatureEnabledin interfaceDraftsTransitionHelper- Parameters:
spaceKey- is used to specify the key of the Space we want to check.- Returns:
- true if the Shared Drafts feature is enabled in the specified space.
-
isLimitedModeEnabled
@Deprecated public boolean isLimitedModeEnabled(String spaceKey)
Deprecated.Description copied from interface:DraftsTransitionHelperThis method is used to determine whether or not the instance is in limited mode. Limited mode is defined as:- shared-drafts dark feature is ENABLED
- synchrony dark feature is DISABLED
- Specified by:
isLimitedModeEnabledin interfaceDraftsTransitionHelper- Returns:
- true if limited mode is on, false otherwise (since 7.5.0 this method always returns
false)
-
isFallbackModeEnabled
@Deprecated public boolean isFallbackModeEnabled(String spaceKey)
Deprecated.- Specified by:
isFallbackModeEnabledin interfaceDraftsTransitionHelper
-
-