Class DataObjectInstanceVariableContainerEntitySession
java.lang.Object
com.flowable.dataobject.engine.impl.runtime.datasource.DataObjectInstanceVariableContainerEntitySession
- All Implemented Interfaces:
org.flowable.common.engine.impl.interceptor.Session
public class DataObjectInstanceVariableContainerEntitySession
extends java.lang.Object
implements org.flowable.common.engine.impl.interceptor.Session
- Author:
- Filip Hrisafov
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,java.util.Collection<org.flowable.variable.service.impl.persistence.entity.VariableInstanceEntity>>>cachedDefinitionIdDataObjectIdValueFieldsprotected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,CachedDataObjectInstanceVariableContainer>>cachedObjectsprotected DataObjectRepositoryServicedataObjectRepositoryServiceprotected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,DataObjectInstanceVariableContainer>>deletedObjectsprotected static org.slf4j.LoggerLOGGERprotected DataObjectOperationsserviceRegistryDataObjectOperationsprotected java.util.List<DataObjectInstanceVariableContainer>updatedObjectsprotected java.util.Set<org.flowable.variable.service.impl.persistence.entity.VariableInstanceEntity>variablesToUpdate -
Constructor Summary
Constructors Constructor Description DataObjectInstanceVariableContainerEntitySession(DataObjectRepositoryService dataObjectRepositoryService, DataObjectOperations serviceRegistryDataObjectOperations) -
Method Summary
Modifier and Type Method Description voidclose()protected voiddebugFlush()voiddelete(DataObjectInstanceVariableContainer entity)voiddetermineUpdatedObjects()DataObjectInstanceVariableContainerfindByDataAndDefinitionId(java.util.Map<java.lang.String,java.lang.Object> data, java.lang.String definitionId)DataObjectInstanceVariableContainerfindByIdAndDefinitionId(java.lang.String id, java.lang.String definitionId)voidflush()protected voidflushDeleteEntities(java.lang.String definitionId, java.util.Collection<DataObjectInstanceVariableContainer> entities)protected voidflushDeletes()protected voidflushInsertEntities(java.lang.String definitionId, java.util.Collection<DataObjectInstanceVariableContainer> entities)protected voidflushUpdates()protected voidflushVariableUpdates()protected DataObjectDefinitiongetDataObjectDefinitionByDefinitionId(java.lang.String definitionId)protected DataObjectModelgetDataObjectModelByDefinitionId(java.lang.String definitionId)voidinsert(DataObjectInstanceVariableContainer entity)booleanisEntityToBeDeleted(DataObjectInstanceVariableContainer entity)CachedDataObjectInstanceVariableContainerputInCache(DataObjectInstanceVariableContainer entity, boolean storeState)voidputInCacheIfMissing(DataObjectInstanceVariableContainer dataObjectInstance)voidputInCacheIfMissing(DataObjectInstanceVariableContainer dataObjectInstance, org.flowable.variable.api.types.ValueFields valueFields)protected voidremoveUnnecessaryOperations()Clears all deleted and inserted objects from the cache, and removes inserts and deletes that cancel each other.protected DataObjectInstanceVariableContainerselectById(java.lang.String id, java.lang.String definitionId)voidupdate(DataObjectInstanceVariableContainer entity)
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
dataObjectRepositoryService
-
serviceRegistryDataObjectOperations
-
deletedObjects
protected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,DataObjectInstanceVariableContainer>> deletedObjects -
updatedObjects
-
cachedDefinitionIdDataObjectIdValueFields
protected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,java.util.Collection<org.flowable.variable.service.impl.persistence.entity.VariableInstanceEntity>>> cachedDefinitionIdDataObjectIdValueFields -
variablesToUpdate
protected java.util.Set<org.flowable.variable.service.impl.persistence.entity.VariableInstanceEntity> variablesToUpdate -
cachedObjects
protected java.util.Map<java.lang.String,java.util.Map<java.lang.Object,CachedDataObjectInstanceVariableContainer>> cachedObjects
-
-
Constructor Details
-
DataObjectInstanceVariableContainerEntitySession
public DataObjectInstanceVariableContainerEntitySession(DataObjectRepositoryService dataObjectRepositoryService, DataObjectOperations serviceRegistryDataObjectOperations)
-
-
Method Details
-
insert
-
update
-
delete
-
findByIdAndDefinitionId
public DataObjectInstanceVariableContainer findByIdAndDefinitionId(java.lang.String id, java.lang.String definitionId) -
findByDataAndDefinitionId
public DataObjectInstanceVariableContainer findByDataAndDefinitionId(java.util.Map<java.lang.String,java.lang.Object> data, java.lang.String definitionId) -
selectById
protected DataObjectInstanceVariableContainer selectById(java.lang.String id, java.lang.String definitionId) -
putInCacheIfMissing
-
putInCacheIfMissing
public void putInCacheIfMissing(DataObjectInstanceVariableContainer dataObjectInstance, org.flowable.variable.api.types.ValueFields valueFields) -
putInCache
public CachedDataObjectInstanceVariableContainer putInCache(DataObjectInstanceVariableContainer entity, boolean storeState) -
flush
public void flush()- Specified by:
flushin interfaceorg.flowable.common.engine.impl.interceptor.Session
-
determineUpdatedObjects
public void determineUpdatedObjects() -
removeUnnecessaryOperations
protected void removeUnnecessaryOperations()Clears all deleted and inserted objects from the cache, and removes inserts and deletes that cancel each other.Also removes deletes with duplicate ids.
-
flushVariableUpdates
protected void flushVariableUpdates() -
isEntityToBeDeleted
-
debugFlush
protected void debugFlush() -
flushInsertEntities
protected void flushInsertEntities(java.lang.String definitionId, java.util.Collection<DataObjectInstanceVariableContainer> entities) -
flushUpdates
protected void flushUpdates() -
flushDeletes
protected void flushDeletes() -
flushDeleteEntities
protected void flushDeleteEntities(java.lang.String definitionId, java.util.Collection<DataObjectInstanceVariableContainer> entities) -
close
public void close()- Specified by:
closein interfaceorg.flowable.common.engine.impl.interceptor.Session
-
getDataObjectModelByDefinitionId
-
getDataObjectDefinitionByDefinitionId
protected DataObjectDefinition getDataObjectDefinitionByDefinitionId(java.lang.String definitionId)
-