public class SimpleFileSystemContentStorage extends Object implements ContentStorage
ContentStorage
that relies on the passed metadata to store content.
Under a root folder, a division between 'task' and 'process-instance' content is made. New content gets a new UUID assigned and is placed in one of these folders.
The id of the returned ContentObject
indicates in which folder it is stored.Modifier and Type | Class and Description |
---|---|
protected static class |
SimpleFileSystemContentStorage.MapBasedContentObjectStorageMetadata |
Modifier and Type | Field and Description |
---|---|
static String |
CASE_PREFIX |
protected File |
caseFolder |
protected File |
contentFolderRoot |
static String |
PROCESS_INSTANCE_PREFIX |
protected File |
processInstanceFolder |
static String |
TASK_PREFIX |
protected File |
taskFolder |
static String |
TYPE_CASE_INSTANCE |
static String |
TYPE_PROCESS_INSTANCE |
static String |
TYPE_TASK |
static String |
TYPE_UNCATEGORIZED |
static String |
UNCATEGORIZED_PREFIX |
protected File |
uncategorizedFolder |
Constructor and Description |
---|
SimpleFileSystemContentStorage(File contentFolderRoot) |
public static final String TYPE_TASK
public static final String TYPE_PROCESS_INSTANCE
public static final String TYPE_CASE_INSTANCE
public static final String TYPE_UNCATEGORIZED
public static final String TASK_PREFIX
public static final String PROCESS_INSTANCE_PREFIX
public static final String CASE_PREFIX
public static final String UNCATEGORIZED_PREFIX
protected File contentFolderRoot
protected File taskFolder
protected File processInstanceFolder
protected File caseFolder
protected File uncategorizedFolder
public SimpleFileSystemContentStorage(File contentFolderRoot)
protected void validateOrCreateSubfolders()
public ContentObject createContentObject(InputStream contentStream, Map<String,Object> metadata)
createContentObject
in interface ContentStorage
public ContentObject createContentObject(InputStream contentStream, ContentObjectStorageMetadata metaData)
createContentObject
in interface ContentStorage
protected String generateContentId(String uuid, ContentObjectStorageMetadata metadata)
public ContentObject updateContentObject(String id, InputStream contentStream, Map<String,Object> metaData)
updateContentObject
in interface ContentStorage
public ContentObject updateContentObject(String id, InputStream contentStream, ContentObjectStorageMetadata metaData)
updateContentObject
in interface ContentStorage
public ContentObject getContentObject(String id)
getContentObject
in interface ContentStorage
public Map<String,Object> getMetaData()
getMetaData
in interface ContentStorage
public void deleteContentObject(String id)
deleteContentObject
in interface ContentStorage
public String getContentStoreName()
getContentStoreName
in interface ContentStorage
protected File getContentFile(ContentObjectStorageMetadata metaData, String contentId)
protected String determineType(ContentObjectStorageMetadata metaData)
protected File createOrGetFolderBasedOnMetaData(ContentObjectStorageMetadata metaData)