Package step.resources
Class ResourceManagerImpl
- java.lang.Object
-
- step.resources.ResourceManagerImpl
-
- All Implemented Interfaces:
ResourceManager
- Direct Known Subclasses:
LocalResourceManagerImpl
public class ResourceManagerImpl extends java.lang.Object implements ResourceManager
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Logger
logger
protected ResourceAccessor
resourceAccessor
protected ResourceRevisionAccessor
resourceRevisionAccessor
protected java.io.File
resourceRootFolder
protected java.util.Map<java.lang.String,ResourceType>
resourceTypes
-
Fields inherited from interface step.resources.ResourceManager
RESOURCE_TYPE_ATTACHMENT, RESOURCE_TYPE_DATASOURCE, RESOURCE_TYPE_FUNCTIONS, RESOURCE_TYPE_PDF_TEST_SCENARIO_FILE, RESOURCE_TYPE_SECRET, RESOURCE_TYPE_STAGING_CONTEXT_FILES, RESOURCE_TYPE_TEMP
-
-
Constructor Summary
Constructors Constructor Description ResourceManagerImpl(java.io.File resourceRootFolder, ResourceAccessor resourceAccessor, ResourceRevisionAccessor resourceRevisionAccessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
closeResourceContainer(Resource resource, ResourceRevision resourceRevision, boolean checkForDuplicates, ObjectEnricher objectEnricher)
protected void
closeResourceRevisionContent(Resource resource)
Resource
createResource(java.lang.String resourceType, java.io.InputStream resourceStream, java.lang.String resourceFileName, boolean checkForDuplicates, ObjectEnricher objectEnricher)
ResourceRevisionContainer
createResourceContainer(java.lang.String resourceType, java.lang.String resourceFileName)
void
deleteResource(java.lang.String resourceId)
Delete the resource and all its revisionsResource
getResource(java.lang.String resourceId)
ResourceRevisionContent
getResourceContent(java.lang.String resourceId)
Get the content of an existingResource
ResourceRevisionFileHandle
getResourceFile(java.lang.String resourceId)
ResourceRevision
getResourceRevisionByResourceId(java.lang.String resourceId)
ResourceRevisionContentImpl
getResourceRevisionContent(java.lang.String resourceRevisionId)
java.lang.String
getResourcesRootPath()
Resource
lookupResourceByName(java.lang.String resourceName)
void
registerResourceType(java.lang.String name, ResourceType resourceType)
boolean
resourceExists(java.lang.String resourceId)
Test if a given resource id existsResource
saveResource(Resource resource)
Saved the resource object onlyResource
saveResourceContent(java.lang.String resourceId, java.io.InputStream resourceStream, java.lang.String resourceFileName)
Save the content provided as stream to an existing resource.ResourceRevision
saveResourceRevision(ResourceRevision resourceRevision)
Resource
updateResourceContent(Resource resource, java.io.InputStream resourceStream, java.lang.String resourceFileName, ResourceRevision revision)
-
-
-
Field Detail
-
resourceRootFolder
protected final java.io.File resourceRootFolder
-
resourceAccessor
protected final ResourceAccessor resourceAccessor
-
resourceRevisionAccessor
protected final ResourceRevisionAccessor resourceRevisionAccessor
-
resourceTypes
protected final java.util.Map<java.lang.String,ResourceType> resourceTypes
-
logger
protected static final org.slf4j.Logger logger
-
-
Constructor Detail
-
ResourceManagerImpl
public ResourceManagerImpl(java.io.File resourceRootFolder, ResourceAccessor resourceAccessor, ResourceRevisionAccessor resourceRevisionAccessor)
-
-
Method Detail
-
registerResourceType
public void registerResourceType(java.lang.String name, ResourceType resourceType)
-
createResourceContainer
public ResourceRevisionContainer createResourceContainer(java.lang.String resourceType, java.lang.String resourceFileName) throws java.io.IOException
- Specified by:
createResourceContainer
in interfaceResourceManager
- Throws:
java.io.IOException
-
closeResourceContainer
protected void closeResourceContainer(Resource resource, ResourceRevision resourceRevision, boolean checkForDuplicates, ObjectEnricher objectEnricher) throws java.io.IOException, SimilarResourceExistingException
- Throws:
java.io.IOException
SimilarResourceExistingException
-
createResource
public Resource createResource(java.lang.String resourceType, java.io.InputStream resourceStream, java.lang.String resourceFileName, boolean checkForDuplicates, ObjectEnricher objectEnricher) throws java.io.IOException, SimilarResourceExistingException
- Specified by:
createResource
in interfaceResourceManager
- Parameters:
resourceType
- the type of the resourceresourceStream
- the stream of the resource to be savedresourceFileName
- the name of the resource (filename)checkForDuplicates
- is duplicate should be checkedobjectEnricher
- theObjectEnricher
of the context- Returns:
- the created
Resource
- Throws:
java.io.IOException
- an IOException occurs during the callSimilarResourceExistingException
- a similar resource exist
-
saveResourceContent
public Resource saveResourceContent(java.lang.String resourceId, java.io.InputStream resourceStream, java.lang.String resourceFileName) throws java.io.IOException
Description copied from interface:ResourceManager
Save the content provided as stream to an existing resource. This creates a newResourceRevision
for theResource
and saves the content provided as stream under this revision.- Specified by:
saveResourceContent
in interfaceResourceManager
- Parameters:
resourceId
- the id of the resource to be updatedresourceStream
- the stream of the resource to be savedresourceFileName
- the name of the resource (filename)- Returns:
- the updated
Resource
- Throws:
java.io.IOException
- an IOException occurs during the call
-
updateResourceContent
public Resource updateResourceContent(Resource resource, java.io.InputStream resourceStream, java.lang.String resourceFileName, ResourceRevision revision) throws java.io.IOException
- Specified by:
updateResourceContent
in interfaceResourceManager
- Throws:
java.io.IOException
-
deleteResource
public void deleteResource(java.lang.String resourceId)
Description copied from interface:ResourceManager
Delete the resource and all its revisions- Specified by:
deleteResource
in interfaceResourceManager
- Parameters:
resourceId
- the id of theResource
to be deleted
-
getResourceContent
public ResourceRevisionContent getResourceContent(java.lang.String resourceId) throws java.io.IOException
Description copied from interface:ResourceManager
Get the content of an existingResource
- Specified by:
getResourceContent
in interfaceResourceManager
- Parameters:
resourceId
- the id of theResource
to be deleted- Returns:
- the content of the resource as stream
- Throws:
java.io.IOException
- an IOException occurs during the call
-
closeResourceRevisionContent
protected void closeResourceRevisionContent(Resource resource)
-
getResourceRevisionByResourceId
public ResourceRevision getResourceRevisionByResourceId(java.lang.String resourceId)
- Specified by:
getResourceRevisionByResourceId
in interfaceResourceManager
-
getResourceRevisionContent
public ResourceRevisionContentImpl getResourceRevisionContent(java.lang.String resourceRevisionId) throws java.io.IOException
- Specified by:
getResourceRevisionContent
in interfaceResourceManager
- Throws:
java.io.IOException
-
getResourceFile
public ResourceRevisionFileHandle getResourceFile(java.lang.String resourceId)
- Specified by:
getResourceFile
in interfaceResourceManager
-
getResource
public Resource getResource(java.lang.String resourceId)
- Specified by:
getResource
in interfaceResourceManager
-
lookupResourceByName
public Resource lookupResourceByName(java.lang.String resourceName)
- Specified by:
lookupResourceByName
in interfaceResourceManager
-
resourceExists
public boolean resourceExists(java.lang.String resourceId)
Description copied from interface:ResourceManager
Test if a given resource id exists- Specified by:
resourceExists
in interfaceResourceManager
- Parameters:
resourceId
- the id of the resource to test- Returns:
- true if the resource exists
-
saveResource
public Resource saveResource(Resource resource) throws java.io.IOException
Description copied from interface:ResourceManager
Saved the resource object only- Specified by:
saveResource
in interfaceResourceManager
- Parameters:
resource
- the resource to be saved- Returns:
- the updated
Resource
- Throws:
java.io.IOException
- an IOException occurs during the call
-
saveResourceRevision
public ResourceRevision saveResourceRevision(ResourceRevision resourceRevision) throws java.io.IOException
- Specified by:
saveResourceRevision
in interfaceResourceManager
- Throws:
java.io.IOException
-
getResourcesRootPath
public java.lang.String getResourcesRootPath()
- Specified by:
getResourcesRootPath
in interfaceResourceManager
-
-