Package de.xima.fc.workflow.converter
Class WorkflowPersistHelper
- java.lang.Object
-
- de.xima.fc.workflow.converter.WorkflowPersistHelper
-
public final class WorkflowPersistHelper extends Object
Helper methods for serializing / deserializing a workflow version.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
createCustomBackupDataJson(List<WorkflowStateModel> states)
static FlowchartSnapshot
createFlowchartSnapshot(Mandant client, Locale locale, WorkflowVersion workflowVersion)
Creates a flowchart snapshot that represents the given workflow version.static FlowchartSnapshot
createFlowchartSnapshot(ProcessModel processModel, Map<ElementKey,com.alibaba.fastjson.JSONObject> customParamsMap, List<WorkflowStateModel> stateList)
Creates a flowchart snapshot that represents the given process and state list.static void
createNewBackup(IEntityContext ec, Mandant client, Locale locale, WorkflowVersion workflowVersion)
Creates and persist a new backup for the given workflow version.static FlowchartSnapshot
loadSnapshotForBackup(IEntityContext ec, WorkflowVersionBackup backup)
static FlowchartSnapshot
loadSnapshotForPersisted(Mandant client, Locale locale, long workflowVersionId)
Loads the given workflow version from the database and creates a snapshot for that version.
-
-
-
Method Detail
-
createCustomBackupDataJson
public static String createCustomBackupDataJson(List<WorkflowStateModel> states) throws FastJsonException
- Parameters:
states
- Workflow states for the custom backup data.- Returns:
- The custom data for the
FlowchartBase.getBackupCustomDataProvider()
- Throws:
FastJsonException
- When the data could not be serialized into JSON.
-
createFlowchartSnapshot
public static FlowchartSnapshot createFlowchartSnapshot(Mandant client, Locale locale, WorkflowVersion workflowVersion) throws FastJsonException
Creates a flowchart snapshot that represents the given workflow version. This snapshot can be used to load the workflow state later on.- Parameters:
client
- Current client of the version being edited.locale
- Current locale of the logged in user.workflowVersion
- Workflow version for which to create a backup.- Returns:
- A new snapshot with the data from the given workflow version.
- Throws:
FastJsonException
- When the workflow version could not be serialized.
-
createFlowchartSnapshot
public static FlowchartSnapshot createFlowchartSnapshot(ProcessModel processModel, Map<ElementKey,com.alibaba.fastjson.JSONObject> customParamsMap, List<WorkflowStateModel> stateList) throws FastJsonException
Creates a flowchart snapshot that represents the given process and state list. This snapshot can be used to load the workflow state later on.- Parameters:
processModel
- Process model for the flowchart.customParamsMap
- Map with the model data for the flowchart elements.stateList
- List of workflow states to save.- Returns:
- A new snapshot with the data from the given workflow version.
- Throws:
FastJsonException
- When the workflow version could not be serialized.
-
createNewBackup
public static void createNewBackup(IEntityContext ec, Mandant client, Locale locale, WorkflowVersion workflowVersion) throws FastJsonException
Creates and persist a new backup for the given workflow version.- Parameters:
ec
- Current entity context for accessing the database.client
- Current client of the version being edited.locale
- Current locale of the logged in user.workflowVersion
- Workflow version for which to create a backup.- Throws:
FastJsonException
- When the workflow version could not be serialized.
-
loadSnapshotForBackup
public static FlowchartSnapshot loadSnapshotForBackup(IEntityContext ec, WorkflowVersionBackup backup) throws FastJsonException
- Parameters:
ec
- Current entity context for accessing the database.backup
- Backup to process- Returns:
- The snapshot corresponding to the given backup,
null
when not found. - Throws:
FastJsonException
- When the persist JSON could not be deserialized.
-
loadSnapshotForPersisted
public static FlowchartSnapshot loadSnapshotForPersisted(Mandant client, Locale locale, long workflowVersionId) throws FastJsonException
Loads the given workflow version from the database and creates a snapshot for that version.- Parameters:
client
- Current client of the designer.locale
- Current locale of the designer.workflowVersionId
- ID of the workflow version to load.- Returns:
- A newly created snapshot with the data of the given workflow version.
- Throws:
FastJsonException
- When the JSON for the flowchart snapshot could not be created.
-
-