Search in sources :

Example 1 with HistoricJPAEntityListVariableType

use of org.activiti.engine.impl.variable.HistoricJPAEntityListVariableType in project Activiti by Activiti.

the class HistoricDetailQueryImpl method executeList.

public List<HistoricDetail> executeList(CommandContext commandContext, Page page) {
    checkQueryOk();
    List<HistoricDetail> historicDetails = commandContext.getHistoricDetailEntityManager().findHistoricDetailsByQueryCriteria(this, page);
    HistoricDetailVariableInstanceUpdateEntity varUpdate = null;
    if (historicDetails != null) {
        for (HistoricDetail historicDetail : historicDetails) {
            if (historicDetail instanceof HistoricDetailVariableInstanceUpdateEntity) {
                varUpdate = (HistoricDetailVariableInstanceUpdateEntity) historicDetail;
                // Touch byte-array to ensure initialized inside context
                // TODO there should be a generic way to initialize variable values
                varUpdate.getBytes();
                // cached value
                if (varUpdate.getVariableType() instanceof JPAEntityVariableType) {
                    // Use HistoricJPAEntityVariableType to force caching of value to return from query
                    varUpdate.setVariableType(HistoricJPAEntityVariableType.getSharedInstance());
                    varUpdate.getValue();
                } else if (varUpdate.getVariableType() instanceof JPAEntityListVariableType) {
                    // Use HistoricJPAEntityListVariableType to force caching of list to return from query
                    varUpdate.setVariableType(HistoricJPAEntityListVariableType.getSharedInstance());
                    varUpdate.getValue();
                }
            }
        }
    }
    return historicDetails;
}
Also used : HistoricDetail(org.activiti.engine.history.HistoricDetail) HistoricJPAEntityVariableType(org.activiti.engine.impl.variable.HistoricJPAEntityVariableType) JPAEntityVariableType(org.activiti.engine.impl.variable.JPAEntityVariableType) HistoricJPAEntityListVariableType(org.activiti.engine.impl.variable.HistoricJPAEntityListVariableType) JPAEntityListVariableType(org.activiti.engine.impl.variable.JPAEntityListVariableType) HistoricDetailVariableInstanceUpdateEntity(org.activiti.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity)

Aggregations

HistoricDetail (org.activiti.engine.history.HistoricDetail)1 HistoricDetailVariableInstanceUpdateEntity (org.activiti.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity)1 HistoricJPAEntityListVariableType (org.activiti.engine.impl.variable.HistoricJPAEntityListVariableType)1 HistoricJPAEntityVariableType (org.activiti.engine.impl.variable.HistoricJPAEntityVariableType)1 JPAEntityListVariableType (org.activiti.engine.impl.variable.JPAEntityListVariableType)1 JPAEntityVariableType (org.activiti.engine.impl.variable.JPAEntityVariableType)1