Package com.atlassian.confluence.core
Class DefaultDataSourceFactory
- java.lang.Object
-
- com.atlassian.confluence.core.DefaultDataSourceFactory
-
- All Implemented Interfaces:
DataSourceFactory,org.springframework.beans.factory.Aware,org.springframework.web.context.ServletContextAware
public class DefaultDataSourceFactory extends Object implements DataSourceFactory, org.springframework.web.context.ServletContextAware
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultDataSourceFactory.NamedDataSource
-
Constructor Summary
Constructors Constructor Description DefaultDataSourceFactory(UserProfilePictureAccessor userProfilePictureAccessor, AttachmentManager attachmentManager, javax.activation.FileTypeMap fileTypeMap, ThumbnailManager thumbnailManager, com.atlassian.plugin.PluginAccessor pluginAccessor, SpaceLogoManager spaceLogoManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<PluginDataSourceFactory>createForPlugin(String pluginKey)Create a factory for a specific plugin.javax.activation.DataSourcegetAvatar(com.atlassian.user.User user)Construct a DataSource for a user's profile picture.javax.activation.DataSourcegetDatasource(Attachment attachment, boolean useThumbnail)javax.activation.DataSourcegetServletContainerResource(String path, String name)javax.activation.DataSourcegetSpaceLogo(Space space)Encapsulates the logo for the givenSpacein aDataSource.javax.activation.DataSourcegetURLResource(URL url, String name)//TODO caching datasourcevoidsetServletContext(javax.servlet.ServletContext servletContext)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.core.DataSourceFactory
forPlugin
-
-
-
-
Constructor Detail
-
DefaultDataSourceFactory
public DefaultDataSourceFactory(UserProfilePictureAccessor userProfilePictureAccessor, AttachmentManager attachmentManager, javax.activation.FileTypeMap fileTypeMap, ThumbnailManager thumbnailManager, com.atlassian.plugin.PluginAccessor pluginAccessor, SpaceLogoManager spaceLogoManager)
- Since:
- 7.16
-
-
Method Detail
-
getAvatar
public javax.activation.DataSource getAvatar(com.atlassian.user.User user)
Construct a DataSource for a user's profile picture. Always returns PNG version for default or anonymous profile picture- Specified by:
getAvatarin interfaceDataSourceFactory- Parameters:
user- The user to retrieve the avatar for. If null, "Anonymous" will be assumed.- Returns:
- A DataSource containing the user's profile picture. DataSource.getName() will return the string "avatar_[hash]", where [hash] is an md5 hash of the user's name plus the avatar's filename.
-
getSpaceLogo
public javax.activation.DataSource getSpaceLogo(Space space)
Description copied from interface:DataSourceFactoryEncapsulates the logo for the givenSpacein aDataSource.- Specified by:
getSpaceLogoin interfaceDataSourceFactory- Parameters:
space- the space to retrieve the logo for- Returns:
- a
DataSourceencapsulating the ...- custom logo for a
Spaceif configured - default
Spacelogo if configured - default Confluence
Spacelogo,SpaceLogo.DEFAULT_LOGO_PATH
DataSource.getName()will return "<spacekey>-space-logo" - custom logo for a
-
getServletContainerResource
public javax.activation.DataSource getServletContainerResource(String path, String name)
- Specified by:
getServletContainerResourcein interfaceDataSourceFactory- Parameters:
path- a path that must begin with a "/" and is interpreted as relative to the current context rootname- a custom name for the DataSource that will be returned.- Returns:
- a DataSource containing the resource located at the path. DataSource.getName() will return the value of {@param name}.
-
getDatasource
public javax.activation.DataSource getDatasource(Attachment attachment, boolean useThumbnail) throws IOException
- Specified by:
getDatasourcein interfaceDataSourceFactory- Throws:
IOException
-
getURLResource
public javax.activation.DataSource getURLResource(URL url, String name)
//TODO caching datasource- Specified by:
getURLResourcein interfaceDataSourceFactory
-
setServletContext
public void setServletContext(javax.servlet.ServletContext servletContext)
- Specified by:
setServletContextin interfaceorg.springframework.web.context.ServletContextAware
-
createForPlugin
public Optional<PluginDataSourceFactory> createForPlugin(String pluginKey)
Description copied from interface:DataSourceFactoryCreate a factory for a specific plugin.Allows the creation of
DataSourcesfrom <resource> descriptors.- Specified by:
createForPluginin interfaceDataSourceFactory- Parameters:
pluginKey- the key used to locate the plugin- Returns:
- Optional factory for the plugin if it could be located
-
-