Package step.resources
Class ResourceManagerImpl
- java.lang.Object
-
- step.resources.ResourceManagerImpl
-
- All Implemented Interfaces:
ResourceManager
- Direct Known Subclasses:
LocalResourceManagerImpl
public class ResourceManagerImpl extends Object implements ResourceManager
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Loggerloggerprotected ResourceAccessorresourceAccessorprotected ResourceRevisionAccessorresourceRevisionAccessorprotected FileresourceRootFolderprotected Map<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(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, step.core.objectenricher.ObjectEnricher objectEnricher)protected voidcloseResourceRevisionContent(step.resources.Resource resource)step.resources.ResourcecreateResource(String resourceType, boolean isDirectory, InputStream resourceStream, String resourceFileName, boolean checkForDuplicates, step.core.objectenricher.ObjectEnricher objectEnricher)step.resources.ResourcecreateResource(String resourceType, InputStream resourceStream, String resourceFileName, boolean checkForDuplicates, step.core.objectenricher.ObjectEnricher objectEnricher)ResourceRevisionContainercreateResourceContainer(String resourceType, String resourceFileName)voiddeleteResource(String resourceId)Delete the resource and all its revisionsstep.resources.ResourcegetResource(String resourceId)ResourceRevisionContentgetResourceContent(String resourceId)Get the content of an existingResourceResourceRevisionFileHandlegetResourceFile(String resourceId)step.resources.ResourceRevisiongetResourceRevision(String resourceRevisionId)ResourceRevisionContentImplgetResourceRevisionContent(String resourceRevisionId)protected FilegetResourceRevisionFile(step.resources.Resource resource, step.resources.ResourceRevision revision)StringgetResourcesRootPath()voidregisterResourceType(String name, step.resources.ResourceType resourceType)booleanresourceExists(String resourceId)Test if a given resource id existsstep.resources.ResourcesaveResource(step.resources.Resource resource)Saved the resource object onlystep.resources.ResourcesaveResourceContent(String resourceId, InputStream resourceStream, String resourceFileName)Save the content provided as stream to an existing resource.step.resources.ResourceRevisionsaveResourceRevision(step.resources.ResourceRevision resourceRevision)
-
-
-
Field Detail
-
resourceRootFolder
protected final File resourceRootFolder
-
resourceAccessor
protected final ResourceAccessor resourceAccessor
-
resourceRevisionAccessor
protected final ResourceRevisionAccessor resourceRevisionAccessor
-
logger
protected static final org.slf4j.Logger logger
-
-
Constructor Detail
-
ResourceManagerImpl
public ResourceManagerImpl(File resourceRootFolder, ResourceAccessor resourceAccessor, ResourceRevisionAccessor resourceRevisionAccessor)
-
-
Method Detail
-
registerResourceType
public void registerResourceType(String name, step.resources.ResourceType resourceType)
-
createResourceContainer
public ResourceRevisionContainer createResourceContainer(String resourceType, String resourceFileName) throws IOException
- Specified by:
createResourceContainerin interfaceResourceManager- Throws:
IOException
-
createResource
public step.resources.Resource createResource(String resourceType, InputStream resourceStream, String resourceFileName, boolean checkForDuplicates, step.core.objectenricher.ObjectEnricher objectEnricher) throws IOException, SimilarResourceExistingException, InvalidResourceFormatException
- 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:
IOException- an IOException occurs during the callSimilarResourceExistingException- a similar resource existInvalidResourceFormatException
-
createResource
public step.resources.Resource createResource(String resourceType, boolean isDirectory, InputStream resourceStream, String resourceFileName, boolean checkForDuplicates, step.core.objectenricher.ObjectEnricher objectEnricher) throws IOException, SimilarResourceExistingException, InvalidResourceFormatException
- Specified by:
createResourcein interfaceResourceManager- Throws:
IOExceptionSimilarResourceExistingExceptionInvalidResourceFormatException
-
closeResourceContainer
protected void closeResourceContainer(step.resources.Resource resource, step.resources.ResourceRevision resourceRevision, boolean checkForDuplicates, step.core.objectenricher.ObjectEnricher objectEnricher) throws IOException, SimilarResourceExistingException, InvalidResourceFormatException
-
saveResourceContent
public step.resources.Resource saveResourceContent(String resourceId, InputStream resourceStream, String resourceFileName) throws IOException, InvalidResourceFormatException
Description 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:
IOException- an IOException occurs during the callInvalidResourceFormatException
-
deleteResource
public void deleteResource(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(String resourceId) throws 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:
IOException- an IOException occurs during the call
-
closeResourceRevisionContent
protected void closeResourceRevisionContent(step.resources.Resource resource)
-
getResourceRevisionContent
public ResourceRevisionContentImpl getResourceRevisionContent(String resourceRevisionId) throws IOException
- Specified by:
getResourceRevisionContentin interfaceResourceManager- Throws:
IOException
-
getResourceFile
public ResourceRevisionFileHandle getResourceFile(String resourceId)
- Specified by:
getResourceFilein interfaceResourceManager
-
getResource
public step.resources.Resource getResource(String resourceId)
- Specified by:
getResourcein interfaceResourceManager
-
getResourceRevision
public step.resources.ResourceRevision getResourceRevision(String resourceRevisionId)
- Specified by:
getResourceRevisionin interfaceResourceManager
-
getResourceRevisionFile
protected File getResourceRevisionFile(step.resources.Resource resource, step.resources.ResourceRevision revision)
-
resourceExists
public boolean resourceExists(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 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:
IOException- an IOException occurs during the call
-
saveResourceRevision
public step.resources.ResourceRevision saveResourceRevision(step.resources.ResourceRevision resourceRevision) throws IOException- Specified by:
saveResourceRevisionin interfaceResourceManager- Throws:
IOException
-
getResourcesRootPath
public String getResourcesRootPath()
- Specified by:
getResourcesRootPathin interfaceResourceManager
-
-