com.atlassian.confluence.spaces
Class DefaultSpaceManager

java.lang.Object
  extended by com.atlassian.confluence.spaces.DefaultSpaceManager
All Implemented Interfaces:
SpaceManagerInternal, SpaceManager

public class DefaultSpaceManager
extends java.lang.Object
implements SpaceManagerInternal


Field Summary
 
Fields inherited from interface com.atlassian.confluence.spaces.SpaceManager
GLOBAL_LOGO
 
Constructor Summary
DefaultSpaceManager()
           
 
Method Summary
 void archiveSpace(Space space)
          Archive the space.
 Space createPersonalSpace(java.lang.String name, java.lang.String description, com.atlassian.user.User owner)
          Creates a personal space.
 Space createPrivatePersonalSpace(java.lang.String name, java.lang.String description, com.atlassian.user.User owner)
          Create a personal Space for which only the creator has any permissions
 Space createPrivateSpace(java.lang.String key, java.lang.String name, java.lang.String description, com.atlassian.user.User creator)
          Creates a Space for which only the creator has any permissions
 Space createSpace(Space space)
          Deprecated. since 4.3. Use {#link #createSpace(String key, String name, String description, User creator)} instead
 Space createSpace(java.lang.String key, java.lang.String name, java.lang.String description, com.atlassian.user.User creator)
           
 void ensureSpaceDescriptionExists(Space space)
          If the given Space does not have a description, creates one for it, and saves it.
 long findPageTotal(Space space)
          Get the number of pages in a space.
 java.util.Collection<java.lang.String> getAllSpaceKeys(SpaceStatus status)
          Get the space keys of all spaces with the given status.
 java.util.List<Space> getAllSpaces()
          Finds all spaces in Confluence, of any type, sorted alphabetically by space name.
 java.util.List<Space> getAllSpaces(SpacesQuery query)
          Get a list of spaces specified by the SpacesQuery.
 AttachmentManager getAttachmentManager()
          Deprecated. since 4.2.13. Get AttachmentManager injected directly to your objects instead.
 java.util.List getAuthoredSpacesByUser(java.lang.String username)
           
 SpaceLogo getLogoForGlobalcontext()
           
 SpaceLogo getLogoForSpace(java.lang.String spaceKey)
           
 int getNumberOfBlogPosts(Space space)
          Get the number of blog posts in a space.
 int getNumberOfMail(Space space)
          Get the number of archived emails in a space.
 Space getPersonalSpace(ConfluenceUser user)
          Get the personal space of the given user.
 Space getPersonalSpace(java.lang.String username)
          Get the personal space for the user with the given username
 Space getPersonalSpace(com.atlassian.user.User user)
          Get the personal space of the given user.
 java.lang.String getPersonalSpaceKey(java.lang.String username)
           
 SettingsManager getSettingsManager()
          Deprecated. since 4.2.13. Get SettingsManager injected directly to your objects instead.
 Space getSpace(long id)
          Retrieve a space by its ID.
 Space getSpace(java.lang.String exactKey)
          Retrieve a space by its key.
 java.util.List<com.atlassian.user.User> getSpaceAdmins(Space space)
          Returns a list of administrators for a given space, sorted by full name
 java.util.List<com.atlassian.user.User> getSpaceAdmins(Space space, int limit)
          Returns a list of administrators for a given space, sorted by full name, up to the size limit
 java.lang.String getSpaceFromPageId(long pageId)
          Get the key for a space from its pageId in a single db call
 ListBuilder<Space> getSpaces(SpacesQuery query)
          Get a list of spaces specified by the SpacesQuery limited by the offset and maxResults.
 PageResponse<Space> getSpaces(SpacesQuery query, LimitedRequest limitedRequest, com.google.common.base.Predicate<? super Space>... filter)
          get a paginated list of spaces that match the spaceQuery, filtered by the given predicate
 java.util.List getSpacesContainingCommentsBy(java.lang.String username)
           
 java.util.List getSpacesContainingPagesEditedBy(java.lang.String username)
          Returns Pages that are either created or edited by the specified user
 java.util.List<Space> getSpacesCreatedAfter(java.util.Date creationDate)
           
 java.lang.Boolean removeSpace(Space space)
          Removes a space with a given spaceKey (case sensitive).
 java.lang.Boolean removeSpace(java.lang.String spaceKey, com.atlassian.core.util.ProgressMeter progressMeter)
          Removes a space with a given spaceKey (case sensitive).
 void removeSpacesInGroup(SpaceGroup spaceGroup)
           
 void saveSpace(Space space)
           
 void saveSpace(Space space, Space originalSpace)
           
 void setAttachmentManager(AttachmentManager attachmentManager)
           
 void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
           
 void setGroupManager(com.atlassian.user.GroupManager groupManager)
           
 void setI18NBeanFactory(I18NBeanFactory i18NBeanFactory)
           
 void setIndexer(ConfluenceIndexer indexer)
           
 void setIndexManager(ConfluenceIndexManager indexManager)
           
 void setLabelManager(LabelManager labelManager)
           
 void setNotificationManager(NotificationManager notificationManager)
           
 void setSettingsManager(SettingsManager settingsManager)
           
 void setSpaceDao(SpaceDao spaceDao)
           
 void setSpaceDescriptionManager(SpaceDescriptionManager spaceDescriptionManager)
           
 void setSpacePermissionManager(SpacePermissionManager spacePermissionManager)
           
 void setUserAccessor(UserAccessor userAccessor)
           
 void unarchiveSpace(Space space)
          Un-archive the space.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultSpaceManager

public DefaultSpaceManager()
Method Detail

setSpaceDao

public void setSpaceDao(SpaceDao spaceDao)

setSpaceDescriptionManager

public void setSpaceDescriptionManager(SpaceDescriptionManager spaceDescriptionManager)

setSpacePermissionManager

public void setSpacePermissionManager(SpacePermissionManager spacePermissionManager)

getSpace

public Space getSpace(long id)
Description copied from interface: SpaceManager
Retrieve a space by its ID. The space can be of any type.

Specified by:
getSpace in interface SpaceManager
Parameters:
id - the ID of the space
Returns:
the space, or null if no space exists with that id.

getSpace

public Space getSpace(java.lang.String exactKey)
Description copied from interface: SpaceManager
Retrieve a space by its key. The space can be of any type.

Specified by:
getSpace in interface SpaceManager
Parameters:
exactKey - the space key of the space to retrieve
Returns:
the space, or null if no space exists with that key

setIndexer

public void setIndexer(ConfluenceIndexer indexer)

setUserAccessor

public void setUserAccessor(UserAccessor userAccessor)

setGroupManager

public void setGroupManager(com.atlassian.user.GroupManager groupManager)

removeSpace

public java.lang.Boolean removeSpace(Space space)
Description copied from interface: SpaceManager
Removes a space with a given spaceKey (case sensitive).

Delegates to SpaceManager.removeSpace(String, com.atlassian.core.util.ProgressMeter).

Specified by:
removeSpace in interface SpaceManager
Parameters:
space - the key of the space to remove
Returns:
true if the space was successfully removed.

removeSpace

public java.lang.Boolean removeSpace(java.lang.String spaceKey,
                                     com.atlassian.core.util.ProgressMeter progressMeter)
Description copied from interface: SpaceManager
Removes a space with a given spaceKey (case sensitive). This must be passed a progress monitor which will be updated with internationalised status while the space is being removed. Ideally this should be done from a long running task, since it can be very slow and it clears the current Hibernate session.

Specified by:
removeSpace in interface SpaceManager
Parameters:
spaceKey - the key of the space to remove
progressMeter - will be updated with status messages and percentage completed. Not Null.
Returns:
true if the space was successfully removed.

removeSpacesInGroup

public void removeSpacesInGroup(SpaceGroup spaceGroup)
Specified by:
removeSpacesInGroup in interface SpaceManager

saveSpace

public void saveSpace(Space space)
Specified by:
saveSpace in interface SpaceManager

saveSpace

public void saveSpace(Space space,
                      Space originalSpace)
Specified by:
saveSpace in interface SpaceManager

getAllSpaces

public java.util.List<Space> getAllSpaces()
Description copied from interface: SpaceManager
Finds all spaces in Confluence, of any type, sorted alphabetically by space name.

Specified by:
getAllSpaces in interface SpaceManager
Returns:
List of spaces

getAuthoredSpacesByUser

public java.util.List getAuthoredSpacesByUser(java.lang.String username)
Specified by:
getAuthoredSpacesByUser in interface SpaceManager

getSpacesContainingPagesEditedBy

public java.util.List getSpacesContainingPagesEditedBy(java.lang.String username)
Description copied from interface: SpaceManager
Returns Pages that are either created or edited by the specified user

Specified by:
getSpacesContainingPagesEditedBy in interface SpaceManager
Parameters:
username - a username
Returns:
Pages that are either created or edited by the specified user

getSpacesContainingCommentsBy

public java.util.List getSpacesContainingCommentsBy(java.lang.String username)
Specified by:
getSpacesContainingCommentsBy in interface SpaceManager

createSpace

public Space createSpace(java.lang.String key,
                         java.lang.String name,
                         java.lang.String description,
                         com.atlassian.user.User creator)
Specified by:
createSpace in interface SpaceManager

createPrivateSpace

public Space createPrivateSpace(java.lang.String key,
                                java.lang.String name,
                                java.lang.String description,
                                com.atlassian.user.User creator)
Description copied from interface: SpaceManager
Creates a Space for which only the creator has any permissions

Specified by:
createPrivateSpace in interface SpaceManager
Returns:

createPersonalSpace

public Space createPersonalSpace(java.lang.String name,
                                 java.lang.String description,
                                 com.atlassian.user.User owner)
Description copied from interface: SpaceManager
Creates a personal space. The difference to a normal space are that this space will have a type "personal" and the user passed to this space should not be the creator, but is the owner of the space.

Specified by:
createPersonalSpace in interface SpaceManager
Returns:
the created space

createPrivatePersonalSpace

public Space createPrivatePersonalSpace(java.lang.String name,
                                        java.lang.String description,
                                        com.atlassian.user.User owner)
Description copied from interface: SpaceManager
Create a personal Space for which only the creator has any permissions

Specified by:
createPrivatePersonalSpace in interface SpaceManager
Returns:

createSpace

@Deprecated
public Space createSpace(Space space)
Deprecated. since 4.3. Use {#link #createSpace(String key, String name, String description, User creator)} instead

Specified by:
createSpace in interface SpaceManager
Parameters:
space - the space to create
Returns:
the newly created space

getPersonalSpaceKey

public java.lang.String getPersonalSpaceKey(java.lang.String username)
Specified by:
getPersonalSpaceKey in interface SpaceManager
Returns:

getPersonalSpace

public Space getPersonalSpace(java.lang.String username)
Description copied from interface: SpaceManager
Get the personal space for the user with the given username

Specified by:
getPersonalSpace in interface SpaceManager
Parameters:
username - the username of the user to get the personal space of
Returns:
the personal space for that user, or null if the user has no personal space

getPersonalSpace

public Space getPersonalSpace(com.atlassian.user.User user)
Description copied from interface: SpaceManager
Get the personal space of the given user. This method may be more convenient than SpaceManager.getPersonalSpace(String), as it behaves gracefully when the user is anonymous (i.e. null). Where the user is not null, this method is the equivalent of getPersonalSpace(user.getName()).

Specified by:
getPersonalSpace in interface SpaceManager
Parameters:
user - the user to get the space for. If user is null, the method will return null
Returns:
the personal space of the user if one exists, otherwise null.

getPersonalSpace

public Space getPersonalSpace(ConfluenceUser user)
Description copied from interface: SpaceManager
Get the personal space of the given user.

Specified by:
getPersonalSpace in interface SpaceManager
Parameters:
user - the user to get the space for. If user is null, the method will return null
Returns:
the personal space of the user if one exists, otherwise null.

findPageTotal

public long findPageTotal(Space space)
Description copied from interface: SpaceManager
Get the number of pages in a space. This counts all pages, including non-current versions, and including pages that are in the trash. As such, it probably doesn't do what you think it does.

Specified by:
findPageTotal in interface SpaceManager
Parameters:
space - the space to count pages in
Returns:
the number of pages in that space

setEventPublisher

public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)

getNumberOfBlogPosts

public int getNumberOfBlogPosts(Space space)
Description copied from interface: SpaceManager
Get the number of blog posts in a space. This counts all news, including non-current versions, and including news that is in the trash. As such, it probably doesn't do what you think it does.

Specified by:
getNumberOfBlogPosts in interface SpaceManager
Parameters:
space - the space to count pages in
Returns:
the number of blog posts (news items) in that space

getNumberOfMail

public int getNumberOfMail(Space space)
Description copied from interface: SpaceManager
Get the number of archived emails in a space. This counts all mail, including mail that is in the trash. As such, it probably doesn't do what you think it does.

Specified by:
getNumberOfMail in interface SpaceManager
Parameters:
space - the space to count mail in
Returns:
the number of emails archived in the space

getSpaceFromPageId

public java.lang.String getSpaceFromPageId(long pageId)
Description copied from interface: SpaceManager
Get the key for a space from its pageId in a single db call

Specified by:
getSpaceFromPageId in interface SpaceManager
Parameters:
pageId - the id of the page to look for
Returns:
the key for the space containing the given page

ensureSpaceDescriptionExists

public void ensureSpaceDescriptionExists(Space space)
Description copied from interface: SpaceManager
If the given Space does not have a description, creates one for it, and saves it.

This is required for CONF-4080, because labels on a Space are attached to a Space Description.

Specified by:
ensureSpaceDescriptionExists in interface SpaceManager
Parameters:
space - an existing space. Not null.

getSpacesCreatedAfter

public java.util.List<Space> getSpacesCreatedAfter(java.util.Date creationDate)
Specified by:
getSpacesCreatedAfter in interface SpaceManager

setNotificationManager

public void setNotificationManager(NotificationManager notificationManager)

setLabelManager

public void setLabelManager(LabelManager labelManager)

setIndexManager

public void setIndexManager(ConfluenceIndexManager indexManager)

getAttachmentManager

@Deprecated
public AttachmentManager getAttachmentManager()
Deprecated. since 4.2.13. Get AttachmentManager injected directly to your objects instead.


setAttachmentManager

public void setAttachmentManager(AttachmentManager attachmentManager)

getSettingsManager

@Deprecated
public SettingsManager getSettingsManager()
Deprecated. since 4.2.13. Get SettingsManager injected directly to your objects instead.


setSettingsManager

public void setSettingsManager(SettingsManager settingsManager)

setI18NBeanFactory

public void setI18NBeanFactory(I18NBeanFactory i18NBeanFactory)

getLogoForSpace

public SpaceLogo getLogoForSpace(java.lang.String spaceKey)
Specified by:
getLogoForSpace in interface SpaceManager

getLogoForGlobalcontext

public SpaceLogo getLogoForGlobalcontext()
Specified by:
getLogoForGlobalcontext in interface SpaceManager

getSpaces

public ListBuilder<Space> getSpaces(SpacesQuery query)
Description copied from interface: SpaceManager
Get a list of spaces specified by the SpacesQuery limited by the offset and maxResults.

Specified by:
getSpaces in interface SpaceManager

getSpaces

public PageResponse<Space> getSpaces(SpacesQuery query,
                                     LimitedRequest limitedRequest,
                                     com.google.common.base.Predicate<? super Space>... filter)
Description copied from interface: SpaceManagerInternal
get a paginated list of spaces that match the spaceQuery, filtered by the given predicate

Specified by:
getSpaces in interface SpaceManagerInternal
Parameters:
query - - the query to use to fetch the spaces from the databases
limitedRequest - - the pagination request limit
filter - - the filter to apply to the requested spaces
Returns:
a PageResponse of matching spaces

getAllSpaces

public java.util.List<Space> getAllSpaces(SpacesQuery query)
Description copied from interface: SpaceManager
Get a list of spaces specified by the SpacesQuery. Any code that calls this method is a potential performance problem. The method may be deprecated and removed in a future version of Confluence. Use SpaceManager.getSpaces(SpacesQuery) to retrieve pages of results instead.

Specified by:
getAllSpaces in interface SpaceManager

getSpaceAdmins

public java.util.List<com.atlassian.user.User> getSpaceAdmins(Space space)
Description copied from interface: SpaceManager
Returns a list of administrators for a given space, sorted by full name

Specified by:
getSpaceAdmins in interface SpaceManager

getSpaceAdmins

public java.util.List<com.atlassian.user.User> getSpaceAdmins(Space space,
                                                              int limit)
Description copied from interface: SpaceManager
Returns a list of administrators for a given space, sorted by full name, up to the size limit

Specified by:
getSpaceAdmins in interface SpaceManager

archiveSpace

public void archiveSpace(Space space)
Description copied from interface: SpaceManager
Archive the space. Archived spaces are removed from various lists and search results to unclutter the user interface. If the space is archived, this method does nothing.

Specified by:
archiveSpace in interface SpaceManager
Parameters:
space - the space to archive.

unarchiveSpace

public void unarchiveSpace(Space space)
Description copied from interface: SpaceManager
Un-archive the space. If the space is already un-archived, this method does nothing.

Specified by:
unarchiveSpace in interface SpaceManager
Parameters:
space - the space to archive.

getAllSpaceKeys

public java.util.Collection<java.lang.String> getAllSpaceKeys(SpaceStatus status)
Description copied from interface: SpaceManager
Get the space keys of all spaces with the given status.

Specified by:
getAllSpaceKeys in interface SpaceManager
Parameters:
status - the status to search for
Returns:
the keys of all spaces with that status.


Copyright © 2003-2014 Atlassian. All Rights Reserved.