Class DefaultMediaService
- java.lang.Object
-
- de.hybris.platform.servicelayer.internal.service.AbstractService
-
- de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
-
- de.hybris.platform.servicelayer.media.impl.DefaultMediaService
-
- All Implemented Interfaces:
MediaService,java.io.Serializable,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.InitializingBean
public class DefaultMediaService extends AbstractBusinessService implements MediaService
Default implementation of media service.- Since:
- 4.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
AbstractService.SerializableDTO
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFROM_JAR-
Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
modelService, sessionService, txManager
-
Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
tenant
-
-
Constructor Summary
Constructors Constructor Description DefaultMediaService()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddVersionStreamForMedia(MediaModel media, java.lang.String versionId, java.io.InputStream data)Adds the additional version of data as stream for given base media.voidaddVersionStreamForMedia(MediaModel media, java.lang.String versionId, java.lang.String mimeType, java.io.InputStream data)Adds the additional version of data as stream for given base mediavoidcopyData(MediaModel fromMedia, MediaModel toMedia)Copies data from a media to another media by linking the data (both medias will point to same data file).voidduplicateData(MediaModel fromMedia, MediaModel toMedia)Copies data from a media to another media by duplicating the data (both medias will point to different data file).byte[]getDataFromMedia(MediaModel media)Returns the stored file of given media as raw data array.java.io.DataInputStreamgetDataStreamFromMedia(MediaModel media)Deprecated.since agesjava.util.Collection<java.io.File>getFiles(MediaModel media)Gets file of given media (from all media replication directories) as collection ofFile's.MediaFolderModelgetFolder(java.lang.String qualifier)Gets the folder identified unique by given qualifier.MediaFormatModelgetFormat(java.lang.String qualifier)Gets the format identified unique by given qualifier.MediaModelgetMedia(CatalogVersionModel catalogVersion, java.lang.String code)Gets the media identified unique by given code and catalog version.MediaModelgetMedia(java.lang.String code)Gets the media identified unique by given code.MediaModelgetMediaByContext(MediaModel media, MediaContextModel context)Gets related media for given media determined by target format of given context.MediaModelgetMediaByFormat(MediaContainerModel container, MediaFormatModel format)Gets media in specified format related to given media container.MediaModelgetMediaByFormat(MediaModel media, MediaFormatModel format)Gets media in specified format related to given media.java.util.Collection<MediaModel>getMediaWithSameDataReference(MediaModel media)Returns a collection of MediaModel objects that point to the same physical file.MediaFolderModelgetRootFolder()Gets the root media folder.java.io.InputStreamgetStreamForMediaVersion(MediaModel media, java.lang.String versionId)Gets the stream for media version.java.io.InputStreamgetStreamFromMedia(MediaModel media)Returns the stored file of given media as stream.java.lang.StringgetUrlForMedia(MediaModel media)Returns URL for to given media.java.lang.StringgetUrlForMediaVersion(MediaModel media, java.lang.String versionId)Gets the URL for media version rendered by configured URL strategy.booleanhasData(MediaModel media)Returns information whether given media has binary data.voidmoveData(MediaModel fromMedia, MediaModel toMedia)Moves a media data to another media.voidmoveMediaToFolder(MediaModel media, MediaFolderModel targetFolder)Changes the folder of media to given new folder and move the related media data to this folder.voidremoveDataFromMedia(MediaModel media)Removes binary data from provided media.booleanremoveDataFromMediaQuietly(MediaModel media)Removes binary data from provided media without throwing exception.voidremoveVersionForMedia(MediaModel media, java.lang.String versionId)Removes the version of data for media.voidsetDataForMedia(MediaModel media, byte[] data)Sets given raw data to media by writing content of given stream to a new data file.voidsetDataStreamForMedia(MediaModel media, java.io.DataInputStream data)Deprecated.since agesvoidsetFlexibleSearchService(FlexibleSearchService flexibleSearchService)voidsetFolderForMedia(MediaModel media, MediaFolderModel targetFolder)Changes the folder of media to given new folder and move the related media data to this folder.voidsetMediaDao(MediaDao mediaDao)voidsetMimeService(MimeService mimeService)voidsetStreamForMedia(MediaModel media, java.io.InputStream data)Sets given data to media by writing content of given stream to a new data file.voidsetStreamForMedia(MediaModel media, java.io.InputStream data, java.lang.String originalName, java.lang.String mimeType)Sets given data to media by writing content of given stream to a new data file.voidsetStreamForMedia(MediaModel media, java.io.InputStream data, java.lang.String originalName, java.lang.String mimeType, MediaFolderModel folder)Sets given data to media by writing content of given stream to a new data file.voidsetUrlForMedia(MediaModel media, java.lang.String url)Sets the external URL for the media.-
Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
getModelService, getSessionService, getTxManager, setModelService, setSessionService, setTxManager
-
Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
afterPropertiesSet, getCurrentTenant, setBeanName, setCurrentTenant, writeReplace
-
-
-
-
Field Detail
-
FROM_JAR
public static final java.lang.String FROM_JAR
- See Also:
- Constant Field Values
-
-
Method Detail
-
copyData
public void copyData(MediaModel fromMedia, MediaModel toMedia)
Description copied from interface:MediaServiceCopies data from a media to another media by linking the data (both medias will point to same data file). This method is optimized for reusing data files without actually copying them. See alsoMediaService.duplicateData(MediaModel, MediaModel)which copies by duplicating the data file. In case the source media does not hold own data but points to a URL this media simply takes the URL - no real data is copied.This method calls
ModelService.save(Object)method.- Specified by:
copyDatain interfaceMediaService- Parameters:
fromMedia- source media to copy data fromtoMedia- target media to copy data to
-
duplicateData
public void duplicateData(MediaModel fromMedia, MediaModel toMedia)
Description copied from interface:MediaServiceCopies data from a media to another media by duplicating the data (both medias will point to different data file). See alsoMediaService.copyData(MediaModel, MediaModel)which only creates a link. In case the source media does not hold own data but points to a URL this media simply takes the URL - no real data is copied.This method calls
ModelService.save(Object)method.- Specified by:
duplicateDatain interfaceMediaService- Parameters:
fromMedia- source media to copy data fromtoMedia- target media to copy data to
-
moveData
public void moveData(MediaModel fromMedia, MediaModel toMedia)
Description copied from interface:MediaServiceMoves a media data to another media. After this method, this media has no data anymore. Other medias linking same data will be still consistent.This method calls
ModelService.save(Object)method.- Specified by:
moveDatain interfaceMediaService- Parameters:
fromMedia- source media to move data fromtoMedia- target media to move data to
-
getMediaByContext
public MediaModel getMediaByContext(MediaModel media, MediaContextModel context)
Description copied from interface:MediaServiceGets related media for given media determined by target format of given context. Determines the format of the specified media and uses the specified MediaContext to determine the target format. Than it simply returns the specified media in this target format using the assigned container.- Specified by:
getMediaByContextin interfaceMediaService- Parameters:
media- media for which the related media in specific format is neededcontext- context which defines the target format- Returns:
- media in format specified by context
-
getMediaByFormat
public MediaModel getMediaByFormat(MediaModel media, MediaFormatModel format)
Description copied from interface:MediaServiceGets media in specified format related to given media.- Specified by:
getMediaByFormatin interfaceMediaService- Parameters:
media- media for which the related media in specific format is neededformat- format the desired media has to have- Returns:
- media in specified format or
nullif no corresponding media in specified format is available
-
getMediaByFormat
public MediaModel getMediaByFormat(MediaContainerModel container, MediaFormatModel format)
Description copied from interface:MediaServiceGets media in specified format related to given media container.- Specified by:
getMediaByFormatin interfaceMediaService- Parameters:
container- container for which the related media in specific format is neededformat- format the desired media has to have- Returns:
- MediaModel in specified format or
nullif no corresponding media in specified format is available
-
getDataFromMedia
public byte[] getDataFromMedia(MediaModel media) throws NoDataAvailableException
Description copied from interface:MediaServiceReturns the stored file of given media as raw data array. This can only succeed if once data was set before.- Specified by:
getDataFromMediain interfaceMediaService- Parameters:
media- media for which data is requested- Returns:
- raw data of media
- Throws:
NoDataAvailableException- if no data was set before or if underlying data is corrupted
-
getDataStreamFromMedia
@Deprecated public java.io.DataInputStream getDataStreamFromMedia(MediaModel media) throws NoDataAvailableException
Deprecated.since agesDescription copied from interface:MediaServiceReturns the stored file of given media as stream. This can only succeed if once data was set before.- Specified by:
getDataStreamFromMediain interfaceMediaService- Parameters:
media- media for which data is requested- Returns:
- stream to data of media
- Throws:
NoDataAvailableException- if no data was set before
-
getStreamFromMedia
public java.io.InputStream getStreamFromMedia(MediaModel media) throws NoDataAvailableException
Description copied from interface:MediaServiceReturns the stored file of given media as stream. This can only succeed if once data was set before.- Specified by:
getStreamFromMediain interfaceMediaService- Parameters:
media- media for which data is requested- Returns:
- stream to data of media
- Throws:
NoDataAvailableException- if no data was set before or if underlying data is corrupted
-
getFiles
public java.util.Collection<java.io.File> getFiles(MediaModel media) throws NoDataAvailableException
Description copied from interface:MediaServiceGets file of given media (from all media replication directories) as collection ofFile's.- Specified by:
getFilesin interfaceMediaService- Parameters:
media- mediaModel used for searching- Returns:
- Collection of files based on the given mediaModel
- Throws:
NoDataAvailableException- if no file was found
-
getFolder
public MediaFolderModel getFolder(java.lang.String qualifier)
Description copied from interface:MediaServiceGets the folder identified unique by given qualifier.- Specified by:
getFolderin interfaceMediaService- Parameters:
qualifier- qualifier used for searching the folder- Returns:
- folder matching given qualifier
-
getFormat
public MediaFormatModel getFormat(java.lang.String qualifier)
Description copied from interface:MediaServiceGets the format identified unique by given qualifier.- Specified by:
getFormatin interfaceMediaService- Parameters:
qualifier- qualifier used for searching the format- Returns:
- format matching given qualifier
-
setFolderForMedia
public void setFolderForMedia(MediaModel media, MediaFolderModel targetFolder)
Description copied from interface:MediaServiceChanges the folder of media to given new folder and move the related media data to this folder.- Specified by:
setFolderForMediain interfaceMediaService- Parameters:
media- media for which the folder will be changedtargetFolder- folder where the data has to be moved to
-
moveMediaToFolder
public void moveMediaToFolder(MediaModel media, MediaFolderModel targetFolder) throws MediaIOException, java.lang.IllegalArgumentException
Description copied from interface:MediaServiceChanges the folder of media to given new folder and move the related media data to this folder. If old media data is referenced by another media object it will be preserved in old location.This method calls
ModelService.save(Object)method.- Specified by:
moveMediaToFolderin interfaceMediaService- Parameters:
media- media for which the folder will be changedtargetFolder- folder where the data has to be moved to- Throws:
MediaIOException- if IO problems has occurredjava.lang.IllegalArgumentException- the illegal argument exception if any argument is null
-
setDataStreamForMedia
@Deprecated public void setDataStreamForMedia(MediaModel media, java.io.DataInputStream data)
Deprecated.since agesDescription copied from interface:MediaServiceSets given data to media by writing content of given stream to a new data file. The stream will be closed afterwards.- Specified by:
setDataStreamForMediain interfaceMediaService- Parameters:
media- media for which data will be setdata- data to set
-
setStreamForMedia
public void setStreamForMedia(MediaModel media, java.io.InputStream data)
Description copied from interface:MediaServiceSets given data to media by writing content of given stream to a new data file. The stream will be closed afterwards.- Specified by:
setStreamForMediain interfaceMediaService- Parameters:
media- media for which data will be setdata- data to set
-
removeDataFromMediaQuietly
public boolean removeDataFromMediaQuietly(MediaModel media)
Description copied from interface:MediaServiceRemoves binary data from provided media without throwing exception.- Specified by:
removeDataFromMediaQuietlyin interfaceMediaService- Returns:
- true when removal operation has succeeded, false otherwise.
-
removeDataFromMedia
public void removeDataFromMedia(MediaModel media)
Description copied from interface:MediaServiceRemoves binary data from provided media. If data cannot be removed MediaRemovalException is thrown.- Specified by:
removeDataFromMediain interfaceMediaService- Parameters:
media- media from which data will be removed
-
hasData
public boolean hasData(MediaModel media)
Description copied from interface:MediaServiceReturns information whether given media has binary data.- Specified by:
hasDatain interfaceMediaService- Parameters:
media- media to examine- Returns:
- true if media has binary data, false otherwise
-
addVersionStreamForMedia
public void addVersionStreamForMedia(MediaModel media, java.lang.String versionId, java.io.InputStream data)
Description copied from interface:MediaServiceAdds the additional version of data as stream for given base media. Mime type will be used from base media.- Specified by:
addVersionStreamForMediain interfaceMediaService- Parameters:
media- the base mediaversionId- the unique version id of data (like format name)data- the data stream
-
addVersionStreamForMedia
public void addVersionStreamForMedia(MediaModel media, java.lang.String versionId, java.lang.String mimeType, java.io.InputStream data)
Description copied from interface:MediaServiceAdds the additional version of data as stream for given base media- Specified by:
addVersionStreamForMediain interfaceMediaService- Parameters:
media- the base mediaversionId- the custom mime typemimeType- the unique version id of data (like format name)data- the data stream
-
removeVersionForMedia
public void removeVersionForMedia(MediaModel media, java.lang.String versionId)
Description copied from interface:MediaServiceRemoves the version of data for media.- Specified by:
removeVersionForMediain interfaceMediaService- Parameters:
media- the base mediaversionId- the unique version id of data (like format name)
-
getUrlForMediaVersion
public java.lang.String getUrlForMediaVersion(MediaModel media, java.lang.String versionId)
Description copied from interface:MediaServiceGets the URL for media version rendered by configured URL strategy.- Specified by:
getUrlForMediaVersionin interfaceMediaService- Parameters:
media- the base mediaversionId- the unique version id of data (like format name)- Returns:
- the URL for media version
-
getStreamForMediaVersion
public java.io.InputStream getStreamForMediaVersion(MediaModel media, java.lang.String versionId)
Description copied from interface:MediaServiceGets the stream for media version.- Specified by:
getStreamForMediaVersionin interfaceMediaService- Parameters:
media- the base mediaversionId- the unique version id of data (like format name)- Returns:
- the stream for media version
-
setStreamForMedia
public void setStreamForMedia(MediaModel media, java.io.InputStream data, java.lang.String originalName, java.lang.String mimeType)
Sets given data to media by writing content of given stream to a new data file. The stream will be closed afterwards.- Specified by:
setStreamForMediain interfaceMediaService- Parameters:
media- media for which data will be setdata- data to setoriginalName- The file namemimeType- MIME type of the media
-
setStreamForMedia
public void setStreamForMedia(MediaModel media, java.io.InputStream data, java.lang.String originalName, java.lang.String mimeType, MediaFolderModel folder)
Sets given data to media by writing content of given stream to a new data file. The stream will be closed afterwards.- Specified by:
setStreamForMediain interfaceMediaService- Parameters:
media- media for which data will be setdata- data to setoriginalName- The file namemimeType- MIME type of the mediafolder- The folder where media will be stored
-
setUrlForMedia
public void setUrlForMedia(MediaModel media, java.lang.String url)
Description copied from interface:MediaServiceSets the external URL for the media. This method also automatically determines mime from URL as well as tries to set size if URL points to the file in classpath and contains specia "fromjar" flag.- Specified by:
setUrlForMediain interfaceMediaService- Parameters:
media- media for which the url will be seturl- the url
-
getUrlForMedia
public java.lang.String getUrlForMedia(MediaModel media)
Description copied from interface:MediaServiceReturns URL for to given media. Depending on the state of the media the URL can be URL which points to the binary data in underlying Media Storage or direct standard URL to the media in the network.- Specified by:
getUrlForMediain interfaceMediaService- Parameters:
media- media for which the url will be obtained- Returns:
- url
-
setDataForMedia
public void setDataForMedia(MediaModel media, byte[] data)
Description copied from interface:MediaServiceSets given raw data to media by writing content of given stream to a new data file.- Specified by:
setDataForMediain interfaceMediaService- Parameters:
media- media for which data will be setdata- raw data to set
-
getRootFolder
public MediaFolderModel getRootFolder()
Description copied from interface:MediaServiceGets the root media folder. This folder is created at createEssentialData of core extension and should be always existent. If not existent aModelNotFoundExceptionis thrown. The root folder is the default folder for a media.- Specified by:
getRootFolderin interfaceMediaService- Returns:
- root folder
-
getMedia
public MediaModel getMedia(CatalogVersionModel catalogVersion, java.lang.String code)
Description copied from interface:MediaServiceGets the media identified unique by given code and catalog version.- Specified by:
getMediain interfaceMediaService- Parameters:
catalogVersion- version used for searchingcode- code used for searching- Returns:
- media matching given code and version
-
getMedia
public MediaModel getMedia(java.lang.String code)
Description copied from interface:MediaServiceGets the media identified unique by given code.- Specified by:
getMediain interfaceMediaService- Parameters:
code- code used for searching- Returns:
- media matching given code
-
getMediaWithSameDataReference
public java.util.Collection<MediaModel> getMediaWithSameDataReference(MediaModel media)
Description copied from interface:MediaServiceReturns a collection of MediaModel objects that point to the same physical file.- Specified by:
getMediaWithSameDataReferencein interfaceMediaService- Parameters:
media- media used for search- Returns:
- collection of medias referencing the same file
-
setMediaDao
public void setMediaDao(MediaDao mediaDao)
-
setMimeService
public void setMimeService(MimeService mimeService)
-
setFlexibleSearchService
public void setFlexibleSearchService(FlexibleSearchService flexibleSearchService)
-
-