Interface NoteService

  • All Known Implementing Classes:
    NoteServiceImpl

    public interface NoteService
    Provides functions for processing database with notes, including: adding, editing, removing and searching for data.
    • Method Detail

      • createNote

        Page createNote​(Wiki noteBook,
                        Page parentNote,
                        Page note)
                 throws WikiException
        Create a new note in the given notebook, under the given parent note.
        Parameters:
        noteBook - Notebook object.
        parentNote - parent note.
        note - the note to create.
        Returns:
        The new note.
        Throws:
        WikiException - if an error occured
      • createNote

        Page createNote​(Wiki noteBook,
                        String parentNoteName,
                        Page note,
                        org.exoplatform.services.security.Identity userIdentity)
                 throws WikiException,
                        IllegalAccessException
        Create a new note in the given notebook, under the given parent note.
        Parameters:
        noteBook - Notebook object.
        parentNoteName - parent note name.
        note - the note object to create.
        userIdentity - user Identity.
        Returns:
        The new note.
        Throws:
        WikiException - if an error occured
        IllegalAccessException - if the user don't have edit rights to the parent note
      • deleteNote

        boolean deleteNote​(String noteType,
                           String noteOwner,
                           String noteId)
                    throws WikiException
        Deletes a note.
        Parameters:
        noteType - It can be Portal, Group, or User.
        noteOwner - The NoteBook owner.
        noteId - Id of the note.
        Returns:
        "True" if deleting the note is successful, or "false" if not.
        Throws:
        WikiException - if an error occured
      • renameNote

        boolean renameNote​(String noteType,
                           String noteOwner,
                           String noteName,
                           String newName,
                           String newTitle)
                    throws WikiException
        Renames a note.
        Parameters:
        noteType - It can be Portal, Group, or User.
        noteOwner - The NoteBook owner.
        noteName - Old name of the note.
        newName - New name of the note.
        newTitle - New title of the note.
        Returns:
        "True" if renaming the note is successful, or "false" if not.
        Throws:
        WikiException - if an error occured
      • moveNote

        void moveNote​(WikiPageParams currentLocationParams,
                      WikiPageParams newLocationParams)
               throws WikiException
        Move a note
        Parameters:
        currentLocationParams - The current location of the note.
        newLocationParams - The new location of the note.
        Throws:
        WikiException - if an error occured
      • moveNote

        boolean moveNote​(WikiPageParams currentLocationParams,
                         WikiPageParams newLocationParams,
                         org.exoplatform.services.security.Identity userIdentity)
                  throws WikiException,
                         IllegalAccessException,
                         org.gatein.api.EntityNotFoundException
        Move a note
        Parameters:
        currentLocationParams - The current location of the note.
        newLocationParams - The new location of the note.
        userIdentity - The user Identity to check permissions.
        Returns:
        "True" if moving the note is successful, or "false" if not.
        Throws:
        WikiException - if an error occured
        IllegalAccessException - if the user don't have edit rights on the note
        org.gatein.api.EntityNotFoundException - if the the note to move don't exist
      • getNoteOfNoteBookByName

        Page getNoteOfNoteBookByName​(String noteType,
                                     String noteOwner,
                                     String noteName)
                              throws WikiException
        Gets a note by its unique name in the noteBook.
        Parameters:
        noteType - It can be Portal, Group, or User.
        noteOwner - The NoteBook owner.
        noteName - Id of the note.
        Returns:
        The note if the current user has the read permission. Otherwise, it is "null".
        Throws:
        WikiException - if an error occured
      • getNoteById

        Page getNoteById​(String id)
                  throws WikiException
        Gets a note based on its unique id.
        Parameters:
        id - Unique id of the note.
        Returns:
        The note.
        Throws:
        WikiException - if an error occured
      • getParentNoteOf

        Page getParentNoteOf​(Page note)
                      throws WikiException
        Get parent note of a note
        Parameters:
        note - note.
        Returns:
        The list of children notes
        Throws:
        WikiException - if an error occured
      • getChildrenNoteOf

        List<Page> getChildrenNoteOf​(Page note,
                                     String userId,
                                     boolean withDrafts,
                                     boolean withChild)
                              throws WikiException
        Get all the children notes of a note
        Parameters:
        note - note.
        userId -
        withDrafts - if set to true returns the children notes and draft notes
        Returns:
        The list of children notes
        Throws:
        WikiException - if an error occured
      • getBreadCrumb

        List<BreadcrumbData> getBreadCrumb​(String noteType,
                                           String noteOwner,
                                           String noteId,
                                           boolean isDraftNote)
                                    throws WikiException
        Gets a list of data which is used for composing the breadcrumb.
        Parameters:
        noteType - It can be Portal, Group, or User.
        noteOwner - The owner.
        noteId - Id of the note to which the breadcrumb points.
        isDraftNote -
        Returns:
        The list of data.
        Throws:
        WikiException - if an error occured
      • getDuplicateNotes

        List<Page> getDuplicateNotes​(Page parentNote,
                                     Wiki targetNoteBook,
                                     List<Page> resultList,
                                     String userId)
                              throws WikiException
        Checks if a note and its children are duplicated with ones in the target NoteBook or not, then gets a list of duplicated notes if any.
        Parameters:
        parentNote - The note to check.
        targetNoteBook - The target NoteBook to check.
        resultList - The list of duplicated notes.
        userId -
        Returns:
        The list of duplicated notes.
        Throws:
        WikiException - if an error occured
      • removeDraft

        void removeDraft​(String draftName)
                  throws WikiException
        Removes a draft page by its name.
        Parameters:
        draftName - Name of the draft page.
        Throws:
        WikiException - if an error occured
      • getVersionsHistoryOfNote

        List<PageHistory> getVersionsHistoryOfNote​(Page note,
                                                   String userName)
                                            throws WikiException
        Gets all the Histories of the given note
        Parameters:
        note - The note
        userName - the author name
        Returns:
        All the histories of the note
        Throws:
        WikiException - if an error occured
      • createVersionOfNote

        void createVersionOfNote​(Page note,
                                 String userName)
                          throws WikiException
        Creates a version of a note. This method only tag the current note data as a new version, it does not update the note data
        Parameters:
        note - The note
        userName - the author name
        Throws:
        WikiException - if an error occured
      • restoreVersionOfNote

        void restoreVersionOfNote​(String versionName,
                                  Page note,
                                  String userName)
                           throws WikiException
        Restores a version of a note
        Parameters:
        versionName - The name of the version to restore
        note - The note
        userName - the other name
        Throws:
        WikiException - if an error occured
      • updateNote

        Page updateNote​(Page note)
                 throws WikiException
        Update the given note.
        Parameters:
        note - Updated note
        Returns:
        updated note
        Throws:
        WikiException - if an error occured
      • updateNote

        Page updateNote​(Page note,
                        PageUpdateType type,
                        org.exoplatform.services.security.Identity userIdentity)
                 throws WikiException,
                        IllegalAccessException,
                        org.gatein.api.EntityNotFoundException
        Update the given note. This does not automatically create a new version. If a new version must be created it should be explicitly done by calling createVersionOfNote(). The second parameter is the type of update done (title only, content only, both, move, ...).
        Parameters:
        note - Updated note
        type - Type of update
        userIdentity - user Identity
        Returns:
        The updated note
        Throws:
        WikiException - if an error occure
        IllegalAccessException - if the user don't have edit rights on the note
        org.gatein.api.EntityNotFoundException - if the the note to update don't exist
      • getPreviousNamesOfNote

        List<String> getPreviousNamesOfNote​(Page note)
                                     throws WikiException
        Get previous names of a note
        Parameters:
        note - The note
        Returns:
        List of all the previous names of the note
        Throws:
        WikiException - if an error occured
      • getNotesOfWiki

        List<Page> getNotesOfWiki​(String noteType,
                                  String noteOwner)
        Retrieve the all notes contained in noteBook
        Parameters:
        noteType - the notebook Type It can be Portal, Group, or User.
        noteOwner - the notebook owner
        Returns:
        List of pages
      • updateDraftForExistPage

        DraftPage updateDraftForExistPage​(DraftPage draftNoteToUpdate,
                                          Page targetNote,
                                          String revision,
                                          long currentTimeMillis,
                                          String userName)
                                   throws WikiException
        Update draft note for an existing page
        Parameters:
        draftNoteToUpdate - The draft note to be updated
        targetNote - The target note of the draft
        revision - The revision which is used for creating the draft page. If "null", this will be the last revision.
        currentTimeMillis -
        userName - The author name
        Returns:
        Updated draft
        Throws:
        WikiException
      • updateDraftForNewPage

        DraftPage updateDraftForNewPage​(DraftPage draftNoteToUpdate,
                                        long currentTimeMillis)
                                 throws WikiException
        Update draft note for a new page
        Parameters:
        draftNoteToUpdate - the draft note to be updated
        currentTimeMillis -
        Returns:
        Updated draft
        Throws:
        WikiException
      • createDraftForExistPage

        DraftPage createDraftForExistPage​(DraftPage draftNoteToSave,
                                          Page targetNote,
                                          String revision,
                                          long currentTimeMillis,
                                          String username)
                                   throws WikiException
        Creates a draft for an existing page
        Parameters:
        draftNoteToSave - The draft note to be created
        targetNote - The target note of the draft
        revision - The revision which is used for creating the draft page. If "null", this will be the last revision.
        currentTimeMillis -
        username - The author name
        Returns:
        Created draft
        Throws:
        WikiException
      • createDraftForNewPage

        DraftPage createDraftForNewPage​(DraftPage draftNoteToSave,
                                        long currentTimeMillis)
                                 throws WikiException
        Creates a draft for a new page
        Parameters:
        draftNoteToSave - The draft note to be created
        currentTimeMillis -
        Returns:
        Created draft
        Throws:
        WikiException
      • getNotesToExport

        List<NoteToExport> getNotesToExport​(String[] notesToExportIds,
                                            boolean exportAll,
                                            org.exoplatform.services.security.Identity identity)