Class DefaultDraftService

  • All Implemented Interfaces:
    DraftService

    public class DefaultDraftService
    extends Object
    implements DraftService
    Note that this implementation of the DraftService does not perform any permission checking. This has always been the case in Confluence - if you want to change this, be aware that UI for certain operations could break (used to be necessary for copy page but this is not the case anymore - see CONFDEV-227 for details).
    • Method Detail

      • saveDraftFromEditor

        public Draft saveDraftFromEditor​(Long draftId,
                                         Long parentPageId,
                                         String title,
                                         DraftService.DraftType type,
                                         String content,
                                         Long contentId,
                                         String spaceKey,
                                         int pageVersion)
                                  throws NotValidException
        Description copied from interface: DraftService
        Create and store a draft for the current user with the supplied details.
        Specified by:
        saveDraftFromEditor in interface DraftService
        content - the editor formatted content (will be converted into storage format).
        contentId - as a String since NEW is taken to represent a new draft
        Returns:
        The Draft model object that was created and saved. The content of this draft will be in storage format
        Throws:
        NotValidException - if the data for the draft is incomplete or the content identified does not exist
      • saveDraftFromEditor

        @Deprecated
        public Draft saveDraftFromEditor​(Long draftId,
                                         String title,
                                         DraftService.DraftType type,
                                         String content,
                                         Long contentId,
                                         String spaceKey,
                                         int pageVersion)
                                  throws NotValidException
        Deprecated.
        Description copied from interface: DraftService
        Create and store a draft for the current user with the supplied details.
        Specified by:
        saveDraftFromEditor in interface DraftService
        content - the editor formatted content (will be converted into storage format).
        contentId - as a String since NEW is taken to represent a new draft
        Returns:
        The Draft model object that was created and saved. The content of this draft will be in storage format
        Throws:
        NotValidException - if the data for the draft is incomplete or the content identified does not exist
      • findDraftForEditor

        public Draft findDraftForEditor​(long contentId,
                                        DraftService.DraftType type,
                                        String spaceKey)
        Description copied from interface: DraftService
        Find and return a draft of the specified content Id and type for the current user. The draft will be returned in a format suitable for the Confluence editor
        Specified by:
        findDraftForEditor in interface DraftService
        Returns:
        the draft is found, otherwise null.
      • removeDraft

        public Long removeDraft​(long abstractPageId,
                                long draftId)
        Description copied from interface: DraftService
        Removes the draft specified by the given page id or draft id for the current user. Looks at the draftId by preference, and reverts to the abstractPageId if the draftId is 0. Throws IllegalStateException if the draftId is 0 and the abstract page cannot be found.
        Specified by:
        removeDraft in interface DraftService
        Parameters:
        abstractPageId - the id of the abstract page the draft is an edit for.
        draftId - the draft of the id to remove, this is necessary if abstractPageId = 0.
        Returns:
        the id of the removed draft or null if neither a matching page nor draft could be found.
      • removeDraft

        public Long removeDraft​(long draftId)
        Description copied from interface: DraftService
        Removes the draft with the specified ID if it is found, and returns the same ID passed.
        Specified by:
        removeDraft in interface DraftService
        Parameters:
        draftId - a draft to remove
        Returns:
        draftId removed or null.