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.Loggerloggerprotected ResourceAccessorresourceAccessorprotected ResourceRevisionAccessorresourceRevisionAccessorprotected java.io.FileresourceRootFolderprotected java.util.Map<java.lang.String,step.resources.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 voidcloseResourceContainer(step.resources.Resource resource, step.resources.ResourceRevision resourceRevision, boolean checkForDuplicates, ObjectEnricher objectEnricher)protected voidcloseResourceRevisionContent(step.resources.Resource resource)step.resources.ResourcecreateResource(java.lang.String resourceType, java.io.InputStream resourceStream, java.lang.String resourceFileName, boolean checkForDuplicates, ObjectEnricher objectEnricher)ResourceRevisionContainercreateResourceContainer(java.lang.String resourceType, java.lang.String resourceFileName)voiddeleteResource(java.lang.String resourceId)Delete the resource and all its revisionsstep.resources.ResourcegetResource(java.lang.String resourceId)ResourceRevisionContentgetResourceContent(java.lang.String resourceId)Get the content of an existingResourceResourceRevisionFileHandlegetResourceFile(java.lang.String resourceId)step.resources.ResourceRevisiongetResourceRevisionByResourceId(java.lang.String resourceId)ResourceRevisionContentImplgetResourceRevisionContent(java.lang.String resourceRevisionId)java.lang.StringgetResourcesRootPath()step.resources.ResourcelookupResourceByName(java.lang.String resourceName)voidregisterResourceType(java.lang.String name, step.resources.ResourceType resourceType)booleanresourceExists(java.lang.String resourceId)Test if a given resource id existsstep.resources.ResourcesaveResource(step.resources.Resource resource)Saved the resource object onlystep.resources.ResourcesaveResourceContent(java.lang.String resourceId, java.io.InputStream resourceStream, java.lang.String resourceFileName)Save the content provided as stream to an existing resource.step.resources.ResourceRevisionsaveResourceRevision(step.resources.ResourceRevision resourceRevision)step.resources.ResourceupdateResourceContent(step.resources.Resource resource, java.io.InputStream resourceStream, java.lang.String resourceFileName, step.resources.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,step.resources.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, step.resources.ResourceType resourceType)
-
createResourceContainer
public ResourceRevisionContainer createResourceContainer(java.lang.String resourceType, java.lang.String resourceFileName) throws java.io.IOException
- Specified by:
createResourceContainerin interfaceResourceManager- Throws:
java.io.IOException
-
closeResourceContainer
protected void closeResourceContainer(step.resources.Resource resource, step.resources.ResourceRevision resourceRevision, boolean checkForDuplicates, ObjectEnricher objectEnricher) throws java.io.IOException, SimilarResourceExistingException- Throws:
java.io.IOExceptionSimilarResourceExistingException
-
createResource
public step.resources.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:
createResourcein 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- theObjectEnricherof the context- Returns:
- the created
Resource - Throws:
java.io.IOException- an IOException occurs during the callSimilarResourceExistingException- a similar resource exist
-
saveResourceContent
public step.resources.Resource saveResourceContent(java.lang.String resourceId, java.io.InputStream resourceStream, java.lang.String resourceFileName) throws java.io.IOExceptionDescription copied from interface:ResourceManagerSave the content provided as stream to an existing resource. This creates a newResourceRevisionfor theResourceand saves the content provided as stream under this revision.- Specified by:
saveResourceContentin 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 step.resources.Resource updateResourceContent(step.resources.Resource resource, java.io.InputStream resourceStream, java.lang.String resourceFileName, step.resources.ResourceRevision revision) throws java.io.IOException- Specified by:
updateResourceContentin interfaceResourceManager- Throws:
java.io.IOException
-
deleteResource
public void deleteResource(java.lang.String resourceId)
Description copied from interface:ResourceManagerDelete the resource and all its revisions- Specified by:
deleteResourcein interfaceResourceManager- Parameters:
resourceId- the id of theResourceto be deleted
-
getResourceContent
public ResourceRevisionContent getResourceContent(java.lang.String resourceId) throws java.io.IOException
Description copied from interface:ResourceManagerGet the content of an existingResource- Specified by:
getResourceContentin interfaceResourceManager- Parameters:
resourceId- the id of theResourceto be deleted- Returns:
- the content of the resource as stream
- Throws:
java.io.IOException- an IOException occurs during the call
-
closeResourceRevisionContent
protected void closeResourceRevisionContent(step.resources.Resource resource)
-
getResourceRevisionByResourceId
public step.resources.ResourceRevision getResourceRevisionByResourceId(java.lang.String resourceId)
- Specified by:
getResourceRevisionByResourceIdin interfaceResourceManager
-
getResourceRevisionContent
public ResourceRevisionContentImpl getResourceRevisionContent(java.lang.String resourceRevisionId) throws java.io.IOException
- Specified by:
getResourceRevisionContentin interfaceResourceManager- Throws:
java.io.IOException
-
getResourceFile
public ResourceRevisionFileHandle getResourceFile(java.lang.String resourceId)
- Specified by:
getResourceFilein interfaceResourceManager
-
getResource
public step.resources.Resource getResource(java.lang.String resourceId)
- Specified by:
getResourcein interfaceResourceManager
-
lookupResourceByName
public step.resources.Resource lookupResourceByName(java.lang.String resourceName)
- Specified by:
lookupResourceByNamein interfaceResourceManager
-
resourceExists
public boolean resourceExists(java.lang.String resourceId)
Description copied from interface:ResourceManagerTest if a given resource id exists- Specified by:
resourceExistsin interfaceResourceManager- Parameters:
resourceId- the id of the resource to test- Returns:
- true if the resource exists
-
saveResource
public step.resources.Resource saveResource(step.resources.Resource resource) throws java.io.IOExceptionDescription copied from interface:ResourceManagerSaved the resource object only- Specified by:
saveResourcein interfaceResourceManager- Parameters:
resource- the resource to be saved- Returns:
- the updated
Resource - Throws:
java.io.IOException- an IOException occurs during the call
-
saveResourceRevision
public step.resources.ResourceRevision saveResourceRevision(step.resources.ResourceRevision resourceRevision) throws java.io.IOException- Specified by:
saveResourceRevisionin interfaceResourceManager- Throws:
java.io.IOException
-
getResourcesRootPath
public java.lang.String getResourcesRootPath()
- Specified by:
getResourcesRootPathin interfaceResourceManager
-
-