Class WorkspaceProcessDataManagement
- java.lang.Object
-
- fr.gouv.vitam.processing.data.core.management.WorkspaceProcessDataManagement
-
- All Implemented Interfaces:
ProcessDataManagement
public class WorkspaceProcessDataManagement extends java.lang.Object implements ProcessDataManagement
Workspace implemenation for workflows datas management
-
-
Field Summary
-
Fields inherited from interface fr.gouv.vitam.processing.data.core.management.ProcessDataManagement
DISTRIBUTOR_INDEX, PROCESS_CONTAINER
-
-
Constructor Summary
Constructors Constructor Description WorkspaceProcessDataManagement(WorkspaceClientFactory workspaceClientFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
createFolder(java.lang.String folderName)
Create a folder with the name {folderName} if does not exist on the process containerboolean
createProcessContainer()
Create the process container (initialisation) if does not existjava.util.Optional<DistributorIndex>
getDistributorIndex(java.lang.String fileName)
static ProcessDataManagement
getInstance()
Get the current instanceProcessWorkflow
getProcessWorkflow(java.lang.String folderName, java.lang.String asyncId)
Retrieve a workflow instance on process containerjava.util.Map<java.lang.String,ProcessWorkflow>
getProcessWorkflowFor(java.lang.Integer tenantId, java.lang.String folderName)
Get process workflow map for tenantId and folderName (server id from serverIdentity)boolean
isFolderExist(java.lang.String folderName)
Check if the folder with name {folderName} exists on process containerboolean
isProcessContainerExist()
Check if the process container existsvoid
persistDistributorIndex(java.lang.String fileName, DistributorIndex distributorIndex)
void
persistProcessWorkflow(java.lang.String folderName, ProcessWorkflow processWorkflow)
Put process workflow instance in workspaceboolean
removeFolder(java.lang.String folderName)
Delete folder with name {folderName} if exists on process containerboolean
removeOperationContainer(ProcessWorkflow processWorkflow, WorkspaceClientFactory workspaceClientFactory)
void
removeProcessWorkflow(java.lang.String folderName, java.lang.String asyncId)
Delete process workflow from the workspace
-
-
-
Constructor Detail
-
WorkspaceProcessDataManagement
public WorkspaceProcessDataManagement(WorkspaceClientFactory workspaceClientFactory)
-
-
Method Detail
-
getInstance
public static ProcessDataManagement getInstance()
Get the current instance- Returns:
- the current instance
-
createProcessContainer
public boolean createProcessContainer() throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Create the process container (initialisation) if does not exist- Specified by:
createProcessContainer
in interfaceProcessDataManagement
- Returns:
- true if the container was created, false if it already exists
- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
isProcessContainerExist
public boolean isProcessContainerExist() throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Check if the process container exists- Specified by:
isProcessContainerExist
in interfaceProcessDataManagement
- Returns:
- true if the container exists, false otherwise
- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
createFolder
public boolean createFolder(java.lang.String folderName) throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Create a folder with the name {folderName} if does not exist on the process container- Specified by:
createFolder
in interfaceProcessDataManagement
- Parameters:
folderName
- the name of the folder to create- Returns:
- true if the folder was created, false if it already exists
- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
isFolderExist
public boolean isFolderExist(java.lang.String folderName) throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Check if the folder with name {folderName} exists on process container- Specified by:
isFolderExist
in interfaceProcessDataManagement
- Parameters:
folderName
- the folder name to check- Returns:
- true if folder exists on process container, false otherwise
- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
removeFolder
public boolean removeFolder(java.lang.String folderName) throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Delete folder with name {folderName} if exists on process container- Specified by:
removeFolder
in interfaceProcessDataManagement
- Parameters:
folderName
- the folderName to delete- Returns:
- true if the folder was removed, false if it does not exist
- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
persistProcessWorkflow
public void persistProcessWorkflow(java.lang.String folderName, ProcessWorkflow processWorkflow) throws ProcessingStorageWorkspaceException, InvalidParseOperationException
Description copied from interface:ProcessDataManagement
Put process workflow instance in workspace- Specified by:
persistProcessWorkflow
in interfaceProcessDataManagement
- Parameters:
folderName
- the folder to put workflow instance on process containerprocessWorkflow
- the instance to save- Throws:
ProcessingStorageWorkspaceException
- when storage error occursInvalidParseOperationException
- when serializing object to json fail
-
persistDistributorIndex
public void persistDistributorIndex(java.lang.String fileName, DistributorIndex distributorIndex) throws ProcessingStorageWorkspaceException, InvalidParseOperationException
- Specified by:
persistDistributorIndex
in interfaceProcessDataManagement
- Throws:
ProcessingStorageWorkspaceException
InvalidParseOperationException
-
getDistributorIndex
public java.util.Optional<DistributorIndex> getDistributorIndex(java.lang.String fileName) throws ProcessingStorageWorkspaceException, InvalidParseOperationException
- Specified by:
getDistributorIndex
in interfaceProcessDataManagement
- Throws:
ProcessingStorageWorkspaceException
InvalidParseOperationException
-
getProcessWorkflow
public ProcessWorkflow getProcessWorkflow(java.lang.String folderName, java.lang.String asyncId) throws ProcessingStorageWorkspaceException, InvalidParseOperationException
Description copied from interface:ProcessDataManagement
Retrieve a workflow instance on process container- Specified by:
getProcessWorkflow
in interfaceProcessDataManagement
- Parameters:
folderName
- the folder on process container to get workflow instanceasyncId
- the request id (asynchronous id)- Returns:
- the workflow instance
- Throws:
ProcessingStorageWorkspaceException
- when storage error occursInvalidParseOperationException
- when deserializing object to json fail
-
removeProcessWorkflow
public void removeProcessWorkflow(java.lang.String folderName, java.lang.String asyncId) throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Delete process workflow from the workspace- Specified by:
removeProcessWorkflow
in interfaceProcessDataManagement
- Parameters:
folderName
- the folder on process container to remove workflow instanceasyncId
- the request id (asynchronous id)- Throws:
ProcessingStorageWorkspaceException
- when storage error occurs
-
getProcessWorkflowFor
public java.util.Map<java.lang.String,ProcessWorkflow> getProcessWorkflowFor(java.lang.Integer tenantId, java.lang.String folderName) throws ProcessingStorageWorkspaceException
Description copied from interface:ProcessDataManagement
Get process workflow map for tenantId and folderName (server id from serverIdentity)- Specified by:
getProcessWorkflowFor
in interfaceProcessDataManagement
- Parameters:
tenantId
- the tenant IDfolderName
- the folder name (server id from serverIdentity)- Returns:
- map of tenantID process for a server id
- Throws:
ProcessingStorageWorkspaceException
- thrown if an error ocurred when loading process file
-
removeOperationContainer
public boolean removeOperationContainer(ProcessWorkflow processWorkflow, WorkspaceClientFactory workspaceClientFactory)
- Specified by:
removeOperationContainer
in interfaceProcessDataManagement
-
-