Class NoteServiceImpl
java.lang.Object
org.exoplatform.wiki.service.impl.NoteServiceImpl
- All Implemented Interfaces:
NoteService
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNoteServiceImpl(DataStorage dataStorage, org.exoplatform.services.cache.CacheService cacheService, WikiService wikiService, org.exoplatform.social.core.manager.IdentityManager identityManager, org.exoplatform.social.core.space.spi.SpaceService spaceService) NoteServiceImpl(DataStorage dataStorage, org.exoplatform.services.cache.CacheService cacheService, WikiService wikiService, org.exoplatform.social.core.manager.IdentityManager identityManager, org.exoplatform.social.core.space.spi.SpaceService spaceService, org.exoplatform.social.common.service.HTMLUploadImageProcessor htmlUploadImageProcessor) -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcreateDraftForExistPage(DraftPage draftPage, Page targetPage, String revision, long clientTime, String username) Creates a draft for an existing pagecreateDraftForNewPage(DraftPage draftPage, long clientTime) Creates a draft for a new pagecreateNote(Wiki noteBook, String parentNoteName, Page note, org.exoplatform.services.security.Identity userIdentity) Create a new note in the given notebook, under the given parent note.createNote(Wiki noteBook, Page parentPage, Page note) Create a new note in the given notebook, under the given parent note.voidcreateVersionOfNote(Page note, String userName) Creates a version of a note.booleandeleteNote(String noteType, String noteOwner, String noteName) Deletes a note.booleandeleteNote(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity) getAllNotes(Page note, String userName) getBreadCrumb(String noteType, String noteOwner, String noteName, boolean isDraftNote) Gets a list of data which is used for composing the breadcrumb.getChildrenNoteOf(NoteToExport note, String userId) Return the list of children of the note to exportgetChildrenNoteOf(Page note, String userId, boolean withDrafts, boolean withChild) Get all the children notes of a notegetDraftNoteById(String id, String userId) Gets a draft note based on its unique id.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.getLatestDraftOfPage(Page targetPage, String username) Returns latest draft of given page.getNoteById(String id) Gets a note based on its unique id.getNoteById(String id, org.exoplatform.services.security.Identity userIdentity) getNoteById(String id, org.exoplatform.services.security.Identity userIdentity, String source) getNoteByRootPermission(String wikiType, String wikiOwner, String pageId) Gets a wiki page regardless of the current user's permission.getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName) Gets a note by its unique name in the noteBook.getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity) getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity, String source) getNoteRenderedContent(Page note) Return the content of the note to be rendredgetNotesOfWiki(String noteType, String noteOwner) Retrieve the all notes contained in noteBookgetParentNoteOf(NoteToExport note) Return the Parent of the note to exportgetParentNoteOf(Page note) Get parent note of a notegetPreviousNamesOfNote(Page note) Get previous names of a noteorg.exoplatform.services.cache.ExoCache<Integer,MarkupData> getVersionsHistoryOfNote(Page note, String userName) Gets all the Histories of the given notebooleanhasPermissionOnPage(Page page, PermissionType permissionType, org.exoplatform.services.security.Identity user) Checks if the given user has the permission on a pagevoidimportNote(Page note, Page parent, Wiki wiki, String conflict, org.exoplatform.services.security.Identity userIdentity) Recursive method to importe a notevoidimportNotes(String zipLocation, Page parent, String conflict, org.exoplatform.services.security.Identity userIdentity) importe a list of notes from zipvoidimportNotes(List<String> files, Page parent, String conflict, org.exoplatform.services.security.Identity userIdentity) importe a list of notes from zipprotected voidprotected voidinvalidateCache(Page page) protected voidinvalidateCachesOfPageTree(Page note, String userId) Invalidate all caches of a page and all its descendantsbooleanisExisting(String noteBookType, String noteBookOwner, String noteId) voidmoveNote(WikiPageParams currentLocationParams, WikiPageParams newLocationParams) Move a notebooleanmoveNote(WikiPageParams currentLocationParams, WikiPageParams newLocationParams, org.exoplatform.services.security.Identity userIdentity) Move a notevoidpostAddPage(String wikiType, String wikiOwner, String pageId, Page page) voidpostDeletePage(String wikiType, String wikiOwner, String pageId, Page page) voidpostOpenByBreadCrumb(String wikiType, String wikiOwner, String pageId, Page page) voidpostOpenByTree(String wikiType, String wikiOwner, String pageId, Page page) voidpostUpdatePage(String wikiType, String wikiOwner, String pageId, Page page, PageUpdateType wikiUpdateType) voidremoveDraft(String draftName) Removes a draft page by its name.voidremoveDraftOfNote(WikiPageParams param) booleanRenames a note.voidrestoreVersionOfNote(String versionName, Page note, String userName) Restores a version of a noteorg.exoplatform.commons.utils.PageList<SearchResult>search(WikiSearchData data) Searches in all wiki pages.updateDraftForExistPage(DraftPage draftNoteToUpdate, Page targetPage, String revision, long clientTime, String username) Update draft note for an existing pageupdateDraftForNewPage(DraftPage draftNoteToUpdate, long clientTime) Update draft note for a new pageupdateNote(Page note) Update the given note.updateNote(Page note, PageUpdateType type, org.exoplatform.services.security.Identity userIdentity) Update the given note.static File
-
Field Details
-
CACHE_NAME
- See Also:
-
ATT_CACHE_NAME
- See Also:
-
-
Constructor Details
-
NoteServiceImpl
public NoteServiceImpl(DataStorage dataStorage, org.exoplatform.services.cache.CacheService cacheService, WikiService wikiService, org.exoplatform.social.core.manager.IdentityManager identityManager, org.exoplatform.social.core.space.spi.SpaceService spaceService) -
NoteServiceImpl
public NoteServiceImpl(DataStorage dataStorage, org.exoplatform.services.cache.CacheService cacheService, WikiService wikiService, org.exoplatform.social.core.manager.IdentityManager identityManager, org.exoplatform.social.core.space.spi.SpaceService spaceService, org.exoplatform.social.common.service.HTMLUploadImageProcessor htmlUploadImageProcessor)
-
-
Method Details
-
zipFiles
- Throws:
IOException
-
getRenderingCache
-
getPageLinksMap
-
createNote
public Page createNote(Wiki noteBook, String parentNoteName, Page note, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException Description copied from interface:NoteServiceCreate a new note in the given notebook, under the given parent note.- Specified by:
createNotein interfaceNoteService- 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 occuredIllegalAccessException- if the user don't have edit rights to the parent note
-
createNote
Description copied from interface:NoteServiceCreate a new note in the given notebook, under the given parent note.- Specified by:
createNotein interfaceNoteService- Parameters:
noteBook- Notebook object.parentPage- parent note.note- the note to create.- Returns:
- The new note.
- Throws:
WikiException- if an error occured
-
updateNote
Description copied from interface:NoteServiceUpdate the given note.- Specified by:
updateNotein interfaceNoteService- Parameters:
note- Updated note- Returns:
- updated note
- Throws:
WikiException- if an error occured
-
updateNote
public Page updateNote(Page note, PageUpdateType type, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException, org.gatein.api.EntityNotFoundException Description copied from interface:NoteServiceUpdate 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, ...).- Specified by:
updateNotein interfaceNoteService- Parameters:
note- Updated notetype- Type of updateuserIdentity- user Identity- Returns:
- The updated note
- Throws:
WikiException- if an error occureIllegalAccessException- if the user don't have edit rights on the noteorg.gatein.api.EntityNotFoundException- if the the note to update don't exist
-
deleteNote
Description copied from interface:NoteServiceDeletes a note.- Specified by:
deleteNotein interfaceNoteService- Parameters:
noteType- It can be Portal, Group, or User.noteOwner- The NoteBook owner.noteName- Id of the note.- Returns:
- "True" if deleting the note is successful, or "false" if not.
- Throws:
WikiException- if an error occured
-
deleteNote
public boolean deleteNote(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException, org.gatein.api.EntityNotFoundException - Specified by:
deleteNotein interfaceNoteService- Throws:
WikiExceptionIllegalAccessExceptionorg.gatein.api.EntityNotFoundException
-
renameNote
public boolean renameNote(String noteType, String noteOwner, String noteName, String newName, String newTitle) throws WikiException Description copied from interface:NoteServiceRenames a note.- Specified by:
renameNotein interfaceNoteService- 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
public void moveNote(WikiPageParams currentLocationParams, WikiPageParams newLocationParams) throws WikiException Description copied from interface:NoteServiceMove a note- Specified by:
moveNotein interfaceNoteService- Parameters:
currentLocationParams- The current location of the note.newLocationParams- The new location of the note.- Throws:
WikiException- if an error occured
-
moveNote
public boolean moveNote(WikiPageParams currentLocationParams, WikiPageParams newLocationParams, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException, org.gatein.api.EntityNotFoundException Description copied from interface:NoteServiceMove a note- Specified by:
moveNotein interfaceNoteService- 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 occuredIllegalAccessException- if the user don't have edit rights on the noteorg.gatein.api.EntityNotFoundException- if the the note to move don't exist
-
getNoteOfNoteBookByName
public Page getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName) throws WikiException Description copied from interface:NoteServiceGets a note by its unique name in the noteBook.- Specified by:
getNoteOfNoteBookByNamein interfaceNoteService- 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
-
getNoteOfNoteBookByName
public Page getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity, String source) throws IllegalAccessException, WikiException - Specified by:
getNoteOfNoteBookByNamein interfaceNoteService- Throws:
IllegalAccessExceptionWikiException
-
getNoteOfNoteBookByName
public Page getNoteOfNoteBookByName(String noteType, String noteOwner, String noteName, org.exoplatform.services.security.Identity userIdentity) throws IllegalAccessException, WikiException - Specified by:
getNoteOfNoteBookByNamein interfaceNoteService- Throws:
IllegalAccessExceptionWikiException
-
getNoteById
Description copied from interface:NoteServiceGets a note based on its unique id.- Specified by:
getNoteByIdin interfaceNoteService- Parameters:
id- Unique id of the note.- Returns:
- The note.
- Throws:
WikiException- if an error occured
-
getDraftNoteById
public DraftPage getDraftNoteById(String id, String userId) throws WikiException, IllegalAccessException Description copied from interface:NoteServiceGets a draft note based on its unique id.- Specified by:
getDraftNoteByIdin interfaceNoteService- Parameters:
id- Unique id of the draft note.- Returns:
- The note.
- Throws:
WikiException- if an error occuredIllegalAccessException
-
getLatestDraftOfPage
Description copied from interface:NoteServiceReturns latest draft of given page.- Specified by:
getLatestDraftOfPagein interfaceNoteService- Returns:
- Throws:
WikiException
-
getNoteById
public Page getNoteById(String id, org.exoplatform.services.security.Identity userIdentity) throws IllegalAccessException, WikiException - Specified by:
getNoteByIdin interfaceNoteService- Throws:
IllegalAccessExceptionWikiException
-
getNoteById
public Page getNoteById(String id, org.exoplatform.services.security.Identity userIdentity, String source) throws IllegalAccessException, WikiException - Specified by:
getNoteByIdin interfaceNoteService- Throws:
IllegalAccessExceptionWikiException
-
getParentNoteOf
Description copied from interface:NoteServiceGet parent note of a note- Specified by:
getParentNoteOfin interfaceNoteService- Parameters:
note- note.- Returns:
- The list of children notes
- Throws:
WikiException- if an error occured
-
getParentNoteOf
Description copied from interface:NoteServiceReturn the Parent of the note to export- Specified by:
getParentNoteOfin interfaceNoteService- Parameters:
note- The Note to export- Returns:
- the parent of the note to export
- Throws:
WikiException
-
getChildrenNoteOf
public List<Page> getChildrenNoteOf(Page note, String userId, boolean withDrafts, boolean withChild) throws WikiException Description copied from interface:NoteServiceGet all the children notes of a note- Specified by:
getChildrenNoteOfin interfaceNoteService- Parameters:
note- note.withDrafts- if set to true returns the children notes and draft notes- Returns:
- The list of children notes
- Throws:
WikiException- if an error occured
-
getChildrenNoteOf
Description copied from interface:NoteServiceReturn the list of children of the note to export- Specified by:
getChildrenNoteOfin interfaceNoteService- Parameters:
note- The Note to exportuserId- the current user Id- Returns:
- the list of children of the note to export
- Throws:
WikiException
-
getBreadCrumb
public List<BreadcrumbData> getBreadCrumb(String noteType, String noteOwner, String noteName, boolean isDraftNote) throws WikiException Description copied from interface:NoteServiceGets a list of data which is used for composing the breadcrumb.- Specified by:
getBreadCrumbin interfaceNoteService- Parameters:
noteType- It can be Portal, Group, or User.noteOwner- The owner.noteName- Id of the note to which the breadcrumb points.- Returns:
- The list of data.
- Throws:
WikiException- if an error occured
-
getDuplicateNotes
public List<Page> getDuplicateNotes(Page parentNote, Wiki targetNoteBook, List<Page> resultList, String userId) throws WikiException Description copied from interface:NoteServiceChecks 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.- Specified by:
getDuplicateNotesin interfaceNoteService- Parameters:
parentNote- The note to check.targetNoteBook- The target NoteBook to check.resultList- The list of duplicated notes.- Returns:
- The list of duplicated notes.
- Throws:
WikiException- if an error occured
-
removeDraftOfNote
- Specified by:
removeDraftOfNotein interfaceNoteService- Throws:
WikiException
-
removeDraft
Description copied from interface:NoteServiceRemoves a draft page by its name.- Specified by:
removeDraftin interfaceNoteService- Parameters:
draftName- Name of the draft page.- Throws:
WikiException- if an error occured
-
getVersionsHistoryOfNote
Description copied from interface:NoteServiceGets all the Histories of the given note- Specified by:
getVersionsHistoryOfNotein interfaceNoteService- Parameters:
note- The noteuserName- the author name- Returns:
- All the histories of the note
- Throws:
WikiException- if an error occured
-
createVersionOfNote
Description copied from interface:NoteServiceCreates a version of a note. This method only tag the current note data as a new version, it does not update the note data- Specified by:
createVersionOfNotein interfaceNoteService- Parameters:
note- The noteuserName- the author name- Throws:
WikiException- if an error occured
-
restoreVersionOfNote
public void restoreVersionOfNote(String versionName, Page note, String userName) throws WikiException Description copied from interface:NoteServiceRestores a version of a note- Specified by:
restoreVersionOfNotein interfaceNoteService- Parameters:
versionName- The name of the version to restorenote- The noteuserName- the other name- Throws:
WikiException- if an error occured
-
getPreviousNamesOfNote
Description copied from interface:NoteServiceGet previous names of a note- Specified by:
getPreviousNamesOfNotein interfaceNoteService- Parameters:
note- The note- Returns:
- List of all the previous names of the note
- Throws:
WikiException- if an error occured
-
getNotesOfWiki
Description copied from interface:NoteServiceRetrieve the all notes contained in noteBook- Specified by:
getNotesOfWikiin interfaceNoteService- Parameters:
noteType- the notebook Type It can be Portal, Group, or User.noteOwner- the notebook owner- Returns:
- List of pages
-
isExisting
public boolean isExisting(String noteBookType, String noteBookOwner, String noteId) throws WikiException - Specified by:
isExistingin interfaceNoteService- Throws:
WikiException
-
updateDraftForExistPage
public DraftPage updateDraftForExistPage(DraftPage draftNoteToUpdate, Page targetPage, String revision, long clientTime, String username) throws WikiException Description copied from interface:NoteServiceUpdate draft note for an existing page- Specified by:
updateDraftForExistPagein interfaceNoteService- Parameters:
draftNoteToUpdate- The draft note to be updatedtargetPage- The target note of the draftrevision- The revision which is used for creating the draft page. If "null", this will be the last revision.username- The author name- Returns:
- Updated draft
- Throws:
WikiException
-
updateDraftForNewPage
public DraftPage updateDraftForNewPage(DraftPage draftNoteToUpdate, long clientTime) throws WikiException Description copied from interface:NoteServiceUpdate draft note for a new page- Specified by:
updateDraftForNewPagein interfaceNoteService- Parameters:
draftNoteToUpdate- the draft note to be updated- Returns:
- Updated draft
- Throws:
WikiException
-
createDraftForExistPage
public DraftPage createDraftForExistPage(DraftPage draftPage, Page targetPage, String revision, long clientTime, String username) throws WikiException Description copied from interface:NoteServiceCreates a draft for an existing page- Specified by:
createDraftForExistPagein interfaceNoteService- Parameters:
draftPage- The draft note to be createdtargetPage- The target note of the draftrevision- The revision which is used for creating the draft page. If "null", this will be the last revision.username- The author name- Returns:
- Created draft
- Throws:
WikiException
-
createDraftForNewPage
Description copied from interface:NoteServiceCreates a draft for a new page- Specified by:
createDraftForNewPagein interfaceNoteService- Parameters:
draftPage- The draft note to be created- Returns:
- Created draft
- Throws:
WikiException
-
invalidateCache
-
invalidateCachesOfPageTree
Invalidate all caches of a page and all its descendants- Parameters:
note- root pageuserId-- Throws:
WikiException- if an error occured
-
invalidateAttachmentCache
-
postUpdatePage
public void postUpdatePage(String wikiType, String wikiOwner, String pageId, Page page, PageUpdateType wikiUpdateType) throws WikiException - Throws:
WikiException
-
postAddPage
public void postAddPage(String wikiType, String wikiOwner, String pageId, Page page) throws WikiException - Throws:
WikiException
-
postDeletePage
public void postDeletePage(String wikiType, String wikiOwner, String pageId, Page page) throws WikiException - Throws:
WikiException
-
postOpenByTree
public void postOpenByTree(String wikiType, String wikiOwner, String pageId, Page page) throws WikiException - Throws:
WikiException
-
postOpenByBreadCrumb
public void postOpenByBreadCrumb(String wikiType, String wikiOwner, String pageId, Page page) throws WikiException - Throws:
WikiException
-
hasPermissionOnPage
public boolean hasPermissionOnPage(Page page, PermissionType permissionType, org.exoplatform.services.security.Identity user) throws WikiException Description copied from interface:NoteServiceChecks if the given user has the permission on a page- Specified by:
hasPermissionOnPagein interfaceNoteService- Parameters:
page- the wiki page objectpermissionType- permission Typeuser- the userName- Returns:
- true if user has permissions
- Throws:
WikiException- if an error occured
-
getNoteByRootPermission
public Page getNoteByRootPermission(String wikiType, String wikiOwner, String pageId) throws WikiException Description copied from interface:NoteServiceGets a wiki page regardless of the current user's permission.- Specified by:
getNoteByRootPermissionin interfaceNoteService- Parameters:
wikiType- It can be Portal, Group, or User.wikiOwner- The Wiki owner.pageId- Id of the wiki page.- Returns:
- The wiki page.
- Throws:
WikiException- if an error occured if an error occured
-
getNoteRenderedContent
Description copied from interface:NoteServiceReturn the content of the note to be rendred- Specified by:
getNoteRenderedContentin interfaceNoteService- Parameters:
note- The Note- Returns:
- Content to be rendred
-
importNotes
public void importNotes(String zipLocation, Page parent, String conflict, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException, IOException importe a list of notes from zip- Specified by:
importNotesin interfaceNoteService- Parameters:
zipLocation- the path to the zip fileparent- parent note where note will be importedconflict- import mode if there in conflicts it can be : overwrite, duplicate, update or nothinguserIdentity- Identity of the user that execute the import- Throws:
WikiExceptionIllegalAccessException- if the user don't have edit rights on the noteIOException- if can't read zip file
-
importNotes
public void importNotes(List<String> files, Page parent, String conflict, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException, IOException importe a list of notes from zip- Specified by:
importNotesin interfaceNoteService- Parameters:
files- List of filesparent- parent note where note will be importedconflict- import mode if there in conflicts it can be : overwrite, duplicate, update or nothinguserIdentity- Identity of the user that execute the import- Throws:
WikiExceptionIllegalAccessException- if the user don't have edit rights on the noteIOException- if can't read files
-
importNote
public void importNote(Page note, Page parent, Wiki wiki, String conflict, org.exoplatform.services.security.Identity userIdentity) throws WikiException, IllegalAccessException Recursive method to importe a note- Parameters:
note- note to importparent- parent note where note will be importedwiki- the Notebook where note will be importedconflict- import mode if there in conflicts it can be : overwrite, duplicate, update or nothinguserIdentity- Identity of the user that execute the import- Throws:
WikiExceptionIllegalAccessException
-
search
public org.exoplatform.commons.utils.PageList<SearchResult> search(WikiSearchData data) throws WikiException Description copied from interface:NoteServiceSearches in all wiki pages.- Specified by:
searchin interfaceNoteService- Parameters:
data- The data to search.- Returns:
- Search results.
- Throws:
WikiException- if an error occured if an error occured
-
cleanUp
- Throws:
IOException
-
getAllNotes
- Throws:
WikiException
-