Package org.flowable.engine.impl.history
Class CompositeHistoryManager
java.lang.Object
org.flowable.engine.impl.history.CompositeHistoryManager
- All Implemented Interfaces:
HistoryManager
- Author:
- Filip Hrisafov
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addHistoryManager
(HistoryManager historyManager) void
createAttachmentComment
(TaskEntity task, ExecutionEntity processInstance, String attachmentName, boolean create) Creates a new comment to indicate a new attachment has been created or deleted, if history is enabled.void
createGroupIdentityLinkComment
(TaskEntity task, String groupId, String type, boolean create) Creates a new comment to indicate a new groupIdentityLink
has been created or deleted, if history is enabled.void
createHistoricActivityInstance
(ActivityInstance activityInstance) Create new historic activity instance from runtime activity instancevoid
createIdentityLinkComment
(TaskEntity task, String userId, String groupId, String type, boolean create) Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.void
createIdentityLinkComment
(TaskEntity task, String userId, String groupId, String type, boolean create, boolean forceNullUserId) Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.void
createProcessInstanceIdentityLinkComment
(ExecutionEntity processInstance, String userId, String groupId, String type, boolean create) Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.void
createProcessInstanceIdentityLinkComment
(ExecutionEntity processInstance, String userId, String groupId, String type, boolean create, boolean forceNullUserId) Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.void
createUserIdentityLinkComment
(TaskEntity task, String userId, String type, boolean create) Creates a new comment to indicate a new userIdentityLink
has been created or deleted, if history is enabled.void
createUserIdentityLinkComment
(TaskEntity task, String userId, String type, boolean create, boolean forceNullUserId) Creates a new comment to indicate a new userIdentityLink
has been created or deleted, if history is enabled.void
deleteHistoryUserTaskLog
(long logNumber) Delete historic user task log entryfindHistoricActivityInstance
(ExecutionEntity execution, boolean validateEndTimeNull) Finds theHistoricActivityInstanceEntity
that is active in the given execution.boolean
boolean
isHistoryEnabled
(String processDefinitionId) boolean
boolean
isHistoryLevelAtLeast
(HistoryLevel level, String processDefinitionId) void
recordActivityEnd
(ActivityInstance activityInstance) Record the end of an activity, if activity history is enabled.void
recordActivityStart
(ActivityInstance activityInstance) Record the start of an activity, if activity history is enabled.void
recordBulkDeleteProcessInstances
(Collection<String> processInstanceIds) Bulk delete historic process instances by idvoid
recordDeleteHistoricProcessInstancesByProcessDefinitionId
(String processDefinitionId) Deletes historic process instances for a provided process definition idvoid
recordEntityLinkCreated
(EntityLinkEntity entityLink) Record the creation of a newEntityLink
, if audit history is enabled.void
recordEntityLinkDeleted
(EntityLinkEntity entityLink) Record the deletion of aEntityLink
, if audit history is enabledvoid
recordFormPropertiesSubmitted
(ExecutionEntity processInstance, Map<String, String> properties, String taskId, Date createTime) Report form properties submitted, if audit history is enabled.void
recordHistoricDetailVariableCreate
(VariableInstanceEntity variable, ExecutionEntity sourceActivityExecution, boolean useActivityId, String activityInstanceId, Date createTime) Record a variable has been created, if audit history is enabled.void
Record historic task deleted, if audit history is enabled.void
recordHistoricUserTaskLogEntry
(HistoricTaskLogEntryBuilder taskLogEntryBuilder) Record historic user task log entryvoid
recordIdentityLinkCreated
(IdentityLinkEntity identityLink) Record the creation of a newIdentityLink
, if audit history is enabled.void
recordIdentityLinkDeleted
(IdentityLinkEntity identityLink) Record the deletion of aIdentityLink
, if audit history is enabledvoid
recordProcessDefinitionChange
(String processInstanceId, String processDefinitionId) Record a change of the process-definition id of a process instance, if activity history is enabled.void
recordProcessInstanceDeleted
(String processInstanceId, String processDefinitionId, String processTenantId) Deletes a historic process instance and all historic data includedvoid
recordProcessInstanceEnd
(ExecutionEntity processInstance, String deleteReason, String activityId, Date endTime) Record a process-instance ended.void
recordProcessInstanceNameChange
(ExecutionEntity processInstanceExecution, String newName) Record a process-instance name change.void
recordProcessInstanceStart
(ExecutionEntity processInstance) Record a process-instance started and record start-event if activity history is enabled.void
recordTaskCreated
(TaskEntity task, ExecutionEntity execution) Record the creation of a task, if audit history is enabled.void
recordTaskEnd
(TaskEntity task, ExecutionEntity execution, String userId, String deleteReason, Date endTime) Record task as ended, if audit history is enabled.void
recordTaskInfoChange
(TaskEntity taskEntity, String activityInstanceId, Date changeTime) Record task name change, if audit history is enabled.void
recordVariableCreate
(VariableInstanceEntity variable, Date createTime) Record a variable has been created, if audit history is enabled.void
recordVariableRemoved
(VariableInstanceEntity variable) Record a variable has been deleted, if audit history is enabled.void
recordVariableUpdate
(VariableInstanceEntity variable, Date updateTime) Record a variable has been updated, if audit history is enabled.void
updateActivity
(ExecutionEntity executionEntity, String oldActivityId, FlowElement newFlowElement, TaskEntity task, Date updateTime) Synchronize historic data with the current user task executionvoid
updateHistoricActivityInstance
(ActivityInstance activityInstance) Update historic activity instance according to changes done in the runtime activityvoid
updateProcessBusinessKeyInHistory
(ExecutionEntity processInstance) void
updateProcessBusinessStatusInHistory
(ExecutionEntity processInstance) void
updateProcessDefinitionIdInHistory
(ProcessDefinitionEntity processDefinitionEntity, ExecutionEntity processInstance) Record the update of a process definition for historic process instance, task, and activity instance, if history is enabled.
-
Field Details
-
historyManagers
-
-
Constructor Details
-
CompositeHistoryManager
-
-
Method Details
-
isHistoryLevelAtLeast
- Specified by:
isHistoryLevelAtLeast
in interfaceHistoryManager
- Returns:
- true, if the configured history-level is equal to OR set to a higher value than the given level.
-
isHistoryLevelAtLeast
- Specified by:
isHistoryLevelAtLeast
in interfaceHistoryManager
- Returns:
- true, if the configured process definition history-level is equal to OR set to a higher value than the given level.
-
isHistoryEnabled
public boolean isHistoryEnabled()- Specified by:
isHistoryEnabled
in interfaceHistoryManager
- Returns:
- true, if history-level is configured to level other than "none".
-
isHistoryEnabled
- Specified by:
isHistoryEnabled
in interfaceHistoryManager
- Returns:
- true, if process definition history-level is configured to level other than "none".
-
recordProcessInstanceEnd
public void recordProcessInstanceEnd(ExecutionEntity processInstance, String deleteReason, String activityId, Date endTime) Description copied from interface:HistoryManager
Record a process-instance ended. Updates the historic process instance if activity history is enabled.- Specified by:
recordProcessInstanceEnd
in interfaceHistoryManager
-
recordProcessInstanceStart
Description copied from interface:HistoryManager
Record a process-instance started and record start-event if activity history is enabled.- Specified by:
recordProcessInstanceStart
in interfaceHistoryManager
-
recordProcessInstanceNameChange
public void recordProcessInstanceNameChange(ExecutionEntity processInstanceExecution, String newName) Description copied from interface:HistoryManager
Record a process-instance name change.- Specified by:
recordProcessInstanceNameChange
in interfaceHistoryManager
-
recordProcessInstanceDeleted
public void recordProcessInstanceDeleted(String processInstanceId, String processDefinitionId, String processTenantId) Description copied from interface:HistoryManager
Deletes a historic process instance and all historic data included- Specified by:
recordProcessInstanceDeleted
in interfaceHistoryManager
-
recordDeleteHistoricProcessInstancesByProcessDefinitionId
Description copied from interface:HistoryManager
Deletes historic process instances for a provided process definition id- Specified by:
recordDeleteHistoricProcessInstancesByProcessDefinitionId
in interfaceHistoryManager
-
recordBulkDeleteProcessInstances
Description copied from interface:HistoryManager
Bulk delete historic process instances by id- Specified by:
recordBulkDeleteProcessInstances
in interfaceHistoryManager
-
recordActivityStart
Description copied from interface:HistoryManager
Record the start of an activity, if activity history is enabled.- Specified by:
recordActivityStart
in interfaceHistoryManager
- Parameters:
activityInstance
- activity instance template
-
recordActivityEnd
Description copied from interface:HistoryManager
Record the end of an activity, if activity history is enabled.- Specified by:
recordActivityEnd
in interfaceHistoryManager
- Parameters:
activityInstance
- activity instance template
-
findHistoricActivityInstance
public HistoricActivityInstanceEntity findHistoricActivityInstance(ExecutionEntity execution, boolean validateEndTimeNull) Description copied from interface:HistoryManager
Finds theHistoricActivityInstanceEntity
that is active in the given execution.- Specified by:
findHistoricActivityInstance
in interfaceHistoryManager
-
recordProcessDefinitionChange
Description copied from interface:HistoryManager
Record a change of the process-definition id of a process instance, if activity history is enabled.- Specified by:
recordProcessDefinitionChange
in interfaceHistoryManager
-
recordTaskCreated
Description copied from interface:HistoryManager
Record the creation of a task, if audit history is enabled.- Specified by:
recordTaskCreated
in interfaceHistoryManager
-
recordTaskEnd
public void recordTaskEnd(TaskEntity task, ExecutionEntity execution, String userId, String deleteReason, Date endTime) Description copied from interface:HistoryManager
Record task as ended, if audit history is enabled.- Specified by:
recordTaskEnd
in interfaceHistoryManager
-
recordTaskInfoChange
Description copied from interface:HistoryManager
Record task name change, if audit history is enabled.- Specified by:
recordTaskInfoChange
in interfaceHistoryManager
-
recordHistoricTaskDeleted
Description copied from interface:HistoryManager
Record historic task deleted, if audit history is enabled.- Specified by:
recordHistoricTaskDeleted
in interfaceHistoryManager
-
recordVariableCreate
Description copied from interface:HistoryManager
Record a variable has been created, if audit history is enabled.- Specified by:
recordVariableCreate
in interfaceHistoryManager
-
recordHistoricDetailVariableCreate
public void recordHistoricDetailVariableCreate(VariableInstanceEntity variable, ExecutionEntity sourceActivityExecution, boolean useActivityId, String activityInstanceId, Date createTime) Description copied from interface:HistoryManager
Record a variable has been created, if audit history is enabled.- Specified by:
recordHistoricDetailVariableCreate
in interfaceHistoryManager
-
recordVariableUpdate
Description copied from interface:HistoryManager
Record a variable has been updated, if audit history is enabled.- Specified by:
recordVariableUpdate
in interfaceHistoryManager
-
recordVariableRemoved
Description copied from interface:HistoryManager
Record a variable has been deleted, if audit history is enabled.- Specified by:
recordVariableRemoved
in interfaceHistoryManager
-
createIdentityLinkComment
public void createIdentityLinkComment(TaskEntity task, String userId, String groupId, String type, boolean create) Description copied from interface:HistoryManager
Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createIdentityLinkComment
in interfaceHistoryManager
-
createUserIdentityLinkComment
public void createUserIdentityLinkComment(TaskEntity task, String userId, String type, boolean create) Description copied from interface:HistoryManager
Creates a new comment to indicate a new userIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createUserIdentityLinkComment
in interfaceHistoryManager
-
createGroupIdentityLinkComment
public void createGroupIdentityLinkComment(TaskEntity task, String groupId, String type, boolean create) Description copied from interface:HistoryManager
Creates a new comment to indicate a new groupIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createGroupIdentityLinkComment
in interfaceHistoryManager
-
createIdentityLinkComment
public void createIdentityLinkComment(TaskEntity task, String userId, String groupId, String type, boolean create, boolean forceNullUserId) Description copied from interface:HistoryManager
Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createIdentityLinkComment
in interfaceHistoryManager
-
createUserIdentityLinkComment
public void createUserIdentityLinkComment(TaskEntity task, String userId, String type, boolean create, boolean forceNullUserId) Description copied from interface:HistoryManager
Creates a new comment to indicate a new userIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createUserIdentityLinkComment
in interfaceHistoryManager
-
createProcessInstanceIdentityLinkComment
public void createProcessInstanceIdentityLinkComment(ExecutionEntity processInstance, String userId, String groupId, String type, boolean create) Description copied from interface:HistoryManager
Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createProcessInstanceIdentityLinkComment
in interfaceHistoryManager
-
createProcessInstanceIdentityLinkComment
public void createProcessInstanceIdentityLinkComment(ExecutionEntity processInstance, String userId, String groupId, String type, boolean create, boolean forceNullUserId) Description copied from interface:HistoryManager
Creates a new comment to indicate a newIdentityLink
has been created or deleted, if history is enabled.- Specified by:
createProcessInstanceIdentityLinkComment
in interfaceHistoryManager
-
createAttachmentComment
public void createAttachmentComment(TaskEntity task, ExecutionEntity processInstance, String attachmentName, boolean create) Description copied from interface:HistoryManager
Creates a new comment to indicate a new attachment has been created or deleted, if history is enabled.- Specified by:
createAttachmentComment
in interfaceHistoryManager
-
recordFormPropertiesSubmitted
public void recordFormPropertiesSubmitted(ExecutionEntity processInstance, Map<String, String> properties, String taskId, Date createTime) Description copied from interface:HistoryManager
Report form properties submitted, if audit history is enabled.- Specified by:
recordFormPropertiesSubmitted
in interfaceHistoryManager
-
recordIdentityLinkCreated
Description copied from interface:HistoryManager
Record the creation of a newIdentityLink
, if audit history is enabled.- Specified by:
recordIdentityLinkCreated
in interfaceHistoryManager
-
recordIdentityLinkDeleted
Description copied from interface:HistoryManager
Record the deletion of aIdentityLink
, if audit history is enabled- Specified by:
recordIdentityLinkDeleted
in interfaceHistoryManager
-
recordEntityLinkCreated
Description copied from interface:HistoryManager
Record the creation of a newEntityLink
, if audit history is enabled.- Specified by:
recordEntityLinkCreated
in interfaceHistoryManager
-
recordEntityLinkDeleted
Description copied from interface:HistoryManager
Record the deletion of aEntityLink
, if audit history is enabled- Specified by:
recordEntityLinkDeleted
in interfaceHistoryManager
-
updateProcessBusinessKeyInHistory
- Specified by:
updateProcessBusinessKeyInHistory
in interfaceHistoryManager
-
updateProcessBusinessStatusInHistory
- Specified by:
updateProcessBusinessStatusInHistory
in interfaceHistoryManager
-
updateProcessDefinitionIdInHistory
public void updateProcessDefinitionIdInHistory(ProcessDefinitionEntity processDefinitionEntity, ExecutionEntity processInstance) Description copied from interface:HistoryManager
Record the update of a process definition for historic process instance, task, and activity instance, if history is enabled.- Specified by:
updateProcessDefinitionIdInHistory
in interfaceHistoryManager
-
updateActivity
public void updateActivity(ExecutionEntity executionEntity, String oldActivityId, FlowElement newFlowElement, TaskEntity task, Date updateTime) Description copied from interface:HistoryManager
Synchronize historic data with the current user task execution- Specified by:
updateActivity
in interfaceHistoryManager
- Parameters:
executionEntity
- entity which executes user taskoldActivityId
- previous activityIdnewFlowElement
- new flowElementtask
- new user task
-
updateHistoricActivityInstance
Description copied from interface:HistoryManager
Update historic activity instance according to changes done in the runtime activity- Specified by:
updateHistoricActivityInstance
in interfaceHistoryManager
-
createHistoricActivityInstance
Description copied from interface:HistoryManager
Create new historic activity instance from runtime activity instance- Specified by:
createHistoricActivityInstance
in interfaceHistoryManager
- Parameters:
activityInstance
- activity instance template
-
recordHistoricUserTaskLogEntry
Description copied from interface:HistoryManager
Record historic user task log entry- Specified by:
recordHistoricUserTaskLogEntry
in interfaceHistoryManager
- Parameters:
taskLogEntryBuilder
- historic user task log entry description
-
deleteHistoryUserTaskLog
public void deleteHistoryUserTaskLog(long logNumber) Description copied from interface:HistoryManager
Delete historic user task log entry- Specified by:
deleteHistoryUserTaskLog
in interfaceHistoryManager
- Parameters:
logNumber
- log identifier
-
addHistoryManager
-